📜 Scripts Bash et Python

Produire en quelques minutes des scripts d'automatisation robustes (déploiements, backups, monitoring) qui prendraient 1-2h à écrire from scratch.

Les DevOps écrivent en moyenne plusieurs scripts par semaine pour automatiser les tâches récurrentes : déploiements, backups, rotations de logs, vérifications de santé. L'IA permet de produire en 5-15 minutes ce qui demandait 1-2 heures, avec une gestion d'erreurs et une portabilité de qualité. Le piège : les scripts générés peuvent être trop permissifs (rm -rf risqués, gestion d'erreurs absente) ou simplement incorrects sur des cas particuliers. Ce guide présente le workflow rigoureux qui combine génération rapide et vérification systématique.

Workflow étape par étape
1
Décrire le contexte d'exécution

Avant de coder : OS cible (bash sur Linux ? PowerShell sur Windows ? cross-platform ?), version de Python (3.11, 3.12), environnement (CI/CD, cron, lambda, kubernetes job), permissions disponibles. Sans contexte, l'IA fait des hypothèses qui peuvent casser.

2
Préciser les invariants critiques

Idempotence ? Atomicité ? Rollback ? Logs structurés ? Notifications ? Ces invariants doivent être explicites dans le prompt. Ce sont eux qui distinguent un script qui marche d'un script production-ready.

3
Générer avec gestion d'erreurs robuste

Demander explicitement : `set -euo pipefail` en bash, try/except avec logging en Python, codes de retour clairs, messages d'erreur exploitables. L'IA produit naturellement du code happy-path — il faut forcer la robustesse.

4
Tester en mode dry-run

Avant exécution réelle : passer le script en dry-run ou sur un environnement de staging. Vérifier les chemins, permissions, dépendances, comportement sur edge cases (fichier absent, disque plein, network down).

5
Versionner et documenter

Commit dans le repo infra avec : commentaire d'usage en tête, exemple d'invocation, paramètres documentés. L'IA peut aussi générer la doc Markdown automatiquement à partir du script.

Prompts copiables
Script de backup robuste
Tu es DevOps senior. Génère un script [BASH/PYTHON] qui :nn**Objectif** : sauvegarder [QUOI : DB / volumes / fichiers] vers [DESTINATION : S3, NAS, etc.]nn**Contraintes** :n- Environnement : [LINUX/UBUNTU/ALPINE]n- Idempotent : exécution multiple sans corruptionn- Rotation : conserver N backups, supprimer les plus anciensn- Compression : gzip/zstd selon le ratio compression/CPUn- Logs : structurés (JSON ou format clair) avec horodatagen- Notifications : Slack webhook ou email en cas d'échecn- Code de retour : 0 si OK, codes différents par type d'erreurn- `set -euo pipefail` ou équivalent strictnnFournis :n1. Le script complet, commentén2. Les variables d'environnement requises (avec exemple `.env.example`)n3. La commande d'invocation type (cron, systemd timer)n4. Les tests à faire avant de mettre en prod
Script de déploiement Blue/Green
Génère un script de déploiement Blue/Green pour cette application :nn**Stack** : [DESCRIPTION — ex : app Node.js sur ECS / Kubernetes / VM]n**Cible** : [ENVIRONNEMENT]n**Source** : registry [DOCKER HUB / ECR / GHCR]nnLe script doit :n1. Identifier la version actuelle (active)n2. Déployer la nouvelle version sur l'environnement inactifn3. Lancer un smoke test sur le nouveau déploiementn4. Si OK : basculer le trafficn5. Si KO : rollback automatiquen6. Logger chaque étape avec timestampsn7. Notifier Slack à chaque transitionnnFournis aussi le runbook : que faire si le smoke test échoue, comment rollback manuel si script crash, qui prévenir.
Script Python d'analyse CSV/JSON
Génère un script Python qui :nn**Input** : fichier [CSV/JSON] avec ces colonnes : [LISTE]n**Traitement** : [DÉCRIRE — ex : agréger par mois, calculer percentiles, détecter outliers]n**Output** : [FORMAT — CSV, JSON, Excel, graphique]nnContraintes :n- Python 3.11+ avec pandas/numpyn- Gestion des fichiers volumineux (chunking si >100MB)n- Validation des données en entrée (types, valeurs aberrantes)n- Logging via `logging` (pas de print)n- Argparse pour les paramètres (input, output, options)n- Code structuré en fonctions testablesn- Docstrings complètesnnFournis aussi : `requirements.txt`, exemple d'usage, et 3 cas de test à faire.
Conversion d'un script vers une autre stack
Convertis ce script :nn[SCRIPT D'ORIGINE]nnVers [LANGAGE/STACK CIBLE — ex : Bash → Python, ou Python → Go pour la perf].nnMaintien :n- Même comportement fonctionneln- Même gestion d'erreurs (ou meilleure si possible)n- Même format de logsn- Mêmes paramètres et codes de retournnFournis :n1. Le script convertin2. Les différences notables (ce qui change dans le comportement, pourquoi)n3. Les améliorations apportées au passage (perf, lisibilité, sécurité)n4. Les tests de non-régression à faire
Outils recommandés
Claude Code
Claude Code
★ 4.9 (92) · 20 USD/mois

Assistant de développement IA agentique par Anthropic : comprend votre codebase, édite des fichiers, exécute des commandes et s'intègre à votre environnement de développement.

Pourquoi : Le meilleur pour le scripting avec accès au contexte de votre repo. Gère bien les invariants production (idempotence, gestion d'erreurs).

Cursor
Cursor
★ 4.8 (145) · 20 USD/mois

Éditeur de code IA révolutionnaire basé sur VS Code avec agents autonomes

Pourquoi : L'IDE permet de générer et tester rapidement, avec accès aux fichiers du repo en contexte. Idéal pour itérer.

Claude Opus 4.5
Claude Opus 4.5
★ 4.9 (92) · 20 USD/mois

Claude Opus 4.5 : modèle premium d’Anthropic pour code, agents et tâches complexes en entreprise.

Pourquoi : Pour les scripts complexes avec logique multi-étapes, reasoning supérieur. Hallucinations limitées sur les flags et options de commandes.

ROI estimé
Temps gagné
70-80% sur les scripts standards (10-15 min vs 1-2h)
Gain qualité
Gestion d'erreurs et idempotence systématiques, doc auto-générée
Coût
20-30€/mois pour Claude Code ou Cursor Pro
Questions fréquentes
Le script généré est-il production-ready ?

Pas tel quel dans 90% des cas. Les pièges courants : permissions trop larges, gestion d'erreurs incomplète, hardcoded paths, secrets en clair. Toujours auditer avant prod : `shellcheck` pour bash, `bandit` ou `pylint` pour Python, et un humain pour la logique métier.

Peut-on faire générer du Terraform ou Ansible avec l'IA ?

Oui, c'est même un excellent cas d'usage. Mais : toujours valider avec `terraform plan` ou `ansible-playbook –check`, scanner avec `tfsec` ou `checkov`, et auditer les permissions IAM générées (l'IA est souvent trop permissive par défaut).

Comment gérer les secrets dans des scripts générés par IA ?

Règle d'or : jamais de secrets dans le prompt. Le script doit les charger depuis l'environnement (variables d'env, AWS Secrets Manager, Vault, etc.). Si l'IA suggère du hardcoded : remplacez systématiquement avant utilisation.

L'IA gère-t-elle bien les edge cases en scripting ?

Moins bien que la happy-path. Cas typiquement oubliés : fichier absent, disque plein, network timeout, permissions refusées, processus tué en cours d'exécution. Demander explicitement à l'IA de couvrir ces cas, et tester chaque scénario en pré-prod.

← Retour au guide DevOps / SRE
Ce site est enregistré sur wpml.org en tant que site de développement. Passez à un site de production en utilisant la clé remove this banner.