Essayer gratuitement
6 min lecture Guide 760 of 877

Meilleures Pratiques Gestion des Dépendances

Les dépendances sont à la fois des atouts et des passifs. GitScrum aide les équipes à suivre le travail sur les dépendances et maintenir des écosystèmes de packages sains.

Stratégie de Dépendances

Philosophie de Mise à Jour

APPROCHE DE MISE À JOUR DES DÉPENDANCES :
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ TYPES DE MISES À JOUR :                                     │
│                                                             │
│ PATCHES DE SÉCURITÉ :                                       │
│ Priorité : Immédiate                                       │
│ Exemple : lodash 4.17.20 → 4.17.21 (correctif CVE)        │
│ Timeline : Même jour ou jour ouvrable suivant             │
│ Processus : Fast-track, tests minimaux                    │
│                                                             │
│ MISES À JOUR MINEURES/PATCH :                               │
│ Priorité : Maintenance régulière                           │
│ Exemple : react 18.2.0 → 18.2.1                           │
│ Timeline : Lot hebdomadaire ou bi-hebdomadaire            │
│ Processus : Tests normaux, mises à jour groupées          │
│                                                             │
│ MISES À JOUR MAJEURES :                                     │
│ Priorité : Planifiée                                       │
│ Exemple : react 17 → 18                                   │
│ Timeline : Sprint ou epic dédié                           │
│ Processus : Tests complets, revue du guide de migration   │
│                                                             │
│ ─────────────────────────────────────────────────────────── │
│                                                             │
│ ANTI-PATTERNS :                                             │
│                                                             │
│ ❌ "Tout mettre à jour" aléatoirement                     │
│ ❌ Ne jamais mettre à jour (gel de version)               │
│ ❌ Mises à jour majeures sans planification               │
│ ❌ Ignorer les alertes de sécurité                        │
│                                                             │
│ ✅ Mises à jour régulières, petites, testées              │
│ ✅ Prioriser la sécurité                                  │
│ ✅ Planifier les migrations majeures                      │
│ ✅ Automatiser où possible                                │
└─────────────────────────────────────────────────────────────┘

Mises à Jour de Sécurité

Gestion des Vulnérabilités

WORKFLOW VULNÉRABILITÉ DE SÉCURITÉ :
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ VULNÉRABILITÉ DÉTECTÉE :                                    │
│                                                             │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ 🔴 HAUTE : lodash < 4.17.21                            ││
│ │    CVE-2021-23337                                       ││
│ │    Vulnérabilité de pollution de prototype              ││
│ │    Fix : Mettre à jour vers 4.17.21+                   ││
│ │    Affecté : package-lock.json                         ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ RÉPONSE SELON SÉVÉRITÉ :                                    │
│                                                             │
│ CRITIQUE/HAUTE :                                            │
│ • Évaluer : Est-ce exploitable dans notre usage ?         │
│ • Si oui : Corriger immédiatement (même jour)             │
│ • Si non : Corriger dans la semaine                       │
│ • Créer tâche urgente dans GitScrum                       │
│                                                             │
│ MOYENNE :                                                   │
│ • Corriger dans le sprint ou sprint suivant               │
│ • Inclure dans la maintenance régulière                   │
│                                                             │
│ BASSE :                                                     │
│ • Inclure dans le prochain lot de dépendances             │
│ • Ne pas ignorer, mais priorité plus basse                │
│                                                             │
│ ─────────────────────────────────────────────────────────── │
│                                                             │
│ TÂCHE SÉCURITÉ GITSCRUM :                                   │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ 🔴 SEC-123 : Mettre à jour lodash (CVE-2021-23337)     ││
│ │                                                         ││
│ │ Priorité : Critique                                     ││
│ │ Labels : sécurité, dépendance                          ││
│ │ Échéance : Aujourd'hui                                  ││
│ │                                                         ││
│ │ CVE : CVE-2021-23337                                   ││
│ │ Sévérité : Haute                                        ││
│ │ Actuelle : 4.17.20                                      ││
│ │ Cible : 4.17.21                                         ││
│ │ Risque : Pollution de prototype                        ││
│ │                                                         ││
│ │ ☐ Mettre à jour la dépendance                         ││
│ │ ☐ Exécuter les tests                                  ││
│ │ ☐ Déployer                                            ││
│ └─────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────┘

Maintenance Régulière

Processus de Revue des Dépendances

REVUE MENSUELLE DES DÉPENDANCES :
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ TÂCHE DE REVUE DES DÉPENDANCES (Mensuelle) :               │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ MAINT-Q1-02 : Revue Dépendances Février                ││
│ │                                                         ││
│ │ Checklist :                                             ││
│ │ ☐ Exécuter npm audit / yarn audit                     ││
│ │ ☐ Revoir alertes GitHub Dependabot                    ││
│ │ ☐ Vérifier mises à jour mineures disponibles          ││
│ │ ☐ Revoir packages dépréciés                           ││
│ │ ☐ Mettre à jour lot de packages à faible risque       ││
│ │ ☐ Documenter les mises à jour différées               ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ CHECKLIST DE REVUE :                                        │
│                                                             │
│ 1. SÉCURITÉ                                                │
│    npm audit / snyk test                                  │
│    Corriger tous les haute/critique                       │
│    Planifier moyenne/basse                                │
│                                                             │
│ 2. PACKAGES OBSOLÈTES                                      │
│    npm outdated                                           │
│    Identifier packages > 2 versions majeures en retard   │
│    Planifier mises à jour pour packages critiques        │
│                                                             │
│ 3. PACKAGES DÉPRÉCIÉS                                      │
│    Vérifier les warnings de dépréciation                 │
│    Trouver remplacements pour les dépréciés              │
│                                                             │
│ 4. PACKAGES INUTILISÉS                                     │
│    Vérifier installés mais non utilisés                  │
│    Supprimer pour réduire surface d'attaque              │
│                                                             │
│ 5. AUDIT DE LICENCES                                        │
│    Vérifier que les licences sont compatibles            │
│    Signaler tout GPL dans code propriétaire              │
└─────────────────────────────────────────────────────────────┘

Meilleures Pratiques

Règles d'Or

RègleApplication
Petites mises à jour régulièresPlus sûres que grosses mises à jour
Sécurité d'abordPatches de sécurité = priorité 1
Tester après chaque mise à jourCI/CD automatisé
Documenter les décisionsPourquoi différer une mise à jour
Automatiser quand possibleDependabot, Renovate

Liens Connexes