Recensement Mairie
Nous avons créé une base de données Habitant que nous avions configuré dans notre fichier env ce qui ressemble à :
DATABASE_URL=mysql://root:[email protected]:3306/Habitant?serverVersion=8.0
Donc pour un bon fonctionnement:
- Assurez-vous d'avoir une base de données avec une table
Recensement - Pour accéder à la page d'accueil il faut déjà lancer le serveur symfony
symfony server:start- Et vous pouvez aussi recompiler le projet en utilisant :
npm run dev - la page d'accueil est gérée par le controller :
controler/reactc'est :https://127.0.0.1:8000/controler/react- ça vous renvoie directement à la page d'accueil
-Sur la page d'accueil vous avez :
- Un formulaire
- Un tableau qui liste les habitants
- Un champ pour chercher un habitant
- Un bouton pour supprimer un habitant
- Un bouton pour modifié les information de l'habitant
-
si vous rencontrez une erreur pendant l'exécution de la commande
npm run devqui ditsh: 1: encore: not foundveuillez suivre cette demarche : -
Dans la racine du projet vous faîtes
composer require symfony/webpack-encore-bundleexport PATH="./node_modules/.bin:$PATH"npm install --save-dev @symfony/webpack-encore
-
NB: pour nettoyer le projet en supprimant le cache :
-
npm run buildà faire toujours dans le courant de votre projet
disponible dans la branche main ou final
Pour ce projet nous avons 7 contrôleurs React :
- AccueilController
- addHabitantController
- AuthentificationController
-
DeleteHabitant - hoHabitantController
-
UpdateHabitantController
- Au niveau du contrôleur Accueil :
Ce contrôleur donne fenêtre de connexion qui prend deux champs
- Identifiant
- Password
Pour les personnes habilitées nous trouvons les identifiants et mot de passe dans la table login. Il faut savoir nous n’avons pas créé un espace dans l’application pour ajouter les personnes habilitées dans la base nous avons pris le cas l’admin soit habilité pour ajouter les personnes habilitées dans la base depuis une requête SQL du genre
INSERT INTO login(identifiant, mot_de_passe) values(‘phao’,’phaonouveau0’)
Après on pouvait aussi créer un formulaire pour ajouter les personnes habilitées mais ce n'était pas notre première approche.
• Donc il faut noter que sans la migration de la base login vous ne pouvez pas vous connecter pour test l’app donc assurez-vous que pour la migration de la chaine de connexion depuis .env soit configurée selon base MySQL c’est-à-dire nom de la base et mot de passe commande pour la migration de notre base de données :
De préférence faites directement la deuxième commande car la première regenère une nouvelle config datée qui fera objet d'un conflit avec un fichier déjà existant mais pas avec la même date.
Vous devrez donc supprimer l'ancienne entity voilà pourquoi c'est préférable d'executer directement la commande 2
php bin/console make:migrationphp bin/console doctrine:migrations:migrate- Acceptez les conditions de migration [yes]
• Pour notre cas nous avons une base Habitant et table recensement et mot de passe nous avons mis simplement motdepasse
Au niveau de notre formulaire de connexion le bouton connexion appelle le contrôleur Authentification
Nb : si votre chaine de connexion est bien configurée vous aurez :
--> Une base Habitant avec tableau recensement avec colonne (prénom, nom, email, date_de_naisance, telephone, genre)
--> Une table login qui a deux colonnes (identifiant, mot_de_passe)
- Contrôleur Authentification :
Ce contrôleur Authentification à pour but de faire une requête au niveau de la base de données login pour vérifier que la personne qui tente de se connecter existe bien dans la base sinon on retourne une exception erreur de l’envoi de notre formulaire.
Response('Identifiant ou mot de passe incorrect.', Response::HTTP_UNAUTHORIZED);Sinon on charge notre pas qui permet de lister nos habitants et modifier les données dans notre tablerecensementDonc notre algo donne : - Lancer server Symfony : symfony server :start
- Au niveau du navigateur utiliser contrôler accueil :
http://localhost:8000/accueil - L’app vous demande de vous connecter
- Si Identifiant et mot de passe correct vous passer dans la fenêtre qui vous permet de faire de manipulation sur le tableau
recensement