🏊🏊♂️🏊♀️
NS’App v1.0
-- Installation
Notes
Installation
Créer un projet Laravel
composer create-project laravel/laravel ns_back
cd ns_back
Configurer la base de données
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=8889
DB_DATABASE=dbns01
DB_USERNAME=root
DB_PASSWORD=root
php artisan key:generate
php artisan migrate
Activer le routage API _ installe Laravel Sanctum – crée le fichier routes/api.php
Lien : VOIR
php artisan install:api
Lancer le Serveur
php artisan serve
Accès API : http://127.0.0.1:8000/api/ Note : – « . http://127.0.0.1:8000 » : // Vérifier le port qui change parfois et qui peut causer des erreurs : 8000/8001/8002 …etc.
-- SOS Terminal
php artisan db:seed
Ou pour un seul fichier
php artisan make:seeder XyyyTableSeeder
Recommencer à zéro
php artisan migrate:fresh --seed
php artisan config:clear
php artisan cache:clear // Si vous utilisez le cache d'application
php artisan view:clear // Pour vider le cache des vues (Blade)
php artisan route:cache // Pour vider le cache des routes
php artisan bootstrap:cache // Pour vider le cache du bootstrap
Vérifie les routes ont bien été crées
php artisan route:list
Les routes de l’API définies dans le fichier routes/api.php. Avec plusieurs méthodes
Route::get, Route::post, Route::put, Route::delete
Exemple :
Route::get('/users', [UserController::class, 'index']);
Route::post('/users', [UserController::class, 'store']);
Route::get('/users/{id}', [UserController::class, 'show']);
Route::put('/users/{id}', [UserController::class, 'update']);
Route::delete('/users/{id}', [UserController::class, 'destroy']);
-- Documentation de l'API 1
endpoints
paramètres
réponses
odes d’erreur
https://editor.swagger.io
http://localhost:8000/api/documentation
-- Les bonnes pratiques pour la conception de bases de données
Plan
- Noms et prénoms 👥
- Adresses e-mail 📧
- Mots de passe 🔐
- Coordonnées géographiques 🌍
- URL 🌐
- Prix et montants monétaires 💰
- Pseudonymisation des données 🔒
Séance 25/02/2025 13H30 – NG –
how-to-choose-the-best-email-address ## all-you-need-to-know-about-database-design ## Donnees-spatiales-avec-MySQL
La conception efficace d’une base de données est essentielle pour garantir la performance, la sécurité et la maintenabilité des données. En plus des principes généraux abordés précédemment, il est crucial de considérer des pratiques spécifiques pour certains types de données couramment utilisés. Voici des recommandations détaillées pour la gestion de ces données :
Noms et prénoms 👥
Lors de la conception de champs pour les noms et prénoms, il est important de prévoir une longueur suffisante pour accueillir la diversité culturelle et linguistique des noms, tout en optimisant les performances.
- Longueur recommandée : Une limite de 50 à 100 caractères pour les prénoms et les noms de famille est généralement adéquate. Cette plage permet de gérer les noms composés ou issus de différentes cultures sans compromettre l’efficacité du système.
- Normalisation des données : Pour éviter les doublons et les erreurs typographiques, il est conseillé de normaliser les noms en appliquant des règles telles que la conversion en minuscules ou la suppression des accents, selon les besoins spécifiques de l’application.
Adresses e-mail 📧
Le stockage des adresses e-mail nécessite une attention particulière pour assurer leur validité et compatibilité avec les standards internationaux.
- Longueur maximale : Conformément à la norme RFC 5321, une adresse e-mail peut comporter jusqu’à 254 caractères. Cette spécification tient compte de 64 caractères pour la partie locale (avant le symbole « @ ») et de 255 caractères pour le domaine (après « @ »), bien que la somme totale soit limitée à 254 caractères.
- Validation : Avant de stocker une adresse e-mail, il est essentiel de vérifier sa conformité aux standards en utilisant des expressions régulières ou des bibliothèques dédiées. Cette validation prévient les erreurs et garantit l’intégrité des données.
Mots de passe 🔐
La gestion sécurisée des mots de passe est cruciale pour protéger les utilisateurs et les systèmes contre les accès non autorisés.
- Longueur et complexité : Il est recommandé de permettre des mots de passe d’au moins 12 caractères, intégrant une combinaison de lettres majuscules, minuscules, chiffres et caractères spéciaux. Cette complexité réduit le risque de compromission par des attaques par force brute.
- Longueur maximale : Limiter la longueur des mots de passe à 128 caractères offre un équilibre entre sécurité, compatibilité système et performance. Des mots de passe excessivement longs peuvent entraîner des problèmes de compatibilité et des impacts sur les performances lors du hachage et de la vérification.
- Stockage sécurisé : Les mots de passe ne doivent jamais être stockés en clair. Utilisez des algorithmes de hachage robustes tels que bcrypt, scrypt ou Argon2, qui intègrent des mécanismes de salage et d’itération pour renforcer la sécurité.
Coordonnées géographiques 🌍
Le stockage précis des données géographiques est essentiel pour les applications nécessitant des calculs de distance ou des représentations cartographiques.
- Types de données : Utilisez le type
DECIMAL
pour stocker les latitudes et longitudes, ce qui permet une précision adéquate pour la plupart des applications. Par exemple,DECIMAL(9,6)
offre une précision jusqu’à ~0,11 mètre, tandis queDECIMAL(10,8)
affine cette précision à ~1,1 millimètre. - Types spatiaux : Pour des besoins plus avancés, MySQL propose des types de données spatiaux tels que
POINT
, qui permettent de stocker des coordonnées géographiques et d’effectuer des requêtes géospatiales complexes.
URL 🌐
Les URL peuvent varier considérablement en longueur et en complexité, nécessitant une gestion adaptée dans la base de données.
- Type de données : Utilisez
VARCHAR(2048)
pour stocker des URL, cette longueur étant généralement suffisante pour la majorité des cas. - Validation et indexation : Avant de stocker une URL, validez sa structure pour vous assurer qu’elle est bien formée. De plus, l’ajout d’un index sur le champ URL peut améliorer les performances des requêtes, notamment si le champ est fréquemment utilisé dans des filtres ou des recherches.
Prix et montants monétaires 💰
La manipulation de valeurs monétaires requiert une précision rigoureuse pour éviter les erreurs d’arrondi et garantir l’exactitude des transactions financières.
- Type de données : Le type
DECIMAL
est recommandé pour stocker des valeurs monétaires, car il offre une précision fixe. Par exemple,DECIMAL(10,2)
permet de représenter des montants jusqu’à 99 999 999,99, couvrant ainsi une large gamme de valeurs financières. - Considérations supplémentaires : Évitez d’utiliser des types à virgule flottante comme
FLOAT
ouDOUBLE
pour les montants monétaires, car ils peuvent entraîner des imprécisions dues aux représentations binaires des nombres décimaux.
Pseudonymisation des données 🔒
Pour protéger la confidentialité des données sensibles, la pseudonymisation est une technique efficace qui remplace les identifiants directs par des pseudonymes.
- Techniques : Utilisez des méthodes de hachage ou de chiffrement pour transformer les données personnelles en pseudonymes. Assurez-vous que les clés de chiffrement sont gérées de manière sécurisée et que seules les personnes autorisées peuvent accéder aux données originales.
- Conformité : La pseudonymisation aide à se conformer aux réglementations sur la protection des données, telles que le RGPD, en réduisant les risques associés au traitement des données personnelles.
Les bonnes pratiques pour la conception de bases de données
Les bonnes pratiques pour la conception de bases de données
Plan
- Noms et prénoms 👥
- Adresses e-mail 📧
- Mots de passe 🔐
- Coordonnées géographiques 🌍
- URL 🌐
- Prix et montants monétaires 💰
- Pseudonymisation des données 🔒
Séance 25/02/2025 13H30 – NG –
how-to-choose-the-best-email-address ## all-you-need-to-know-about-database-design ## Donnees-spatiales-avec-MySQL
La conception efficace d’une base de données est essentielle pour garantir la performance, la sécurité et la maintenabilité des données. En plus des principes généraux abordés précédemment, il est crucial de considérer des pratiques spécifiques pour certains types de données couramment utilisés. Voici des recommandations détaillées pour la gestion de ces données :
Noms et prénoms 👥
Lors de la conception de champs pour les noms et prénoms, il est important de prévoir une longueur suffisante pour accueillir la diversité culturelle et linguistique des noms, tout en optimisant les performances.
- Longueur recommandée : Une limite de 50 à 100 caractères pour les prénoms et les noms de famille est généralement adéquate. Cette plage permet de gérer les noms composés ou issus de différentes cultures sans compromettre l’efficacité du système.
- Normalisation des données : Pour éviter les doublons et les erreurs typographiques, il est conseillé de normaliser les noms en appliquant des règles telles que la conversion en minuscules ou la suppression des accents, selon les besoins spécifiques de l’application.
Adresses e-mail 📧
Le stockage des adresses e-mail nécessite une attention particulière pour assurer leur validité et compatibilité avec les standards internationaux.
- Longueur maximale : Conformément à la norme RFC 5321, une adresse e-mail peut comporter jusqu’à 254 caractères. Cette spécification tient compte de 64 caractères pour la partie locale (avant le symbole « @ ») et de 255 caractères pour le domaine (après « @ »), bien que la somme totale soit limitée à 254 caractères.
- Validation : Avant de stocker une adresse e-mail, il est essentiel de vérifier sa conformité aux standards en utilisant des expressions régulières ou des bibliothèques dédiées. Cette validation prévient les erreurs et garantit l’intégrité des données.
Mots de passe 🔐
La gestion sécurisée des mots de passe est cruciale pour protéger les utilisateurs et les systèmes contre les accès non autorisés.
- Longueur et complexité : Il est recommandé de permettre des mots de passe d’au moins 12 caractères, intégrant une combinaison de lettres majuscules, minuscules, chiffres et caractères spéciaux. Cette complexité réduit le risque de compromission par des attaques par force brute.
- Longueur maximale : Limiter la longueur des mots de passe à 128 caractères offre un équilibre entre sécurité, compatibilité système et performance. Des mots de passe excessivement longs peuvent entraîner des problèmes de compatibilité et des impacts sur les performances lors du hachage et de la vérification.
- Stockage sécurisé : Les mots de passe ne doivent jamais être stockés en clair. Utilisez des algorithmes de hachage robustes tels que bcrypt, scrypt ou Argon2, qui intègrent des mécanismes de salage et d’itération pour renforcer la sécurité.
Coordonnées géographiques 🌍
Le stockage précis des données géographiques est essentiel pour les applications nécessitant des calculs de distance ou des représentations cartographiques.
- Types de données : Utilisez le type
DECIMAL
pour stocker les latitudes et longitudes, ce qui permet une précision adéquate pour la plupart des applications. Par exemple,DECIMAL(9,6)
offre une précision jusqu’à ~0,11 mètre, tandis queDECIMAL(10,8)
affine cette précision à ~1,1 millimètre. - Types spatiaux : Pour des besoins plus avancés, MySQL propose des types de données spatiaux tels que
POINT
, qui permettent de stocker des coordonnées géographiques et d’effectuer des requêtes géospatiales complexes.
URL 🌐
Les URL peuvent varier considérablement en longueur et en complexité, nécessitant une gestion adaptée dans la base de données.
- Type de données : Utilisez
VARCHAR(2048)
pour stocker des URL, cette longueur étant généralement suffisante pour la majorité des cas. - Validation et indexation : Avant de stocker une URL, validez sa structure pour vous assurer qu’elle est bien formée. De plus, l’ajout d’un index sur le champ URL peut améliorer les performances des requêtes, notamment si le champ est fréquemment utilisé dans des filtres ou des recherches.
Prix et montants monétaires 💰
La manipulation de valeurs monétaires requiert une précision rigoureuse pour éviter les erreurs d’arrondi et garantir l’exactitude des transactions financières.
- Type de données : Le type
DECIMAL
est recommandé pour stocker des valeurs monétaires, car il offre une précision fixe. Par exemple,DECIMAL(10,2)
permet de représenter des montants jusqu’à 99 999 999,99, couvrant ainsi une large gamme de valeurs financières. - Considérations supplémentaires : Évitez d’utiliser des types à virgule flottante comme
FLOAT
ouDOUBLE
pour les montants monétaires, car ils peuvent entraîner des imprécisions dues aux représentations binaires des nombres décimaux.
Pseudonymisation des données 🔒
Pour protéger la confidentialité des données sensibles, la pseudonymisation est une technique efficace qui remplace les identifiants directs par des pseudonymes.
- Techniques : Utilisez des méthodes de hachage ou de chiffrement pour transformer les données personnelles en pseudonymes. Assurez-vous que les clés de chiffrement sont gérées de manière sécurisée et que seules les personnes autorisées peuvent accéder aux données originales.
- Conformité : La pseudonymisation aide à se conformer aux réglementations sur la protection des données, telles que le RGPD, en réduisant les risques associés au traitement des données personnelles.