Python
Python en conditions réelles
Une boîte à outils d'ingénieur Python orientée terrain : des mini-programmes complets et autonomes (souvent en bibliothèque standard pure) qui résolvent un vrai problème de bout en bout — diagnostiquer un incident Ops, réconcilier deux exports comptables, auditer une dérive de schéma. Chaque snippet s'exécute, sa sortie est réelle, et l'accent est mis sur la robustesse (cas limites, NaN, idempotence) plutôt que sur la syntaxe.
20 snippets phares
- groupby + transform : features alignées sur les lignestransform renvoie une série de la taille du DataFrame d'origine : idéal pour normaliser chaque ligne par rapport à son groupe.
- Réduire la mémoire d'un DataFrame (downcast + category)Downcast des entiers/flottants et conversion des colonnes texte répétitives en category : division par 5 à 10 de l'empreinte mémoire.
- merge_asof : jointure temporelle sans fuite futureAssocier chaque événement à la dernière valeur connue d'une autre série (direction backward), avec tolérance maximale.
- accumulate : equity curve et drawdown maximalCumuls avec itertools.accumulate : somme courante pour la courbe de capital, max courant pour les plus hauts, et drawdown par différence.
- Analyse Pareto : value_counts et part cumuléeFréquences, pourcentages et cumul en trois lignes : identifie combien de motifs expliquent 80 % du volume.
- Analyseur de logs Nginx : rapport de trafic completMini-outil qui parcourt un access.log, agrège le trafic par heure et par classe de code HTTP, puis imprime un rapport console avec barres ASCII et pourcentages.
- Backtest simple : croisement de moyennes mobilesBacktest vectorisé d'une stratégie SMA 20/50 sur des bougies H1 : position décalée d'une barre (pas de look-ahead), equity curve, winrate et drawdown maximal.
- Réconciliation de deux exports comptablesMerge outer avec indicator entre l'export banque et l'export compta : écritures absentes de part et d'autre, écarts de montant au centime, et tableau des lignes à pointer.
- Surveillance d'expiration des certificats SSLSe connecte en TLS à chaque domaine du parc, lit la date notAfter du certificat et classe l'urgence du renouvellement (OK / BIENTOT / URGENT) dans un tableau d'état.
- Rapport SLA sur un export de tickets supportCalcule la durée de résolution de chaque ticket, la compare au SLA de sa priorité (P1=4h … P4=72h) et produit un tableau respect / médiane par priorité avec drapeaux sous l'objectif.
- Catégorisation automatique d'un relevé bancaireClasse chaque dépense d'un relevé CSV par règles regex sur le libellé, cumule les totaux par catégorie et imprime la répartition avec barres proportionnelles.
- Analyse de stock : classification ABC et rupturesCalcule la valeur immobilisée par référence, classe le stock en A/B/C selon la part cumulée (80/95/100) et liste les références qui seront en rupture sous 7 jours au rythme de vente actuel.
- Dédoublonnage flou de fiches clients (SequenceMatcher)Compare toutes les paires de fiches (nom + ville) avec difflib.SequenceMatcher et liste les doublons probables au-dessus de 88 % de similarité, score en tête pour arbitrage humain.
- Banc d'essai timeit : 3 implémentations face à faceCompare trois façons de sommer 100 000 entiers avec timeit.repeat (minimum de 5 répétitions), puis classe les candidats par ms/appel avec ratio et barres.
- Contrôle de migration : comptages source vs cibleCompare table par table les volumétries de l'ancien et du nouveau système, affiche les deltas signés et rend un verdict GO / NO-GO pour la bascule.
- Cache disque en décorateur avec statistiques hit/missDécorateur qui mémorise les retours de fonction en JSON sur disque (clé SHA-1 des arguments), survit aux redémarrages contrairement à lru_cache, et trace les hits/miss.
- Anonymiseur RGPD : pseudonymisation d'un export CSVRemplace les champs PII (nom, prénom, email, téléphone) par un hash SHA-256 salé et tronqué — déterministe, donc les jointures entre fichiers restent possibles après anonymisation.
- Mini moteur de recherche TF-IDF sur la documentationIndexe les fichiers Markdown d'un dossier docs/, calcule un score TF-IDF maison (sans dépendance) et classe les documents les plus pertinents pour une requête libre.
- Détecteur de dérive de schéma entre deux extractionsCompare colonnes et dtypes de deux extractions mensuelles du même flux : colonnes ajoutées/retirées, types modifiés, et verdict bloquant ou non pour le pipeline aval.
- Orchestrateur de jobs séquentiels avec journalEnchaîne les étapes d'un pipeline (extract, transform, load, checks) via subprocess, s'arrête à la première erreur et imprime le journal d'exécution : code retour, durée, état par étape.