Leçon 13 / 15

Développer une fonctionnalité sur une branche

25 min Git — branches, revue et historique Gratuit

Objectif : Développer la fonctionnalité « Nouveaux guides » sur sa branche dédiée et enregistrer des commits atomiques.

Une fonctionnalité peut vite déborder de son objectif si vous modifiez plusieurs éléments sans distinguer leur rôle. Vous allez préparer le travail de la branche `feature/nouveaux-guides`, vérifier les changements de la page et de sa feuille de style, puis les enregistrer de façon à faciliter leur revue.

Définir ce qui appartient à la fonctionnalité

Le périmètre du changement décrit les résultats attendus et les fichiers concernés. Ici, les visiteurs doivent pouvoir repérer les guides proposés, lire une courte description et suivre un lien associé. Les fichiers du projet restent `index.html` et `style.css` : n’ajoutez ni nouvelle page, ni script, ni ressource extérieure.

La structure de référence contient déjà la section « Nouveaux guides », sa grille et trois cartes. Dans l’état de votre dépôt, comparez les fichiers à cette structure et ne recréez pas ce qui existe. La leçon porte sur la conduite du changement : sélectionnez uniquement les modifications utiles à la fonctionnalité et conservez les classes et variables prévues par le contrat.

Vérifier les changements avant de les enregistrer

Sur la branche `feature/nouveaux-guides`, inspectez les fichiers modifiés et le diff complet avant de préparer un commit. Vous avez déjà vu le contrôle de l’état du dépôt et la sélection interactive des changements : référez-vous aux leçons « Lire l’état du dépôt et repérer les branches » et « Enregistrer des commits atomiques ».

Examiner le diff et préparer les fichiers concernésTerminal
git diff -- index.html style.css
git add -p index.html
git add -p style.css
git diff --staged

Le premier diff vous aide à repérer les changements réellement nécessaires. La sélection interactive permet de ne préparer que les morceaux liés aux nouveaux guides ; le contrôle de la zone de préparation confirme ensuite ce qui entrera dans le commit. Si un changement sans rapport apparaît, laissez-le hors de cette sélection et traitez-le séparément.

Créer des commits faciles à relire

Lorsque tous les changements préparés contribuent à une même étape cohérente, enregistrez-les avec un message précis. Par exemple, si le commit ajoute la section et ses cartes, un message comme `feat: ajoute la section des nouveaux guides` décrit mieux son contenu qu’un message vague tel que `mise à jour`.

Enregistrer et contrôler un commitTerminal
git commit -m "feat: ajoute la section des nouveaux guides"
git show --stat --oneline HEAD

La commande de contrôle affiche le commit créé, son message et les fichiers concernés. Relisez son contenu et vérifiez que le diff correspond bien à l’intention annoncée ; si plusieurs objectifs indépendants ont été mélangés, corrigez la sélection avant de poursuivre. L’objectif est qu’une personne chargée de la revue puisse comprendre ce que le commit apporte sans deviner.

Répétez cette vérification après chaque étape cohérente, plutôt que de laisser s’accumuler des changements disparates. À la fin, confirmez que la fonctionnalité attendue est présente dans les deux fichiers lorsque des modifications des deux côtés sont nécessaires, et qu’aucune autre partie du site n’a été incluse par inadvertance.

À retenir

  • Gardez le travail dans le périmètre prévu : la section « Nouveaux guides » de la page Sentiers.
  • Ne préparez que les changements utiles à la fonctionnalité dans `index.html` et `style.css`.
  • Contrôlez le diff préparé avant chaque commit.
  • Utilisez des commits cohérents, dont le message décrit clairement l’intention.
  • Vérifiez les commits et les fichiers concernés avant de passer à la préparation de la revue.

La prochaine leçon vous fera parcourir la préparation de la revue et l’intégration du changement.

Envie d'aller plus loin ?

Les cours Enovatic sont gratuits et le resteront. Si vous cherchez un accompagnement encadré, nos formations professionnelles sont animées par les mêmes formateurs.