Infographies et composition par calques avec l'IA
Produire une infographie déclinée en 4 formats à partir d'un CSV : les chiffres et les textes viennent du code, Gemini propose la structure et dessine fonds, illustration et icônes, la composition se fait en calques (Pillow, SVG, PDF) et chaque export passe un contrôle automatique de contraste, de débordement et de densité.

Le service communication de Rivage Logistique (entreprise fictive, six entrepôts) veut son bilan électrique 2026 en affiche A4, en carré Instagram, en story et en visuel LinkedIn, pour vendredi. La tentation : coller le CSV dans un modèle d'image et demander « une infographie ». Le 2026-10-15, nous l'avons fait avec deux modèles Gemini : l'un a écrit « CONSOMMTION (MWh) BY SITE » et des points décimaux anglais, l'autre a recopié les chiffres juste mais arrondi la variation de lui-même. Ni l'un ni l'autre ne se relit automatiquement, ne se décline en quatre formats identiques, ni ne se corrige sans tout régénérer.
Cette formation construit la méthode d'un studio : les données et le texte sortent du code, l'IA fabrique les pixels sans information, la composition se fait en calques et une machine contrôle chaque export avant qu'un humain le voie.
Ce que vous livrez
Un dépôt Python qui, à partir de donnees/energie_entrepots_2026.csv, produit :
| Livrable | Détail |
|---|---|
| 4 formats | affiche A4 (1240×1754 px, PDF à 150 dpi), carré 1080×1080, story 1080×1920 avec zones sûres, LinkedIn 1200×627 |
| 3 exports par format | PNG, SVG à calques nommés (s'ouvre calque par calque dans Inkscape), PDF vectoriel à texte sélectionnable |
| 6 calques séparés | 01-fond … 06-texte, en PNG transparents pleine taille |
| Un rapport | manifeste.json (structure retenue, modèles, contrôles) et apercu.html (la planche ci-dessus) |
Architecture
flowchart LR
CSV["CSV (6 sites)"] --> D["donnees.py : validation, faits calculés, format français"]
D --> S["structure.py : Gemini propose titres et angle avec des variables"]
S --> V{"Chiffre écrit par le modèle ?"}
V -->|"oui"| DEF["Structure par défaut"]
V -->|"non"| M["Mise en page par format"]
DEF --> M
G["visuels.py : Gemini image, fonds, illustration, icônes"] --> DT["Détourage fond vert + cache disque"]
DT --> M
M --> C["controles.py : contraste mesuré, débordement, zones sûres, densité"]
C --> E["export.py : PNG, SVG, PDF, calques"]
Stack, coût, durée
| Langage | Python 3.10+, Pillow 12, NumPy, ReportLab 5, pydantic, google-genai 2.31 |
| Modèles | gemini-3.5-flash (structure), gemini-3.1-flash-image par défaut, gemini-3-pro-image pour le rendu final |
Coût d'un make e2e | 6 images + 1 appel texte : ≈ 0,40 en Pro Image (tarifs publiés relevés le 2026-10-15) ; les runs suivants réutilisent le cache d'images et ne paient que l'appel texte |
| Google Cloud | aucune ressource : une clé d'API Gemini suffit |
| Durée | 7 h, en 7 leçons |
Prérequis
- Python courant (dataclasses, typage, pytest) et notions de Pillow.
- Une clé d'API Gemini (Google AI Studio) pour
make e2e. Les 23 tests et la démo hors ligne n'en ont pas besoin. - Recommandé : Générer des images professionnelles avec l'IA, pour le prompt d'image et le choix du modèle.
Programme
| Module | Leçon | Ce que vous faites | Fin de leçon |
|---|---|---|---|
| 1. Cadrer | Pourquoi l'infographie ne se génère pas d'un bloc | Le contre-exemple réel, le partage des rôles code / IA | make test vert |
| 2. La matière | Données, faits et structure proposée par l'IA | CSV validé, faits calculés, titres à variables | make test vert |
| 2. La matière | Visuels générés et détourage | Prompts sans information, fond vert, cache | make run génère 6 visuels |
| 3. Composer | Grille, typographie et calques | Modèle de scène, échelle typographique, couleurs | calques exportés |
| 3. Composer | Des graphiques lisibles | Barres triées, étiquettes directes, mise en avant | graphique contrôlé |
| 4. Livrer | Le contrôle automatique | Contraste mesuré sur les pixels, débordement, densité | premier run réel corrigé |
| 4. Livrer | Exports et déclinaisons | PNG, SVG, PDF, 4 formats, CI, nettoyage | make e2e vert, make clean |
Le code
Tout le dépôt est dans files/ : README.md, Makefile, le paquet src/infographie/, les tests et un pipeline ci/github-actions.yml à copier dans .github/workflows/.
الموارد
تنزيل الكل (.zip)المراجع
- Génération d'images avec l'API Geminiai.google.dev — Modèles d'image, ratios d'aspect, configuration utilisée dans visuels.py
- Sorties structurées (JSON + schéma) de l'API Geminiai.google.dev — Le schéma Proposition imposé au modèle texte
- Tarifs de l'API Geminiai.google.dev — Prix par image relevés le 2026-10-15
- WCAG 2.2 : comprendre le contraste minimum (1.4.3)w3.org
- WCAG 2.2 : contraste des éléments non textuels (1.4.11)w3.org
- Pillow : ImageDrawpillow.readthedocs.io
- ReportLab : graphiques et texte dans un PDFdocs.reportlab.com
- Police Inter (SIL Open Font License)github.com