Code/docs/README.md
Stéphan Peccini cef9c9d67b
feat(security): Analyse et corrections de sécurité complète
Corrections de sécurité (Bandit):
- Fix vulnérabilité HIGH Jinja2 XSS avec documentation de sécurité
- Ajout timeouts sur toutes les requêtes HTTP (17 occurrences)
  * utils/gitea.py: 3 timeouts (10s)
  * app/fiches/interface.py: 1 timeout (10s)
  * scripts/auto_ingest.py: 2 timeouts (10-30s)
  * scripts/generer_analyse.py: 10 timeouts (10-120s)
  * Corpus/generer_analyse.py: 2 timeouts (30-120s)

Documentation et configuration:
- docs/SECURITY.md: Guide complet de sécurité avec analyse Bandit
- docs/GUIDE_GITDOC.md: Guide d'utilisation GitDoc pour autocommit
- Configuration GitDoc complète dans settings.json.example
- Configuration .gitignore pour .vscode/settings.json
- Recommandations extensions VSCode (SonarLint, Snyk, GitDoc)
- Mise à jour README avec statut sécurité

Résultats Bandit:
- 0 vulnérabilités HIGH
- 0 vulnérabilités MEDIUM
- Tests: 67 passent, couverture 16%

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-08 08:57:22 +01:00

151 lines
4.7 KiB
Markdown

# Documentation FabNum
Bienvenue dans la documentation du projet FabNum !
## 📚 Table des matières
### Documentation technique
- **[ARCHITECTURE.md](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](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_RUFF.md)** - Guide d'utilisation de Ruff
- Configuration du linter
- Règles activées
- Commandes utiles
- Intégration IDE
- **[GUIDE_LOGS.md](GUIDE_LOGS.md)** - Guide du système de logging
- Configuration des loggers
- Niveaux de log
- Visualisation des logs
- Bonnes pratiques
- **[SECURITY.md](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](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](REFACTORING_REPORT.md)** - Rapport de refactoring global
- Corrections apportées
- Améliorations de structure
- Impact sur la qualité du code
- **[RAPPORT_RUFF.md](RAPPORT_RUFF.md)** - Rapport d'analyse Ruff
- Problèmes détectés
- Catégories d'erreurs
- Statistiques par module
- **[RAPPORT_CORRECTIONS_AUTO.md](RAPPORT_CORRECTIONS_AUTO.md)** - Corrections automatiques
- Liste des corrections appliquées
- Résultats par catégorie
- Vérifications post-correction
- **[VERIFICATION_LOGS.md](VERIFICATION_LOGS.md)** - Vérification du système de logs
- Tests effectués
- Résultats de validation
### Configuration et connexion
- **[CONNEXION.md](CONNEXION.md)** - Guide de connexion
- Configuration Gitea
- Variables d'environnement
- Authentification
### Tâches et planification
- **[TODO_IA_BATCH.md](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
1. Lisez le [README principal](../README.md) pour une vue d'ensemble
2. Consultez [ARCHITECTURE.md](ARCHITECTURE.md) pour comprendre la structure
3. Parcourez [MODULES.md](MODULES.md) pour voir les exemples de code
### Je veux développer
1. Installez les dépendances : voir [README principal](../README.md)
2. Configurez Ruff : [GUIDE_RUFF.md](GUIDE_RUFF.md)
3. Consultez les exemples dans [MODULES.md](MODULES.md)
4. Utilisez les utilitaires documentés dans [ARCHITECTURE.md](ARCHITECTURE.md)
### Je veux comprendre le code existant
1. Parcourez [ARCHITECTURE.md](ARCHITECTURE.md) pour le flux de données
2. Consultez [MODULES.md](MODULES.md) pour l'API de chaque module
3. Lisez les docstrings Google-style dans le code source
### Je veux améliorer la qualité
1. Exécutez Ruff : voir [GUIDE_RUFF.md](GUIDE_RUFF.md)
2. Consultez les rapports : [RAPPORT_RUFF.md](RAPPORT_RUFF.md)
3. Ajoutez des tests : voir structure dans [ARCHITECTURE.md](ARCHITECTURE.md)
4. Vérifiez la sécurité : [SECURITY.md](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
- [Tests unitaires](../tests/unit/)
- [Configuration pytest](../pyproject.toml)
- [Fichier de configuration Ruff](../pyproject.toml)
- [Assets et ressources](../assets/)
## 📝 Contribuer à la documentation
Pour améliorer la documentation :
1. **Architecture/Modules** : Mettez à jour `ARCHITECTURE.md` ou `MODULES.md`
2. **Guides** : Ajoutez un nouveau guide dans `docs/GUIDE_*.md`
3. **Rapports** : Générez les rapports avec les commandes appropriées
4. **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