- Correction des 907 erreurs ruff (pathlib, imports, nommage, simplifications, docstrings) - Fix déduplication labels dans multiselect nœuds d'arrivée (analyse) - Expansion 1→N label→IDs pour le Sankey (Pays d'opération) - Ajout CLAUDE.md et document de design de l'audit - Mise à jour .gitignore (artefacts tests exploratoires) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Documentation FabNum
Bienvenue dans la documentation du projet FabNum !
📚 Table des matières
Documentation technique
-
ARCHITECTURE.md - Architecture complète du projet
- Vue d'ensemble de l'application
- Structure des modules
- Flux de données
- Indices et métriques (IHH, ISG, ICS, IVC)
- Tests et couverture
- Roadmap
-
MODULES.md - Guide des modules et API
- Modules applicatifs (analyse, fiches, plan d'action)
- Utilitaires (gitea, graph_utils, logger, etc.)
- Exemples de code
- Bonnes pratiques
- Guide de dépannage
Guides de développement
-
GUIDE_RUFF.md - Guide d'utilisation de Ruff
- Configuration du linter
- Règles activées
- Commandes utiles
- Intégration IDE
-
GUIDE_LOGS.md - Guide du système de logging
- Configuration des loggers
- Niveaux de log
- Visualisation des logs
- Bonnes pratiques
-
SECURITY.md - Guide de sécurité
- Analyse de sécurité Bandit
- Corrections de vulnérabilités
- Bonnes pratiques de sécurité
- Configuration des outils (SonarQube, Snyk)
-
GUIDE_EXTENSIONS_SECURITE.md - Extensions de sécurité VSCode
- Installation et configuration SonarLint
- Installation et configuration Snyk
- Workflow de développement sécurisé
- Checklist de sécurité
Rapports et refactoring
-
REFACTORING_REPORT.md - Rapport de refactoring global
- Corrections apportées
- Améliorations de structure
- Impact sur la qualité du code
-
RAPPORT_RUFF.md - Rapport d'analyse Ruff
- Problèmes détectés
- Catégories d'erreurs
- Statistiques par module
-
RAPPORT_CORRECTIONS_AUTO.md - Corrections automatiques
- Liste des corrections appliquées
- Résultats par catégorie
- Vérifications post-correction
-
VERIFICATION_LOGS.md - Vérification du système de logs
- Tests effectués
- Résultats de validation
Configuration et connexion
- CONNEXION.md - Guide de connexion
- Configuration Gitea
- Variables d'environnement
- Authentification
Tâches et planification
- TODO_IA_BATCH.md - Tâches modules IA et Batch
- Priorités de développement
- Améliorations prévues
- Statut des tâches
🚀 Par où commencer ?
Je découvre le projet
- Lisez le README principal pour une vue d'ensemble
- Consultez ARCHITECTURE.md pour comprendre la structure
- Parcourez MODULES.md pour voir les exemples de code
Je veux développer
- Installez les dépendances : voir README principal
- Configurez Ruff : GUIDE_RUFF.md
- Consultez les exemples dans MODULES.md
- Utilisez les utilitaires documentés dans ARCHITECTURE.md
Je veux comprendre le code existant
- Parcourez ARCHITECTURE.md pour le flux de données
- Consultez MODULES.md pour l'API de chaque module
- Lisez les docstrings Google-style dans le code source
Je veux améliorer la qualité
- Exécutez Ruff : voir GUIDE_RUFF.md
- Consultez les rapports : RAPPORT_RUFF.md
- Ajoutez des tests : voir structure dans ARCHITECTURE.md
- Vérifiez la sécurité : SECURITY.md.
📊 État du projet
Couverture de tests
- Globale : 16%
- Modules testés :
utils/gitea.py: 100% ✓utils/widgets.py: 100% ✓utils/logger.py: 94% ✓app/fiches/utils/tickets/core.py: 77% ✓utils/graph_utils.py: 59%
Qualité du code
- Linter : Ruff configuré avec 15 règles
- Style : Google docstrings
- Tests : 67 tests (100% passent)
- Sécurité : Bandit - 0 problèmes HIGH/MEDIUM ✓
🔗 Liens utiles
📝 Contribuer à la documentation
Pour améliorer la documentation :
- Architecture/Modules : Mettez à jour
ARCHITECTURE.mdouMODULES.md - Guides : Ajoutez un nouveau guide dans
docs/GUIDE_*.md - Rapports : Générez les rapports avec les commandes appropriées
- Exemples : Ajoutez des snippets dans
MODULES.md
Conventions :
- Utilisez le français pour le contenu
- Formatez le code avec des blocs markdown
- Ajoutez des émojis pour faciliter la navigation
- Maintenez la cohérence avec les documents existants
Dernière mise à jour : 7 février 2026