You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Chaque section se termine par une ligne `echo [%date% %time%] Section N : ... >> "%LOG%"`
71
80
- Toutes les commandes redirigent vers `>nul 2>&1`
72
81
- Les services conditionnels utilisent `if "%NEED_X%"=="0" reg add ...`
73
82
- Les tâches planifiées avec espaces dans le chemin → appels `schtasks` individuels (pas de boucle `for`)
74
83
- Les clés HKCU s'appliquent à l'utilisateur courant (contexte FirstLogonCommands = premier utilisateur)
84
+
85
+
## Règles opérationnelles — Git et validation
86
+
87
+
Ces règles sont issues de problèmes concrets rencontrés lors de modifications sur ce dépôt. Elles sont **obligatoires**.
88
+
89
+
### 1. Toujours pousser les fichiers volumineux via `git` directement
90
+
91
+
Les outils MCP (`create_or_update_file`) ne peuvent pas gérer fiablement des fichiers de 90 Ko+ avec des caractères Unicode. Le contenu est tronqué ou corrompu silencieusement.
92
+
93
+
**Règle** : pour `win11-setup.bat`, `validate_bat.py` et tout fichier > 10 Ko, utiliser exclusivement :
94
+
```bash
95
+
git add <fichier>
96
+
git commit -m "message"
97
+
git push -u origin <branche>
98
+
```
99
+
Ne jamais passer le contenu d'un grand fichier en paramètre inline d'un outil MCP ou d'un agent.
100
+
Ne jamais mentionner Claude (claude.ai/code) dans le "message" de commit
101
+
102
+
### 2. Ne jamais lancer d'agents en arrière-plan sur les mêmes fichiers
103
+
104
+
Un agent lancé en arrière-plan (`run_in_background`) peut lire un état stale du dépôt (avant un commit récent) et pousser une version corrompue ou périmée du fichier, écrasant les corrections.
105
+
106
+
**Règle** : toute opération qui lit, modifie ou pousse `win11-setup.bat` ou `validate_bat.py` doit être effectuée **séquentiellement dans la session principale**. Aucun agent parallèle ou arrière-plan pour ces fichiers.
107
+
108
+
### 3. Exécuter le validateur avant tout premier push
109
+
110
+
Une clé registre interdite (ex. `DisableWindowsSpotlightFeatures`) qui passe inaperçue en local fait échouer la CI. Corriger en CI = commits supplémentaires inutiles.
111
+
112
+
**Règle** : avant le premier `git push` de toute modification de `win11-setup.bat`, toujours exécuter :
113
+
```bash
114
+
python3 .github/scripts/validate_bat.py
115
+
```
116
+
et vérifier que tous les tests passent (0 FAIL). Ne pousser qu'après validation locale réussie.
| 12 | Interface Win10 : barre à gauche (HKLM), widgets supprimés, Teams/Copilot masqués, menu contextuel classique, "Ce PC" par défaut, Galerie/Réseau masqués, son démarrage off, hibernation off, Fast Startup off — centre de notifications conservé |
| 18 | Suppression de 74 applications bloatware (UWP) via PowerShell (dont Microsoft.MicrosoftJournal)|
57
57
| 19 | Nettoyage du dossier `C:\Windows\Prefetch`|
58
58
| 19b | Vérification intégrité système (SFC/DISM) + restart Explorer |
59
59
| 20 | Résumé d'exécution dans le log + fin du script |
@@ -145,11 +145,11 @@ Sur un Windows 11 déjà installé :
145
145
146
146
| Catégorie | Quantité |
147
147
|---|---|
148
-
| Clés registre modifiées |135+ |
149
-
| Services désactivés |90+ |
150
-
| Tâches planifiées désactivées |73+ |
151
-
| Applications (UWP) supprimées |73+ |
152
-
| Domaines de télémétrie bloqués |57+ |
148
+
| Clés registre modifiées |160+ |
149
+
| Services désactivés |113+ |
150
+
| Tâches planifiées désactivées |93+ |
151
+
| Applications (UWP) supprimées |74+ |
152
+
| Domaines de télémétrie bloqués |72+ |
153
153
| Options de configuration | 5 |
154
154
155
155
---
@@ -158,7 +158,7 @@ Sur un Windows 11 déjà installé :
158
158
159
159
| Fichier | Description |
160
160
|---|---|
161
-
|`win11-setup.bat`| Script principal d'optimisation post-installation (~997 lignes) |
161
+
|`win11-setup.bat`| Script principal d'optimisation post-installation (~1135 lignes) |
162
162
|`prerequis_WIN11.md`| Document de spécification : règles de conception, listes d'apps/services/tâches, contraintes techniques |
163
163
|`CLAUDE.md`| Fichier de configuration interne — structure du script, règles absolues, conventions |
164
164
@@ -168,7 +168,7 @@ Sur un Windows 11 déjà installé :
168
168
169
169
### Pourquoi pas de boucle pour les clés registre ?
170
170
171
-
Les 135+ appels `reg add` sont écrits individuellement et non factorisés dans une boucle `for`. Ce choix est délibéré :
171
+
Les 150+ appels `reg add` sont écrits individuellement et non factorisés dans une boucle `for`. Ce choix est délibéré :
172
172
173
173
-**Chemins et types hétérogènes** — chaque clé a sa propre ruche (`HKLM`, `HKCU`), son propre chemin, son type (`REG_DWORD`, `REG_SZ`, `REG_MULTI_SZ`) et sa valeur. Une boucle nécessiterait un tableau de paramètres plus complexe à maintenir que les appels directs.
174
174
-**Lisibilité et auditabilité** — un script de sécurité/optimisation doit pouvoir être relu ligne par ligne. Chaque `reg add` est explicite : on voit immédiatement ce qui est modifié, où et avec quelle valeur.
0 commit comments