6 min lecture • Guide 145 of 877
Base de Connaissances Développeur
Le savoir enfermé dans la tête des gens est perdu quand ils partent, indisponible quand ils sont occupés, et force des explications répétées. Une base de connaissances développeur capture les décisions, patterns, guides de dépannage et sagesse institutionnelle, rendant l'équipe plus résiliente et efficace.
Valeur de la Base de Connaissances
| Savoir Caché | Savoir Documenté |
|---|---|
| Demander à Sarah (si dispo) | Réponses en self-service |
| Répéter les explications | Écrire une fois, lire plusieurs fois |
| Perdu quand les gens partent | Persiste définitivement |
| Connaissance tribale | Compréhension partagée |
| Onboarding lent | Montée en compétence rapide |
Structure de la Base de Connaissances
Organisation Recommandée
STRUCTURE BASE DE CONNAISSANCES DÉVELOPPEUR
════════════════════════════════════════════
📁 DÉMARRAGE
├── README - Commencer ici
├── Guide de démarrage rapide
├── Setup environnement
├── Première contribution
└── Qui contacter pour quoi
📁 ARCHITECTURE
├── Vue d'ensemble système
├── Architecture Decision Records (ADRs)
├── Carte des services
├── Flux de données
├── Choix technologiques
└── Design patterns
📁 DÉVELOPPEMENT
├── Standards de code
├── Workflow Git
├── Guidelines code review
├── Stratégie de tests
├── Pipeline CI/CD
└── Environnement de développement
📁 OPÉRATIONS
├── Guide de déploiement
├── Monitoring et alertes
├── Réponse aux incidents
├── Runbooks
├── Procédures d'astreinte
└── Vue d'ensemble infrastructure
📁 DÉPANNAGE
├── Problèmes courants
├── Guides de debug
├── FAQ
├── Messages d'erreur expliqués
└── Problèmes d'environnement
📁 RÉFÉRENCE
├── Glossaire
├── Contacts équipe
├── Services externes
├── Comptes fournisseurs
└── Liens ressources
Types de Contenu Clés
Architecture Decision Records
TEMPLATE ARCHITECTURE DECISION RECORD
═════════════════════════════════════
# ADR-001: Utiliser PostgreSQL comme BDD Principale
## Statut
Accepté (2024-01-15)
## Contexte
Nous devons choisir une base de données principale.
Exigences incluent:
- Consistance forte
- Requêtes complexes
- Support JSON
- Fiabilité prouvée
## Décision
Utiliser PostgreSQL 15 comme base principale.
## Conséquences
Positives:
- Écosystème et outillage solides
- Support JSON pour schémas flexibles
- Prouvé à l'échelle
- Familiarité équipe
Négatives:
- Pas idéal pour time-series (considération future)
- Scaling horizontal plus complexe que NoSQL
## Alternatives Considérées
- MySQL: Moins de support JSON
- MongoDB: Préoccupations consistance eventual
- CockroachDB: Surdimensionné pour échelle actuelle
## Liens
- ADR-015: Solution données time-series
- Doc vue d'ensemble architecture
Guides de Dépannage
TEMPLATE GUIDE DE DÉPANNAGE
═══════════════════════════
# Problèmes de Connexion Base de Données
## Symptômes
- Erreur: "Connection refused"
- Erreur: "Too many connections"
- Temps de réponse requête lents
## Vérifications Rapides
### Connection Refused
1. PostgreSQL tourne-t-il?
docker ps | grep postgres
2. Pouvez-vous vous connecter localement?
psql -h localhost -U postgres
3. Variables d'environnement définies?
echo $DATABASE_URL
### Too Many Connections
1. Vérifier nombre de connexions:
SELECT count(*) FROM pg_stat_activity;
2. Identifier connexions longues:
SELECT pid, now() - pg_stat_activity.query_start
AS duration, query
FROM pg_stat_activity
WHERE state != 'idle'
ORDER BY duration DESC;
3. Terminer connexions bloquées si nécessaire:
SELECT pg_terminate_backend(pid);
### Performance Lente
1. Vérifier requêtes lentes:
SELECT query, calls, mean_time
FROM pg_stat_statements
ORDER BY mean_time DESC LIMIT 10;
2. Analyser le plan de requête:
EXPLAIN ANALYZE SELECT ...;
Documentation d'Onboarding
CHECKLIST ONBOARDING DÉVELOPPEUR
════════════════════════════════
📋 JOUR 1
├── □ Accès à tous les outils (GitScrum, Slack, repo)
├── □ Lire le README du projet
├── □ Cloner et builder le projet localement
├── □ Passer les tests
└── □ Rencontrer le buddy d'onboarding
📋 SEMAINE 1
├── □ Lire les ADRs clés
├── □ Comprendre l'architecture haut niveau
├── □ Compléter une petite tâche
├── □ Faire réviser un premier PR
└── □ Assister aux réunions d'équipe
📋 MOIS 1
├── □ Compléter plusieurs tâches
├── □ Comprendre le domaine business
├── □ Contribuer à la documentation
├── □ Participer à une code review
└── □ Identifier une amélioration
📋 MOIS 3
├── □ Prendre des tâches plus complexes
├── □ Mentorer un aspect à l'équipe
├── □ Proposer des améliorations process
└── □ Être autonome sur la plupart des tâches
Maintenir la Base de Connaissances
Garder le Contenu à Jour
PROCESSUS DE MAINTENANCE
════════════════════════
QUAND METTRE À JOUR:
├── En corrigeant un bug documenté
├── En découvrant info manquante
├── Après un incident
├── Pendant l'onboarding (signaler lacunes)
└── Revue trimestrielle planifiée
QUI MAINTIENT:
├── Tout le monde contribue
├── Propriétaires de section assignés
├── Revues rotation mensuelle
└── Nouvelles recrues signalent problèmes
PROCESSUS:
1. Voir info obsolète/manquante
2. Créer tâche ou corriger directement
3. PR comme code
4. Reviewer vérifie exactitude
5. Merger et communiquer changement
MÉTRIQUES:
├── Pages vues (qu'est-ce qui est utile?)
├── Âge dernière mise à jour
├── Feedback nouveaux embauchés
└── Questions répétées (gap dans docs)
Intégration GitScrum NoteVault
UTILISER NOTEVAULT POUR LA DOCUMENTATION
════════════════════════════════════════
AVANTAGES:
├── Intégré au workflow tâches
├── Searchable centralisé
├── Lié aux tâches et projets
├── Versioning automatique
└── Permissions équipe
ORGANISATION:
├── Un espace par domaine
├── Tags pour découvrabilité
├── Templates pour consistance
├── Favoris pour accès rapide
└── Liens croisés entre docs
WORKFLOW:
1. Créer doc pendant le travail
2. Lier à la tâche pertinente
3. Taguer pour catégorisation
4. Partager avec l'équipe
5. Réviser périodiquement
Bonnes Pratiques
Pour une Base de Connaissances Efficace
- Commencer petit — Quelques docs utiles mieux que beaucoup obsolètes
- Écrire pendant le travail — Documenter en contexte
- Réviser à l'onboarding — Tester avec nouveaux yeux
- Assigner propriétaires — Responsabilité claire
- Rendre searchable — Info trouvable en secondes
- Template consistants — Structure prévisible
- Lier aux tâches — Contexte préservé
Anti-Patterns
ANTI-PATTERNS À ÉVITER:
✗ Documentation write-only (jamais lue)
✗ Info dispersée partout
✗ Pas de propriétaire (personne ne maintient)
✗ Trop formel (personne ne contribue)
✗ Pas de recherche (impossible à trouver)
✗ Jamais révisé (devient obsolète)
✗ Duplication (sources multiples de vérité)