Portfolio : mon workflow d’automatisation

De 2000 posts Instagram à un portfolio professionnel

De 2000 posts Instagram à un portfolio professionnel

2022 : Les débuts de l'IA générative grand public

Il y a trois ans, quand Stable Diffusion a été rendu open-source, j'ai immédiatement compris que nous assistions à une révolution. Bien avant que ChatGPT ne fasse la une des journaux, bien avant que Midjourney ne fasse le buzz, j'explorais déjà les possibilités nombreuses de l'IA générative.

Mon parcours dans l'IA :

  • Septembre 2023 : Mon premier article sur Stable Diffusion
  • Juin 2024 : Analyse de Stable Diffusion v3
  • Juin 2024 : Tutoriel LCM-LoRA
  • Novembre 2024 : Guide avancé : créer ses propres LoRA

Le résultat ? Trois ans plus tard, j'ai généré plusieurs milliers d'images et développé une véritable expertise en IA générative, particulièrement sur Stable Diffusion.

Portrait artistique par Wanda AI Art

@wanda_aiart : De Instagram au portfolio

En parallèle de mes expérimentations techniques, j'ai créé le compte Instagram @wanda_aiart pour partager mes créations.

Les chiffres :

~2000 Posts en deux ans
500+ Images dans le portfolio
1.9k Visiteurs/mois

Plusieurs followers m'ont contacté en me disant vouloir revoir d'ancien post mais impossible de tout défiler, ils voulaient du repost mais je me suis dit que c'était pas forcément une bonne idée :

"I'd love to see your old pictures again, but it takes too long to scroll through all your posts!"

Instagram n'est pas conçu pour cela, je me suis mis dans l'idée de créer un portfolio, j'ai d'abord regardé les solutions possibles du genre ArtStation ou Behance, mais je voulais un site personnalisable et surtout à moi. J'aime créer des choses par moi même et désormais avec les IA c'est carrément plus accessible. Je voulais un site avec une page unique de mes images triées par ordre chronologique claire et avec une galerie optimisée et responsive.

Par la suite ce cahier a évolué avec différentes nouvelles fonctionnalités :

  • Héberger 500 images sans ralentir le site
  • Permettre la recherche par tags (style, personnage, technique)
  • Gérer le contenu mature (floutage et disclaimer +18)
  • Rendre le workflow d'ajout simple (je continue à créer chaque semaine)
  • Performance maximale (chargement en 5 secondes)
Découvrir mon portfolio

Ce que vous allez découvrir dans cet article

Je vais vous détailler le workflow complet que j'ai développé pour transformer mes créations Instagram en un portfolio professionnel :
  1. Sélection des images : comment je choisis parmi des milliers
  2. Conversion AVIF automatique : diviser le poids par 3 avec Python
  3. Interface de tagging : mon outil maison pour organiser rapidement
  4. Déploiement automatique : de Git à la production en 1 minute

Objectif : gagner 90% de temps tout en gardant un contrôle total.

Si vous gérez également une grande quantité d'images (photographe, designer, artiste IA), ce workflow pourrait vous inspirer.

Sélection et organisation des images

Toutes mes créations ne méritent pas d'être dans le portfolio. Certaines étaient des tests, d'autres des variations rapides, d'autres encore des challenges d'IA ou juste des ratés.

Mon processus de sélection :

Emplacement

  • J'utilise des archives locales (je sauvegarde toutes mes créations)
  • Format d'origine : JPG haute qualité (avant compression IG)

Tri manuel

  • Qualité artistique : composition, couleurs, cohérence
  • Représentativité : montre mes différents styles
  • Originalité : pas de doublons ou variations mineures
  • Engagement : je garde les images qui ont bien marché sur IG

Organisation chronologique

Je range dans des dossiers YYYY/MM/ (ex: 2024/03/)

Cela me permet de garder un historique de mon évolution.

Résultat du tri :
2000 posts Instagram → environ 500 images sélectionnées.
Soit 25% de mes créations qui méritent le portfolio.

Structure source de mes dossiers :

archives/
        ├── 2023/
        │   ├── 01/ (mes débuts avec le compte insta)
        │   ├── 02/
        │   ├── ...
        ├── 2024/
        │   ├── 01/
        │   ├── ...
        ├── 2025/
            ├── 01/

Cette organisation me permet de :

  • Retrouver facilement mes créations par période
  • Voir mon évolution technique (2022 vs 2025 = différences)
  • Automatiser la génération des métadonnées
  • Ajouter de nouveaux mois sans tout refondre

Conversion automatique en AVIF

Le défi : 500 images × 2-3 MB = site ultra-lent

Si je mettais mes JPG d'origine sur le portfolio :

  • Poids moyen : 2.5 MB par image
  • Chargement de 50 images : 125 MB
  • Temps de chargement : 20-30 secondes (catastrophique)

Solution : le format AVIF

Le format AVIF (AV1 Image File Format) est le nouveau standard du web moderne :

  • 50-70% plus léger que JPEG à qualité identique
  • Support de la transparence (comme PNG)
  • Supporté par tous les navigateurs récents
