Ce dépôt sera utilisé comme application web PHP démo à déployer sur le cloud Azure.
Épopée : Gestion des comptes et des profils utilisateurs
En tant qu'utilisateur, je veux créer un compte sur la plateforme pour pouvoir accéder aux fonctionnalités.
Sous-tâches :
Concevoir le formulaire d'inscription avec des champs pour le nom d'utilisateur, l'email, le mot de passe et le rôle.
Implémenter la logique backend pour gérer la soumission et la validation des données utilisateur.
Intégrer le chiffrement des mots de passe pour un stockage sécurisé.
Tester le processus d'inscription pour s'assurer qu'il fonctionne comme prévu.
En tant qu'utilisateur, je veux me connecter à mon compte pour pouvoir accéder à mon profil et aux autres fonctionnalités.
Sous-tâches :
Concevoir le formulaire de connexion avec des champs pour le nom d'utilisateur/email et le mot de passe.
Implémenter la logique d'authentification backend pour vérifier les informations d'identification de l'utilisateur.
Créer des sessions pour maintenir l'état de connexion de l'utilisateur.
Gérer les tentatives de connexion incorrectes avec des messages d'erreur appropriés.
Tester le processus de connexion pour la fonctionnalité et la sécurité.
En tant qu'utilisateur, je veux me déconnecter de mon compte pour sécuriser ma session.
Sous-tâches :
Ajouter une option de déconnexion dans l'interface utilisateur.
Implémenter la logique backend pour détruire les sessions utilisateur lors de la déconnexion.
Rediriger les utilisateurs vers la page d'accueil ou la page de connexion après la déconnexion.
Tester la fonctionnalité de déconnexion pour s'assurer que les sessions sont correctement terminées.
En tant qu'utilisateur, je veux voir un message "Hello World" avec mon nom.
Sous-tâches :
Créer un modèle de message personnalisé.
Récupérer le nom de l'utilisateur à partir des données de session.
Afficher le message "Hello World" avec le nom de l'utilisateur sur la page.
Tester l'affichage du message pour différents scénarios utilisateur.
En tant qu'utilisateur, je veux voir une image aléatoire affichée sur la page.
Sous-tâches :
Sourcer une collection d'images aléatoires à partir d'une API externe.
Implémenter la logique pour sélectionner aléatoirement une image de la collection.
Afficher l'image sélectionnée dans l'interface utilisateur.
Tester la fonctionnalité d'image aléatoire pour s'assurer que différentes images sont affichées à chaque fois.
En tant qu'utilisateur, je veux voir les détails de mon profil tels que le nom d'utilisateur et l'adresse e-mail.
Sous-tâches :
Créer un modèle de page de profil utilisateur.
Implémenter la logique backend pour récupérer les détails de l'utilisateur à partir de la base de données.
Afficher le nom d'utilisateur et l'adresse e-mail de l'utilisateur sur la page de profil.
Tester la page de profil pour s'assurer que les données sont affichées correctement.
En tant qu'administrateur, je veux me connecter à mon compte pour accéder aux fonctionnalités d'administration telles que la visualisation de tous les clients.
Sous-tâches :
Concevoir le formulaire de connexion administrateur avec des champs pour le nom d'utilisateur/email et le mot de passe.
Implémenter la logique d'authentification backend pour les informations d'identification de l'administrateur.
Créer des sessions administrateur pour maintenir l'état de connexion.
Développer le tableau de bord administrateur pour afficher les informations des clients.
Tester les fonctionnalités de connexion et de tableau de bord administrateur pour un contrôle d'accès approprié.
/
├── api/ # Dossier contenant les scripts de points de terminaison API
│ ├── hello-world.php # Point de terminaison API pour les messages Hello World
│ ├── login.php # Point de terminaison API pour la connexion utilisateur
│ ├── logout.php # Point de terminaison API pour la déconnexion utilisateur
│ ├── randomimage.php # Point de terminaison API pour obtenir une image aléatoire
│ ├── signup.php # Point de terminaison API pour l'inscription utilisateur
│ ├── user_details.php # Point de terminaison API pour récupérer les détails de l'utilisateur
│ └── clients.php # Point de terminaison API pour récupérer tous les clients
├── db/ # Dossier contenant les scripts SQL pour la configuration de la base de données
│ ├── 1create.sql # Script SQL pour créer les tables de la base de données
│ ├── 2contraines.sql # Script SQL pour ajouter des contraintes
│ ├── 3insert.sql # Script SQL pour insérer les données initiales dans les tables de la base de données
│ └── db.py # Script Python pour créer, modifier et insérer les données initiales dans les tables de la base de données
├── frontend/ # Dossier contenant les actifs et les pages frontend
│ ├── css/ # Dossier contenant les fichiers CSS
│ │ └── styles.css # Feuille de style principale pour le frontend
│ ├── images/ # Dossier pour stocker les actifs d'image
│ ├── js/ # Dossier contenant les fichiers JavaScript
│ │ └── script.js # Fichier JavaScript principal pour le frontend
│ └── pages/ # Dossier contenant les pages HTML
│ ├── hello-world.html # Page HTML pour la fonctionnalité Hello World
│ ├── index.html # Page HTML pour la page d'accueil
│ ├── admin.html # Page HTML qui voit tous les clients
│ ├── login.html # Page HTML pour le formulaire de connexion
│ ├── random-image.html # Page HTML pour afficher une image aléatoire
│ ├── signup.html # Page HTML pour le formulaire d'inscription
│ └── 404.html # Page HTML pour les erreurs 404 Not Found
├── config.php # Fichier de configuration principal pour le projet
├── router.php # Fichier de routage principal pour la gestion du routage URL
├── routes.php # Fichier définissant les routes pour l'application
├── Dockerfile # Dockerfile pour construire l'image docker
├── docker-compose.yml # Fichier de configuration Docker Compose pour configurer l'environnement de développement
├── nginx.conf # Configuration nginx pour le déploiement Azure
Créez un fichier .env à la racine de votre projet avec le contenu suivant :
- Inspecter les éléments : Cliquez avec le bouton droit sur un élément de la page et sélectionnez "Inspecter".
- Modifier le HTML : Double-cliquez sur un élément HTML pour le modifier.
- Modifier le CSS : Modifiez les styles directement dans le panneau de style.
Fonctionnalités Principales
- Journalisation : Utilisez console.log() pour afficher des messages.
- Exécution de JavaScript : Tapez du code JavaScript et appuyez sur Entrée pour l'exécuter.
- Messages d'erreur : Les erreurs JavaScript apparaissent automatiquement ici.
Fonctionnalités Principales
- Déboguer le code : Ajoutez des points d'arrêt et parcourez le code ligne par ligne.
- Éditeur de fichiers : Modifiez le JavaScript directement dans l'onglet.
Fonctionnalités Principales
- Suivi des requêtes : Visualisez les requêtes HTTP et les réponses.
- Analyse de la performance : Identifiez les requêtes lentes ou échouées.
Fonctionnalités Principales
- Enregistrement de la performance : Capturez et analysez les performances de la page.
- Analyse des animations : Identifiez les problèmes de performance avec les animations.
Fonctionnalités Principales
- Profils de mémoire : Capturez des instantanés de la mémoire pour analyse.
- Détection des fuites : Identifiez les objets qui ne sont pas libérés correctement.
Fonctionnalités Principales
- Gestion du stockage : Visualisez et modifiez le LocalStorage, le SessionStorage, et les cookies.
- Service Workers : Gérez les service workers enregistrés sur votre site.
Fonctionnalités Principales
- Certificats SSL : Vérifiez les informations sur les certificats SSL.
- Sécurité des ressources : Assurez-vous que les ressources sont chargées de manière sécurisée.
Raccourcis Clavier Utiles
Action
Raccourci
Ouvrir/Fermer les DevTools
Ctrl + Shift + I
Basculer le mode responsive
Ctrl + Shift + M
Recharger sans le cache
Ctrl + Shift + R
Ouvrir l'onglet Elements
Ctrl + Shift + C
Ouvrir l'onglet Console
Ctrl + Shift + J
Ouvrir l'onglet Network
Ctrl + Shift + E
Conclusion
Les DevTools sont des outils puissants pour tout développeur web. Apprendre à les utiliser efficacement peut considérablement améliorer votre flux de travail et la qualité de vos projets.
Commencer
Ces instructions vous aideront à configurer et à exécuter le projet sur votre machine locale pour le développement et les tests.
L'adresse IP 10.0.2.2 est une adresse IP spéciale utilisée pour accéder à la machine hôte depuis un émulateur Android. Lorsque vous développez et testez des applications Android avec un émulateur, 10.0.2.2 vous permet de rediriger les requêtes réseau vers votre machine locale, facilitant ainsi les tests d'API locales sans avoir besoin d'un serveur distant.