DEV Community

Dev du Sud
Dev du Sud

Posted on

Trier et classer automatiquement ses photos et documents avec Python

Le grand dossier en vrac

Sur beaucoup d'ordinateurs, il existe un dossier qui fait peur. Il s'appelle souvent Téléchargements, Bureau, ou À trier. Dedans, on trouve des photos, des PDF, des captures d'écran, des factures, des fichiers Word, des archives ZIP, parfois même des choses qu'on ne reconnaît plus.

Ranger tout ça à la main prend du temps. Et comme ce n'est pas très amusant, on repousse. Résultat : le dossier grossit encore.

Python peut aider à faire un premier tri automatique. L'idée n'est pas de deviner parfaitement le contenu de chaque document. L'idée est plus simple : classer les fichiers par famille grâce à leur extension. Les .jpg vont dans Photos, les .pdf dans PDF, les .docx dans Documents, et ainsi de suite.

Pourquoi commencer par les extensions

L'extension, c'est la fin du nom du fichier : .jpg, .pdf, .xlsx, .png. Ce n'est pas parfait, mais c'est déjà très utile. Pour un premier rangement, on n'a pas besoin d'intelligence artificielle. Une règle claire suffit.

Avant de lancer le script sur votre vrai dossier Téléchargements, copiez quelques fichiers dans un dossier de test. C'est une bonne habitude : on teste petit, puis on applique plus grand.

Le script Python

from pathlib import Path
import shutil

DOSSIER_A_TRIER = Path("a-trier")
MODE_TEST = True

CATEGORIES = {
    "Photos": [".jpg", ".jpeg", ".png", ".gif", ".webp"],
    "PDF": [".pdf"],
    "Documents": [".doc", ".docx", ".odt", ".txt"],
    "Tableurs": [".xls", ".xlsx", ".csv"],
    "Archives": [".zip", ".rar", ".7z"],
}

def trouver_categorie(extension):
    for categorie, extensions in CATEGORIES.items():
        if extension in extensions:
            return categorie
    return "Autres"

for fichier in DOSSIER_A_TRIER.iterdir():
    if not fichier.is_file():
        continue

    categorie = trouver_categorie(fichier.suffix.lower())
    dossier_destination = DOSSIER_A_TRIER / categorie
    nouvelle_adresse = dossier_destination / fichier.name

    print(f"{fichier.name} -> {categorie}/")

    if not MODE_TEST:
        dossier_destination.mkdir(exist_ok=True)
        shutil.move(str(fichier), str(nouvelle_adresse))
Enter fullscreen mode Exit fullscreen mode

Comment utiliser ce script

Créez un dossier a-trier, mettez une dizaine de fichiers dedans, puis lancez le script. Au départ, MODE_TEST est à True. Le script affiche ce qu'il ferait, mais ne déplace rien. C'est parfait pour vérifier que les catégories vous conviennent.

Quand le résultat affiché semble bon, passez MODE_TEST à False. Le script créera les dossiers nécessaires et déplacera les fichiers.

Si vous voulez ajouter une catégorie, modifiez simplement le dictionnaire CATEGORIES. Par exemple, vous pouvez créer une catégorie Images boutique pour les .jpg et .png, ou une catégorie Compta pour certains fichiers si vous adaptez ensuite la règle.

Les limites à connaître

Ce script ne lit pas le contenu des documents. Un PDF de facture et un PDF de menu restaurant iront tous les deux dans PDF. Pour faire mieux, il faudrait analyser le texte, les dates, ou les noms de fichiers. C'est possible, mais ce serait une étape suivante.

Autre limite : si un fichier du même nom existe déjà dans le dossier de destination, le déplacement peut poser problème. Pour un usage sérieux, on peut ajouter une règle qui renomme automatiquement le fichier en ajoutant un numéro. Pour débuter, gardons le script lisible.

Une bonne méthode de rangement

L'automatisation ne remplace pas une bonne logique. Avant de trier, demandez-vous quelles catégories vous voulez vraiment. Trop de dossiers, c'est aussi pénible que pas assez. Pour beaucoup de personnes, cinq ou six familles suffisent : Photos, PDF, Documents, Tableurs, Archives, Autres.

Ensuite, lancez ce script une fois par semaine. Votre dossier Téléchargements ne deviendra plus une décharge numérique.

Pourquoi c'est utile pour un non-développeur

Ce type de script donne une sensation très agréable : l'ordinateur fait enfin ce qu'on lui demande. Pas besoin de comprendre des concepts compliqués. On écrit une règle simple, puis Python l'applique sans se lasser.

Pour une petite entreprise, ce rangement peut éviter de perdre des factures, des photos produits ou des documents clients. Pour un particulier, ça rend juste l'ordinateur plus respirable.

À retenir

Un bon tri automatique commence petit. Une copie, quelques fichiers, un mode test, puis seulement après le vrai dossier. Avec cette méthode, vous avancez sans stress et vous gardez le contrôle.

Top comments (0)