Code/docs/GUIDE_GITDOC.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

194 lines
4.5 KiB
Markdown

# Guide GitDoc - Autocommit
Ce guide explique comment utiliser GitDoc pour l'autocommit automatique des fichiers.
## Qu'est-ce que GitDoc ?
GitDoc est une extension VSCode qui committe automatiquement vos modifications dans git après un certain délai.
**Extension:** `vsls-contrib.gitdoc`
## Limitation importante
**GitDoc ne committe QUE les fichiers déjà suivis par git.**
Cela signifie:
- Les fichiers modifiés sont auto-committés
- Les nouveaux fichiers (non suivis) ne sont PAS auto-committés
Pour les nouveaux fichiers, vous devez d'abord les ajouter manuellement:
```bash
git add nouveau_fichier.py
```
Après cela, GitDoc les committera automatiquement lors de modifications futures.
## Installation
1. Ouvrir VSCode
2. `Ctrl+Shift+X` pour ouvrir les extensions
3. Rechercher `GitDoc`
4. Installer `GitDoc` par `vsls-contrib`
## Configuration
La configuration est dans `.vscode/settings.json`:
```json
{
"gitdoc.enabled": true,
"gitdoc.autoCommitDelay": 30000,
"gitdoc.commitMessageFormat": "docs: GitDoc update",
"gitdoc.commitValidationLevel": "none",
"gitdoc.autoPull": "off",
"gitdoc.autoPush": "off"
}
```
### Paramètres expliqués
| Paramètre | Valeur | Description |
|-----------|--------|-------------|
| `gitdoc.enabled` | `true` | Active GitDoc |
| `gitdoc.autoCommitDelay` | `30000` | Délai avant commit (30 secondes) |
| `gitdoc.commitMessageFormat` | `"docs: GitDoc update"` | Format du message de commit |
| `gitdoc.commitValidationLevel` | `"none"` | Pas de validation (évite les blocages) |
| `gitdoc.autoPull` | `"off"` | Pas de pull automatique |
| `gitdoc.autoPush` | `"off"` | Pas de push automatique |
## Utilisation
### Activation/Désactivation
GitDoc s'active automatiquement si `gitdoc.enabled: true`.
Pour le désactiver temporairement:
- `Ctrl+Shift+P``GitDoc: Disable`
Pour le réactiver:
- `Ctrl+Shift+P``GitDoc: Enable`
### Voir les commits GitDoc
```bash
git log --oneline --grep="GitDoc"
```
### Workflow recommandé
1. **Nouveaux fichiers** - Ajouter manuellement
```bash
git add nouveau_fichier.py
git commit -m "feat: Ajouter nouveau fichier"
```
2. **Modifications de fichiers existants** - Automatique
- GitDoc committe automatiquement après 30 secondes
3. **Squash des commits GitDoc** (avant PR)
```bash
git rebase -i HEAD~10 # Remplacer 10 par le nombre de commits
# Marquer les commits GitDoc comme "fixup" ou "squash"
```
## Problèmes courants
### GitDoc ne fonctionne pas
**Vérifications:**
1. **Extension installée?**
```
Ctrl+Shift+X → Rechercher "GitDoc"
```
2. **Configuration présente?**
```bash
cat .vscode/settings.json | grep gitdoc
```
3. **Fichier déjà suivi par git?**
```bash
git ls-files | grep mon_fichier
```
Si le fichier n'apparaît pas:
```bash
git add mon_fichier
```
4. **GitDoc activé?**
- Regarder la barre de statut VSCode (en bas)
- Devrait afficher "GitDoc" avec une icône
### Le fichier settings.json apparaît dans git status
Si `.vscode/settings.json` apparaît dans `git status`:
```bash
# Vérifier qu'il est dans .gitignore
grep "settings.json" .gitignore
# S'il n'y est pas, l'ajouter
echo ".vscode/settings.json" >> .gitignore
# Retirer du suivi git (garde le fichier local)
git rm --cached .vscode/settings.json
git commit -m "fix: Retirer settings.json du versioning"
```
### Trop de commits GitDoc
Si vous avez beaucoup de commits GitDoc, vous pouvez les squasher:
```bash
# Rebase interactif sur les 20 derniers commits
git rebase -i HEAD~20
# Dans l'éditeur, remplacer "pick" par "fixup" pour les commits GitDoc
# Sauvegarder et quitter
```
## Alternatives à GitDoc
Si GitDoc ne convient pas, voici d'autres approches:
### 1. Commits manuels réguliers
```bash
git add -A
git commit -m "wip: Travail en cours"
```
### 2. Script de commit automatique
```bash
# Créer un script auto-commit.sh
#!/bin/bash
while true; do
git add -A
git commit -m "auto: $(date +'%Y-%m-%d %H:%M:%S')"
sleep 300 # 5 minutes
done
```
### 3. Pre-commit hooks
Voir: https://pre-commit.com/
## Recommandations
**À FAIRE:**
- Activer GitDoc pour le travail collaboratif
- Squasher les commits GitDoc avant une PR
- Ajouter manuellement les nouveaux fichiers avec `git add`
**À ÉVITER:**
- Pusher directement les commits GitDoc
- Compter sur GitDoc pour les nouveaux fichiers
- Activer `autoPush` (risque de push non désiré)
---
## Voir aussi
- [Guide Git](https://git-scm.com/doc)
- [Extension GitDoc](https://marketplace.visualstudio.com/items?itemName=vsls-contrib.gitdoc)