Exemple concret sur mes images :

📄 portrait_cyberpunk.jpg : 2.8 MB
📄 portrait_cyberpunk.avif : 850 KB (-70%)

Mon script Python convert.py

J'ai développé un script qui automatise tout le processus :

Ce qu'il fait :

  • Cherche dans un dossier sépcifique nommé images_originales
  • Détecte les JPG/PNG non encore convertis
  • Convertit en AVIF (qualité 80 = sweet spot qualité/poids)
  • Génère des thumbnails 300×300px pour la grille
  • Extrait les métadonnées EXIF (date de création, dimensions)
  • Garde les originaux en backup
Capture d'écran du script de conversion Python en action

Mon script Python en action : conversion de 10 images pour décembre 2025

Temps d'exécution rapide même pour plusieurs images:
44 images converties en environ 1 minutes
Lancé une seule fois, puis seulement sur les nouvelles images

Résultat sur mon portfolio :

  • Page d'accueil (50 images) : 12 MB au lieu de 125 MB
  • Temps de chargement : moins de 2 secondes

Bonus technique : Le script génère aussi des versions WebP en fallback pour les vieux navigateurs (même si AVIF est maintenant bien supporté).

Tagging intelligent des images

Le défi : 500 images à organiser

Avoir 500 images, c'est bien. Pouvoir les retrouver facilement, c'est mieux.

Mes besoins de recherche :

  • Par style : anime, realistic, cyberpunk, watercolor
  • Par personnage : Naruto, Luffy, Jinx (mes fanarts)
  • Par thème : portrait, landscape, fantasy, abstract
  • Par catégorie : filtrer le contenu mature (nsfw, suggestive)
Faire ça manuellement = cauchemar :

500 images × 1 minute = 8 heures de tagging
Risque d'erreurs (tags mal orthographiés, doublons)
Difficile de rester cohérent sur 500 images

Mon interface de tagging via tag_images.py

J'ai développé une application Flask locale (Python + HTML/CSS/JS) qui transforme cette corvée en processus fluide.

Interface de tagging Flask

Fonctionnalités clés :

1. Visualisation en grille

  • Affichage de toutes mes images par dossier
  • Prévisualisation en grand au clic
  • Tri par date de création

2. Suggestions automatiques

  • Analyse du nom de fichier
  • Détection des couleurs dominantes
  • Tags précédents similaires
  • Tags populaires en priorité

3. Interface rapide

  • Clic sur suggestion : ajout instantané
  • Saisie manuelle : autocomplete
  • Modification en masse possible
  • Sauvegarde automatique

4. Contenu mature

  • Tags spéciaux : nsfw, suggestive, explicit
  • Floute automatique des thumbnails
  • Filtre activable sur le portfolio
Temps gagné

Avant l'interface :
50 images taguées manuellement : 1 heure

Avec mon interface :
50 images taguées : 10 minutes

Gain : 83% de temps économisé

Génération automatique du site

Le script Python generate_gallery.py

Une fois mes images converties et taguées, un seul script Python régénère l'intégralité du HTML du portfolio.

Ce qu'il fait en détail :

1. Lecture des métadonnées

  • Lit le fichier metadata.json qui contient les tags
  • Fusionne les données
  • Structure de manière unifiée

2. Génération du HTML

  • Cards avec lazy loading
  • Boutons de filtrage
  • Système de recherche
  • Timeline chronologique

3. Optimisation SEO

  • Génère sitemap.xml
  • Met à jour robots.txt
  • Métadonnées OpenGraph

4. Pages annexes

  • Page "About" avec stats
  • Analytics (en préparation)
  • Tags populaires
Temps d'exécution :
500+ images indexées : moins de 5 secondes

Avantages du HTML statique

Contrairement à un site dynamique (WordPress, React + API), j'ai choisi le HTML statique pur :

⚡ Performances

  • Pas de requête base de données
  • CDN Cloudflare : 300+ serveurs
  • PageSpeed Score : 95/100

🔒 Sécurité

  • Aucune faille backend possible
  • Pas de spam/injection
  • HTTPS automatique

💰 Coût

  • Hébergement : 0€
  • Domaine : 15€/an
  • Total : 15€/an

📈 SEO

  • Contenu 100% crawlable
  • Temps de chargement optimal
  • Facteur de ranking Google

Déploiement via Cloudflare Pages

Comme je suis sur VSCode, j'ai juste à pousser sur GitHub et Cloudflare se charge de la suite :

  1. Webhook détecte le push Git
  2. Build du site (copie des fichiers statiques)
  3. Déploiement sur le CDN mondial
  4. Site en ligne sur wanda-aiart.org
Temps total : 1 minute.

Avantages de ce workflow

Simplicité :

  • Pas de FTP/SSH : tout passe par Git
  • Rollback facile
  • Déploiement depuis n'importe où

Fiabilité :

  • Zero-downtime : Cloudflare switch entre versions
  • Pas de serveur à maintenir
  • HTTPS automatique + certificat SSL

