python_PNG_2_JPG

Conversion PNG en JPG : Optimiser les images générées par IA pour le web

Si, comme moi, tu utilises des outils d’IA comme Stable Diffusion pour générer des images, tu sais que les fichiers PNG peuvent rapidement occuper beaucoup d’espace. Je choisis ce format pour préserver la qualité maximale des images, essentielle pour les retouches. Cependant, lorsqu’il s’agit de les utiliser sur le web, où la taille des fichiers est cruciale, convertir ces PNG en JPG devient indispensable. Le JPG permet de réduire considérablement le poids des fichiers tout en maintenant une qualité suffisante. Plutôt que de faire cette conversion manuellement via un logiciel, j’ai opté pour un script Python qui automatise le processus en masse, tout en conservant les PNG d’origine pour d’éventuels besoins futurs.

Étape 1 : Installer Python sur Windows 11

Avant de commencer, assure-toi d’avoir Python installé sur ton ordinateur. Voici comment faire :

  1. Télécharge Python depuis python.org.
  2. Lors de l’installation, veille à cocher l’option « Add Python to PATH » pour faciliter l’utilisation de Python depuis l’invite de commandes.

Étape 2 : Installer la bibliothèque Pillow

Pour manipuler les images, nous utiliserons la bibliothèque Pillow, qui est une extension de Python. Voici les étapes pour l’installer :

  1. Ouvre l’invite de commandes ou PowerShell (appuie sur Win + R, tape cmd, puis appuie sur Entrée).
  2. Tape cette commande pour installer Pillow :
Bash
pip install Pillow
Bash

Étape 3 : Créer le script de conversion d’images

Une fois que tout est installé, il est temps de créer le script Python qui va convertir les fichiers PNG en JPG tout en conservant les fichiers originaux.

  1. Ouvre Notepad ou ton éditeur de texte préféré.
  2. Copie et colle le code suivant dans un nouveau fichier texte, et enregistre le avec le nom et l’extention : convert_images.py (par exemple)
Python
import os
from PIL import Image

def convert_png_to_jpg(source_directory, destination_directory):
    # Vérifier si le répertoire de destination existe, sinon le créer
    if not os.path.exists(destination_directory):
        os.makedirs(destination_directory)

    for root, dirs, files in os.walk(source_directory):
        for file in files:
            if file.endswith(".png"):
                png_path = os.path.join(root, file)
                # Conserver la structure des sous-dossiers dans le répertoire de destination
                relative_path = os.path.relpath(root, source_directory)
                destination_subdir = os.path.join(destination_directory, relative_path)

                # Créer les sous-dossiers dans le répertoire de destination si nécessaire
                if not os.path.exists(destination_subdir):
                    os.makedirs(destination_subdir)

                # Chemin du fichier JPG à sauvegarder
                jpg_path = os.path.join(destination_subdir, file[:-4] + ".jpg")
                
                with Image.open(png_path) as img:
                    # Convertir en mode RGB pour JPG
                    img = img.convert("RGB")
                    
                    # Ajuster la qualité et compresser
                    img.save(jpg_path, "JPEG", quality=85, optimize=True)

                print(f"Fichier converti : {file} vers {jpg_path}")

# Utilisation : spécifier le répertoire source et le répertoire de destination
source_directory = r'F:\votre_chemin_de_dossier\png'
destination_directory = r'F:\votre_chemin_de_dossier\jpg2'
convert_png_to_jpg(source_directory, destination_directory)
Python

Étape 4 : Exécuter le script

Pour exécuter ce script Python, suis les étapes ci-dessous :

1 – Ouvre l’invite de commandes.

2 – Navigue jusqu’au dossier où tu as enregistré ton script. Par exemple :

3 – Exécute le script avec la commande suivante :

Bash
python convert_images.py
Bash

Le script va parcourir chaque fichier PNG du dossier spécifié, créer une version JPG avec compression, et laisser les fichiers PNG originaux en place. À chaque conversion, un message indiquera que le fichier PNG a été conservé.

Astuces supplémentaires

  • Ajuster la qualité des JPG : Si tu veux ajuster la qualité de l’image convertie, modifie la valeur quality=85 dans le script. Tu peux essayer des valeurs entre 70 et 90 pour trouver le meilleur compromis entre qualité et taille.
  • Gestion des sous-dossiers : Le script parcourt automatiquement tous les sous-dossiers du répertoire spécifié, ce qui te permet de convertir des fichiers PNG dans plusieurs dossiers en une seule exécution.
  • Vérification des tailles : Tu peux vérifier manuellement la taille des fichiers JPG par rapport aux PNG originaux pour t’assurer que la conversion réduit bien la taille des fichiers.

Conclusion

Grâce à ce script Python, tu peux désormais convertir facilement des lots d’images PNG en JPG sous Windows 11, tout en conservant les fichiers originaux pour référence ou modifications ultérieures. Cette solution est parfaite pour gagner de l’espace de stockage sans sacrifier la qualité des images. Si tu n’es pas à l’aise avec le code, des outils graphiques comme ImageMagick peuvent aussi t’aider, mais le script Python offre plus de flexibilité pour ajuster les paramètres selon tes besoins.