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
Copy file name to clipboardExpand all lines: README.fr.md
+111-6Lines changed: 111 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@
11
11
12
12
---
13
13
14
-
CleanCloud vous indique exactement ce qu'il faut supprimer dans votre cloud — avec le coût par ressource.
14
+
CleanCloud vous indique exactement ce qu'il faut supprimer dans votre cloud — avec le coût par ressource. Détecte les ressources IA/ML inactives qui brûlent 500–23 000 $/mois en silence. L'application policy-as-code signifie que les exceptions, les seuils et les règles vivent dans git aux côtés de votre infrastructure.
15
15
16
16
**Aucun agent. Pas de SaaS. Lecture seule.**
17
17
@@ -138,10 +138,10 @@ Pas encore de compte cloud ? `cleancloud demo` affiche un exemple de sortie sans
138
138
139
139
## Fonctionnalités clés
140
140
141
+
-**Détection du gaspillage IA/ML sur les 3 clouds :** endpoints SageMaker, clusters AML Compute et endpoints Vertex AI inactifs, facturés 500–23 000 $/mois par ressource en silence. Ressources GPU flaggées risque HIGH. Les outils natifs montrent la facture — CleanCloud indique quel endpoint supprimer. Opt-in via `--category ai`
142
+
-**Gouvernance policy-as-code :**`cleancloud.yaml` pour la configuration par règle, les exceptions avec dates d'expiration, les seuils de coût et de confiance, les exclusions par tag — versionné aux côtés de votre infrastructure. Chaque exception est une approbation auditée dans git.
143
+
-**Application de politique (opt-in) :**`--fail-on-confidence HIGH` ou `--fail-on-cost 500` — appliquer des seuils de gaspillage en CI/CD sur un planning, géré par les équipes platform ou FinOps
141
144
-**33 règles de détection sélectives et haut signal :** volumes orphelins, bases de données inactives, instances arrêtées, registres inutilisés, et plus — conçues pour éviter les faux positifs en environnements IaC, chacune avec une estimation de coût déterministe
142
-
-**Détection du gaspillage IA/ML sur les 3 clouds :** endpoints SageMaker inactifs (AWS), clusters AML Compute inactifs (Azure), et endpoints Vertex AI Online Prediction inactifs (GCP). Ressources GPU flaggées risque HIGH. Opt-in via `--category ai` ou `--category all`
143
-
-**Gouvernance policy-as-code :**`cleancloud.yaml` pour la configuration par règle, les exceptions avec dates d'expiration, les seuils de coût et de confiance, les exclusions par tag — versionné aux côtés de votre infrastructure
144
-
-**Application de politique (opt-in) :**`--fail-on-confidence HIGH` ou `--fail-on-cost 100` — appliquer des seuils de gaspillage sur un planning, géré par les équipes platform ou FinOps
145
145
-**Scan multi-comptes (AWS) :** scannez des AWS Organizations entières en une exécution — fichier de config, IDs inline, ou auto-découverte via `--org`
146
146
-**Scan multi-abonnements (Azure) :** scannez tous les abonnements Azure en parallèle — auto-découverte via Management Group, détail des coûts par abonnement inclus
147
147
-**Scan multi-projets (GCP) :** scannez tous les projets GCP accessibles en parallèle — auto-découverte via Application Default Credentials, détail des coûts par projet inclus
@@ -165,6 +165,8 @@ Entièrement en lecture seule. Sûr pour la production et les environnements ré
165
165
| Nomme exactement les ressources à nettoyer | ❌ | partiel | ✅ |
166
166
| Estimation de coût déterministe par ressource | ❌ | ❌ | ✅ |
167
167
| Détecte le gaspillage IA/ML (SageMaker, AML, Vertex AI — dont les endpoints GPU) | ❌ | ❌ | ✅ |
| Scanner plusieurs comptes AWS |[Configuration multi-comptes →](docs/aws.md#multi-account-scanning)|
207
+
| Résoudre une erreur |[Dépannage →](docs/troubleshooting.md)|
208
+
195
209
Pas sûr que vos credentials aient les bonnes permissions ? Lancez d'abord `cleancloud doctor --provider aws`.
196
210
197
-
Docker, CloudShell, ou problèmes d'installation ? → **[Guide d'installation →](docs/aws.md)**
211
+
Docker, CloudShell, ou problèmes d'installation ? → **[Guide de configuration AWS →](docs/aws.md)**
212
+
213
+
---
214
+
215
+
## Détection du gaspillage IA/ML
216
+
217
+
L'infrastructure IA/ML inactive est la source de gaspillage cloud invisible à la croissance la plus rapide. Contrairement au compute ou au stockage, ces ressources facturent à plein tarif même sans aucune activité — les endpoints GPU ne passent pas à zéro.
| Cluster AML Compute Azure (GPU) | 600 – 15 000 $ / mois |
223
+
| Endpoint Vertex AI Online Prediction (GPU) | 449 – 23 000+ $ / mois |
224
+
225
+
CleanCloud détecte les endpoints à zéro invocation / zéro prédiction sur les 3 clouds et les signale risque HIGH. Les outils natifs montrent la facture — ils ne vous disent pas *quel endpoint* supprimer.
226
+
227
+
```bash
228
+
cleancloud scan --provider aws --category ai # endpoints SageMaker
229
+
cleancloud scan --provider azure --category ai # clusters AML Compute
230
+
cleancloud scan --provider gcp --category ai # endpoints Vertex AI
Aucune configuration requise — opt-in avec `--category ai`. Compatible avec les scans multi-comptes et multi-projets :
235
+
236
+
```bash
237
+
cleancloud scan --provider aws --org --all-regions --category all
238
+
```
239
+
240
+
**[Règles IA/ML →](docs/rules.md)**
241
+
242
+
---
243
+
244
+
## Gouvernance as Code
245
+
246
+
Déposez un `cleancloud.yaml` à la racine de votre repo. Chaque exception est une approbation auditée dans git — versionnée aux côtés de votre infrastructure.
247
+
248
+
```yaml
249
+
# cleancloud.yaml
250
+
defaults:
251
+
confidence: MEDIUM # ignorer les findings à faible signal
252
+
min_cost: 10# ignorer les findings en dessous de 10$/mois
253
+
254
+
exceptions:
255
+
- rule_id: aws.ec2.instance.stopped
256
+
resource_id: i-0abc1234567890def
257
+
reason: "Bastion host — démarré à la demande"
258
+
expires_at: "2026-12-31"# expiration automatique — forçage de révision
259
+
260
+
- rule_id: aws.rds.instance.idle
261
+
resource_id: "db-test-*"# glob — supprime toutes les bases de test
262
+
reason: "Les bases de test sont intentionnellement éphémères"
263
+
264
+
thresholds:
265
+
fail_on_confidence: HIGH # exit 2 en CI si un finding HIGH confidence reste
266
+
fail_on_cost: 500# exit 2 si le gaspillage total dépasse 500$/mois
**[Référence complète de configuration →](docs/configuration.md)** · [Bonnes pratiques →](docs/best-practices.md)
198
276
199
277
---
200
278
@@ -360,6 +438,31 @@ Guide complet : [Configuration GCP →](docs/gcp.md)
360
438
361
439
---
362
440
441
+
## FAQ
442
+
443
+
**Est-il sûr de l'exécuter en production ?**
444
+
Oui. CleanCloud est en lecture seule — il n'appelle que les APIs `List`, `Describe` et `Get`. Aucune écriture, aucune suppression, aucune modification de votre compte cloud.
445
+
446
+
**CleanCloud envoie-t-il mes données quelque part ?**
447
+
Non. Il s'exécute entièrement dans votre environnement. Aucune télémétrie, pas de SaaS, aucune connexion sortante sauf vers les APIs de votre cloud provider.
448
+
449
+
**Signalera-t-il des ressources gérées par Terraform / CDK ?**
450
+
CleanCloud détecte un état réellement inactif (zéro connexion, zéro trafic, zéro invocation) — pas l'existence d'une ressource. Une instance RDS gérée par Terraform avec zéro connexion depuis 30 jours sera quand même signalée. Utilisez le filtrage par tag ou les exceptions pour supprimer les ressources intentionnelles.
451
+
452
+
**Comment supprimer une ressource spécifique ?**
453
+
Deux options : taguez-la avec `cleancloud-ignore: true` (filtrage par tag), ou ajoutez une exception explicite dans `cleancloud.yaml` (policy-as-code). Les exceptions supportent les patterns glob et les dates d'expiration. Voir [Configuration policy-as-code →](docs/configuration.md#exceptions).
454
+
455
+
**Mon CI échoue sur des findings qui ne m'intéressent pas. Comment corriger ?**
456
+
Ne désactivez pas l'application — supprimez le bruit spécifique. Utilisez `min_cost` pour ignorer les findings bon marché, `confidence: MEDIUM` pour ignorer ceux à faible signal, ou ajoutez des exceptions pour les ressources intentionnelles. Voir [Dépannage →](docs/troubleshooting.md).
457
+
458
+
**Puis-je l'utiliser sans `cleancloud.yaml` ?**
459
+
Oui. Sans fichier de config, toutes les règles sont activées avec leurs valeurs par défaut. La config est optionnelle — vous pouvez démarrer avec un simple flag CLI et ajouter une config plus tard.
460
+
461
+
**Fonctionne-t-il dans des environnements air-gapped / privés ?**
462
+
Oui. CleanCloud n'a besoin d'accès réseau qu'aux endpoints API de votre cloud provider. Aucune dépendance externe, aucun téléchargement de paquets lors du scan.
463
+
464
+
---
465
+
363
466
## Ce que CleanCloud détecte
364
467
365
468
33 règles pour AWS, Azure et GCP — conservatives, haut signal, conçues pour éviter les faux positifs en environnements IaC.
@@ -416,6 +519,8 @@ Les règles sans marqueur de confiance sont MEDIUM — elles utilisent des heuri
416
519
-[`docs/gcp.md`](docs/gcp.md) — Permissions IAM GCP et configuration Application Default Credentials
417
520
-[`docs/ci.md`](docs/ci.md) — Automatisation, scans planifiés et intégration CI/CD
418
521
-[`docs/configuration.md`](docs/configuration.md) — Policy-as-code : exceptions, seuils, filtrage par tag
522
+
-[`docs/best-practices.md`](docs/best-practices.md) — Stratégie de déploiement, filtrage par tag, patterns d'exceptions
523
+
-[`docs/troubleshooting.md`](docs/troubleshooting.md) — Erreurs courantes et solutions
419
524
-[`docs/example-outputs.md`](docs/example-outputs.md) — Exemples de sortie complets
420
525
-[`SECURITY.md`](SECURITY.md) — Politique de sécurité et modèle de menace
421
526
-[`docs/infosec-readiness.md`](docs/infosec-readiness.md) — IAM Proof Pack, modèle de menace
0 commit comments