TP – Projet DCSPompiers (Travail en groupe)
Objectif : collaborer en équipe sur un projet PHP existant en appliquant les bonnes pratiques de Git, GitHub, PSR12, et documentation de code.
Dépôt de référence : https://github.com/SebInfo/DCSPompiers
Organisation GitHub du travail
Revoir le cours partie 4/4 de Git
- Un seul étudiant par groupe fork le dépôt du professeur (branche
main). - Il ajoute ses camarades comme collaborateurs sur le fork (Settings → Collaborators → Add people).
- Chaque membre clone le fork du groupe sur sa machine via VS Code :
git clone https://github.com/<nom-du-groupe>/DCSPompiers.git - Chaque membre travaille sur une branche personnelle (ex.
feature-affectation,bugfix-photo,sinistre-engins). - Les branches sont fusionnées par pull request interne dans le fork du groupe, après relecture.
Remarque : ne travaillez jamais directement sur main.
Travail par groupe
Groupe A – Gestion des Pompiers
- CRUD complet sur Pompier et modification d’une affectation (tout en conservant l’historique).
- Appliquer intégralement la norme PSR12.
- Compléter la documentation de code (DocComment PHP).
- Réusinage du code si nécessaire (amélioration structurelle sans changer la logique fonctionnelle).
- Bonus : ajouter une photo facultative pour chaque pompier (modification de la BDD incluse).
Groupe B – Gestion des Véhicules
- Corriger le bogue lors de la modification d’un véhicule : si aucune nouvelle photo n’est choisie, l’ancienne ne doit pas être supprimée.
- Mettre en place un vrai CRUD sur les Véhicules (et non sur les types de véhicules). Relire le cahier des charges et adapter le code.
- Appliquer intégralement la norme PSR12.
- Compléter la documentation DocComment.
- Réusinage du code si vous le jugez nécessaire.
Groupe C – Gestion des Sinistres (Interventions)
- Déterminer, à partir de la nature d’un sinistre, les types d’engins nécessaires en exploitant l’association
prévoirentreNature.SinetType Engin. - Identifier les habilitations requises pour chaque type d’engin (et compléter le modèle si besoin).
- Appliquer la norme PSR12.
- Compléter la documentation DocComment.
Livrables attendus
-
- Fork GitHub propre, bien nommé (ex.
DCSPompiers-GroupeA). - Pull Requests internes entre les membres du groupe :
- Au moins une PR par fonctionnalité ou correction.
- Discussion / relecture du code dans la PR (commentaires, validation).
- Fusion propre dans la branche
maindu fork. - README.md complété :
- Pull Request finale vers mon dépôt SebInfo :
- Chaque groupe crée une PR unique depuis son fork (
main) vers le dépôt original (maindu professeur). - Le titre de la PR doit indiquer clairement le groupe et le thème (ex. “PR finale – Groupe B – Gestion des Véhicules”).
- La description doit résumer le travail accompli et mentionner les membres du groupe.
- Chaque groupe crée une PR unique depuis son fork (
- README.md
- Conserver intégralement le contenu déjà présent.
- Ajouter à la fin une section spécifique au groupe, intitulée :
## Groupe X – <Thème>. - Indiquer :
- les membres du groupe et leur rôle,
- les fonctionnalités réalisées,
- les corrections apportées,
- les difficultés rencontrées et les pistes d’amélioration.
- Fork GitHub propre, bien nommé (ex.
Ce contenu est réservé aux membres du site. Si vous êtes un utilisateur existant, veuillez vous connecter. Les nouveaux utilisateurs peuvent s'inscrire ci-dessous.