DEV Community

Cover image for Boostez votre productivitĂ© avec les hooks Git ! 🚀
HereBuggedOut
HereBuggedOut

Posted on

Boostez votre productivitĂ© avec les hooks Git ! 🚀

Chaque bug en production coûte cher et chaque erreur évitable fait perdre un temps précieux. Pourtant, il existe une solution simple pour automatiser les bonnes pratiques et garantir un code de qualité : les hooks Git.

Imaginez-les comme des arbitres de football âšœ, toujours attentifs Ă  la moindre faute... ou plutĂŽt, au moindre code douteux .

Pourquoi les Git hooks sont-ils comme les arbitres de football ?
Parce qu'ils sifflent les fautes, avant mĂȘme que le ballon ne dĂ©passe la ligne! đŸ„ł

Image description

Les hooks Git permettent d’exĂ©cuter des scripts Ă  diffĂ©rents moments du workflow Git pour prĂ©venir les erreurs, assurer la cohĂ©rence du code et renforcer la sĂ©curitĂ©.

đŸ”č Pre-commit : VĂ©rifie et corrige le code avant qu’il ne soit validĂ©.
đŸ”č Commit-msg : Applique un formatage strict aux messages de commit.
đŸ”č Pre-push : ExĂ©cute des tests et bloque le push si des erreurs sont dĂ©tectĂ©es.

Avec ces hooks, vous pouvez automatiser les vĂ©rifications essentielles et garantir un code propre avant mĂȘme qu'il n'atteigne votre dĂ©pĂŽt distant.

💰 BĂ©nĂ©fices financiers

Image description

✅ DĂ©tection en amont des erreurs
Un hook pre-commit peut empĂȘcher de committer du code qui ne compile pas ou qui contient des erreurs Ă©videntes.

✅ Moins de corrections manuelles
Formatage automatique avec Prettier ou ESLint, suppression des espaces inutiles... un hook pre-commit peut éviter du travail répétitif.

✅ CohĂ©rence du code
Un hook commit-msg peut imposer un format standardisĂ© pour les messages de commit, rendant l’historique Git plus lisible et exploitable.

✅ AmĂ©lioration de la sĂ©curitĂ©
Les hooks peuvent empĂȘcher les commits accidentels contenant des informations sensibles comme des mots de passe ou clĂ©s API.

✅ Optimisation des pipelines CI/CD
Un hook pre-push peut exécuter des tests en local et bloquer un push si le build échoue, réduisant ainsi les exécutions inutiles de pipelines et les coûts associés

đŸ› ïž QualitĂ© du code et fiabilitĂ©

Image description

✅ EmpĂȘcher les commits de code cassĂ©
Avec un hook pre-commit, vous Ă©vitez d’enregistrer du code non fonctionnel dans l’historique Git.

✅ Éviter les erreurs courantes
Un pre-commit peut supprimer automatiquement les console.log avant validation.

✅ Appliquer un formatage standard
Un hook commit-msg garantit que tous les messages de commit respectent une convention, comme Conventional Commits.

✅ Faciliter la collaboration
Les hooks assurent que tous les dĂ©veloppeurs appliquent les mĂȘmes rĂšgles automatiquement, Ă©vitant les oublis et les erreurs humaines.

đŸ”„ Exemples pratiques

Image description

🛑 Filtrage des console.log

Image description
Un hook pre-commit peut détecter et bloquer les commits contenant des console.log, garantissant ainsi un code plus propre en production.

🎹 Application automatique du formatage du code

Image description
Un hook pre-commit peut s'exĂ©cuter un formateur comme Prettier ou ESLint pour corriger l’indentation et l’espacement avant chaque commit.

🔐 EmpĂȘcher l’exposition accidentelle de secrets
Image description

Un hook pre-commit ou pre-push peut scanner le code Ă  la recherche de clĂ©s API ou de mots de passe en clair et empĂȘcher leur commit.

🚧 Bloquer un push si le build Ă©choue
Un hook pre-push peut ĂȘtre configurĂ© pour exĂ©cuter des tests ou compiler le projet avant d’autoriser le push. Si le build Ă©choue, le push est bloquĂ©, empĂȘchant ainsi du code cassĂ© d’atteindre le dĂ©pĂŽt distant.

Exemple de script dans un hook pre-push :

#!/bin/sh
echo "Exécution des vérifications pre-push..."

# Nettoyage et reconstruction du projet
dotnet clean
dotnet build

# Exécution des tests
dotnet test

if [ $? -ne 0 ]; then
    echo "Les tests ont échoué, push annulé."
    exit 1
fi
Enter fullscreen mode Exit fullscreen mode

đŸ“ș Pour une explication dĂ©taillĂ©e, consultez cette vidĂ©o :

Pour en savoir plus sur ESLint :
https://www.digitalocean.com/community/tutorials/linting-and-formatting-with-eslint-in-vs-code

🚀 Adoptez les hooks Git dùs aujourd’hui !
Les hooks Git sont une solution simple mais puissante pour appliquer les bonnes pratiques, gagner du temps et réduire les coûts tout en améliorant la qualité et la sécurité du code.

En exploitant les hooks de maniÚre efficace, les équipes de développement peuvent maintenir un workflow fluide et optimisé.

Top comments (0)