Coût :

  • Entièrement gratuit !! (Cloudflare Pages gratuit jusqu'à 500 builds/mois)

Résultats et statistiques

Performance du site

Grâce à ce workflow optimisé, mon portfolio atteint des scores exceptionnels :

92/100 PageSpeed Mobile
95/100 PageSpeed Desktop
0.8s First Contentful Paint
1.6s Largest Contentful Paint

Métriques Cloudflare (30 derniers jours) :

  • 1,9k visiteurs uniques
  • 142k requêtes (beaucoup d'images)
  • 5 GB de données servies
  • Cache hit rate : 32% (en amélioration avec les headers)

Comparaison poids :

  • Avant AVIF : 125 MB pour 50 images
  • Après AVIF : 12 MB pour 50 images
  • Gain : -90% de bande passante

Gain de temps monumental

Étape Avant automatisation Avec automatisation
Sélection des images 30 min 20 min
Conversion + redimensionnement 1h 2 min
Upload FTP 30 min
Tagging manuel 1h 10 min
Mise à jour HTML 1h 5 sec
Déploiement 30 sec
TOTAL 4h 33 min
Gain : 87% de temps économisé

Sur 1 an (en ajoutant 50 images/mois) :
• Méthode manuelle : 12 mois × 4h = 48 heures
• Méthode automatisée : 12 mois × 33 min = 6h30

41 heures gagnées par an = 1 semaine de travail complète.

Stack technique détaillée

Pour les curieux, voici l'ensemble des outils que j'utilise :

Backend / Scripts Python

Conversion d'images

  • Pillow (PIL) : manipulation d'images
  • pillow-avif-plugin : support du format AVIF

Interface de tagging

  • Flask : serveur web local Python
  • Jinja2 : templating HTML

Génération du site

  • JSON : stockage des métadonnées
  • Python natif : génération HTML statique

Frontend

HTML/CSS/JS pur

  • Pas de framework (React/Vue) pour la simplicité
  • Vanilla JavaScript : filtrage, lazy loading, modal
  • CSS Grid : grille responsive
  • Intersection Observer API : lazy loading natif

Format des images

  • AVIF (priorité)
  • WebP (fallback)
  • JPG (fallback ultime)

Hébergement & Déploiement

Version control

  • Git : versioning du code
  • GitHub : hébergement du repo (privé)

Hosting

  • Cloudflare Pages : hébergement gratuit
  • Cloudflare CDN : distribution mondiale
  • Cloudflare DNS : gestion du domaine

Domaine

  • wanda-aiart.org (15€/an chez Cloudflare)

Ce que je fais différemment maintenant

1. Partir sur AVIF dès le début

J'ai commencé en JPG, puis converti → perte de temps. Maintenant j'exporte directement en AVIF depuis Photoshop (plugin requis pour CC 2021).

2. Structurer les tags plus tôt

Au début : tags anarchiques (girl, woman, female…). Maintenant : nomenclature stricte. J'ai dû retravailler 200 images pour unifier.

3. Documenter au fur et à mesure

J'ai codé vite, documenté après. Résultat : j'ai oublié certains choix techniques. Maintenant : Python + README à jour.

4. Anticiper la croissance

Mon script de génération rame à 1000+ images. Je dois passer sur une architecture plus scalable (génération incrémentale).

Conclusion

De 2000 posts Instagram à un portfolio professionnel

Il y a trois ans, j'étais parmi les premiers à explorer Stable Diffusion en tant qu'artiste. Aujourd'hui, avec 2000 créations partagées sur @wanda_aiart, j'ai développé un système complet pour gérer ce flux créatif.

Mon workflow en résumé :

  1. Sélection : tri manuel des meilleures créations
  2. Conversion AVIF : script Python automatique
  3. Tagging : interface Flask sur-mesure
  4. Déploiement : git push → site en ligne en 1 minute

Résultats concrets :

  • Site ultra-rapide : PageSpeed 95/100
  • 87% de temps gagné vs workflow manuel
  • 0€ d'hébergement (Cloudflare Pages)
  • 1,9k visiteurs/mois en croissance
Mon plus grand apprentissage ?

L'automatisation n'est pas de la paresse, c'est de l'efficacité.

Chaque heure investie dans mes scripts Python m'a fait gagner des dizaines d'heures de travail répétitif. Cela me laisse plus de temps pour l'essentiel : créer.

Pourquoi partager tout cela ?

Parce que l'IA générative est un domaine neuf, et nous sommes nombreux à tâtonner.

Si vous êtes :

  • Artiste IA avec beaucoup de créations à gérer
  • Photographe qui veut un portfolio rapide
  • Designer cherchant à automatiser son workflow
  • Développeur curieux de workflows Python

Cet article peut vous faire gagner des mois d'essais.

Une question ? Un retour ?

Suivez-moi sur LinkedIn pour mes prochains articles (workflow avancés, IA générative, Python automation).

Me suivre sur LinkedIn

Ressources externes utiles

Pour reproduire ce workflow :

Pour l'IA générative :

Envie d'en savoir plus ?

Mes ressources :

Mes tutoriels Stable Diffusion :