Est-ce que votre Google Drive ressemble à un tiroir de bureau après un déménagement ? Des PDF qui côtoient des photos de vacances et des tableurs égarés… Trier tout cela à la main est une corvée que l’on repousse sans cesse. Et je suis sûr qu’à chaque fois, vous vous dites « Une autre fois ….. !«
Si vous employez un Chromebook, vous utilisez un tant soit peu l’informatique. Et grâce à cet outil nous allons lui demander d’effectuer cette tâche qui vous rebute. Nous n’allons pas simplement ranger, nous allons missionner un robot pour qu’il transporte et classe vos fichiers. Grâce à Google Colab et un soupçon de Python, votre Drive va se structurer tout seul, créant ses propres dossiers et classant chaque fichier au bon endroit.
💡 Rappel important : Ce travail ne s’effectue pas sur votre ordinateur (Chromebook ou autre), mais directement sur les serveurs sécurisés de Google.
A retenir :
Cet article présente un algorithme de gestion de système de fichiers utilisant les bibliothèques
osetshutilpour automatiser le cycle « Analyse-Classification-Déplacement ». Il intègre une gestion récursive des répertoires viaos.makedirset une routine de résolution de conflits de nommage pour prévenir l’écrasement de données lors du transfert vers des dossiers cibles catégorisés.
Fiche technique : Le système de tri autonome
| Caractéristique | Détails |
| Mission | Analyser, transporter et classer vos fichiers |
| Outils utilisés | Google Drive & Google Colab (Gratuits) |
| Point A (Source) | Votre dossier de désordre (A_TRIER) |
| Point B (Cible) | Votre dossier propre (ARCHIVES_FINALES) |
| Intelligence | Création automatique des sous-dossiers par type |
La magie du « déménagement intelligent »
- Le point A (La source) : Votre bac à sable.
- L’analyse : Le robot identifie le type de fichier (ex:
.pdf). - La création du point B : Le robot crée les sous-dossiers automatiquement.
- La sécurité anti-doublon : Votre script intègre une logique avancée qui, avant d’utiliser
shutil.move, vérifie si un fichier du même nom existe déjà au Point B, le renommant intelligemment (ex:Rapport (1).pdf) pour tout conserver.
Le script « Déménageur » (Version haute sécurité)
Rendez-vous sur colab.research.google.com et utilisez ce script. Il inclut la gestion des erreurs et des doublons.
import os
import shutil
from google.colab import drive
# 1. Montage du Drive
if not os.path.exists('/content/drive'):
drive.mount('/content/drive')
# 2. CONFIGURATION DES POINTS DE PASSAGE
point_a_source = '/content/drive/MyDrive/A_TRIER'
point_b_dest = '/content/drive/MyDrive/ARCHIVES_FINALES'
# 3. Le dictionnaire d'intelligence
categories = {
'01_DOCUMENTS_PDF': ['.pdf'],
'02_PHOTOS_IMAGES': ['.jpg', '.jpeg', '.png', '.gif'],
'03_DOCS_BUREAUTIQUE': ['.docx', '.txt', '.doc', '.odt'],
'04_TABLEURS_DATA': ['.xlsx', '.csv', '.xls'],
'05_ARCHIVES_ZIP': ['.zip', '.rar']
}
print(f"🤖 Robot : Transfert sécurisé de {point_a_source} vers {point_b_dest}...")
if not os.path.exists(point_b_dest):
os.makedirs(point_b_dest)
if not os.path.exists(point_a_source):
print(f"⚠️ Erreur : Dossier source '{point_a_source}' introuvable.")
else:
fichiers = [f for f in os.listdir(point_a_source) if os.path.isfile(os.path.join(point_a_source, f))]
for nom_fichier in fichiers:
base, ext = os.path.splitext(nom_fichier)
extension = ext.lower()
range_pour_ce_fichier = False
for nom_sous_dossier, ext_autorisees in categories.items():
if extension in ext_autorisees:
chemin_final = os.path.join(point_b_dest, nom_sous_dossier)
if not os.path.exists(chemin_final):
os.makedirs(chemin_final)
# --- LOGIQUE ANTI-DOUBLON ---
cible_path = os.path.join(chemin_final, nom_fichier)
nouveau_nom = nom_fichier
i = 1
while os.path.exists(os.path.join(chemin_final, nouveau_nom)):
nouveau_nom = f"{base} ({i}){ext}"
i += 1
# --- TRANSFERT SÉCURISÉ ---
try:
shutil.move(os.path.join(point_a_source, nom_fichier),
os.path.join(chemin_final, nouveau_nom))
message = f"✅ {nom_fichier} -> {nom_sous_dossier}"
if nouveau_nom != nom_fichier:
message += f" (renommé en {nouveau_nom})"
print(message)
except Exception as e:
print(f"❌ ERREUR sur {nom_fichier} : {e}")
range_pour_ce_fichier = True
break
if not range_pour_ce_fichier:
print(f"ℹ️ IGNORÉ : {nom_fichier} (Pas de catégorie prévue)")
print("\n✨ Mission terminée. Votre Drive est un modèle d'ordre !")
Une exemple d’exécution
Pour bien comprendre le processus qui va s’effectuer sur vos fichiers voici un exemple de scénario :
Avant l’exécution du script (dans MyDrive) :

Pendant l’exécution, vous verrez des messages comme :

Après l’exécution du script (dans MyDrive) :

Archive brute (Section : robustesse logicielle)
Résolution des conflits de noms : L’implémentation d’une boucle while os.path.exists garantit l’unicité du nom de fichier dans la destination avant même que le transfert ne commence. Cela transforme un simple script de tri en un véritable outil de sauvegarde incrémentale.
Gestion des exceptions : L’ajout du bloc try-except autour de shutil.move assure la continuité du service. Si un fichier est verrouillé ou corrompu, le script passe au suivant au lieu de s’arrêter brutalement, ce qui est crucial pour les volumes de données importants.
Comprendre quelques fonctions
L’architecte
Dans le langage Python, os.makedirs est l’outil qui permet de créer des dossiers (répertoires) sur votre disque dur ou votre Google Drive. C’est cet outil que nous utilisons dans le code. Il a une fonction bien particulière, et pour que vous compreniez bien sa fonction, voici comment il fonctionne. Imaginez que vous demandez à un ouvrier de poser un carton dans la « Chambre 202 » d’un hôtel.
Un contenu de qualité, sans publicité.
Vous aimez notre travail ? Soutenez notre indépendance en devenant membre sur Patreon.
Soutenir MyChromebook.fr- Si vous utilisez une commande de copie classique et que la chambre n’existe pas, l’ouvrier s’arrête et dit : « Je ne trouve pas l’endroit« .
- Si vous utilisez
os.makedirs, l’ouvrier regarde si la chambre existe. Si elle n’est pas là, il sort ses outils, construit la chambre, installe la porte, et seulement après, il pose le carton.
Pourquoi c’est « Magique » dans notre script ?
Dans notre article, nous l’utilisons pour transformer le Point B en un espace intelligent :
- Récursion : Le « s » à la fin de
makedirssignifie qu’il peut créer toute une file de dossiers d’un coup. Si vous voulez créerArchives/2024/PDF, il créera les trois dossiers en une seule commande. - Sécurité : Nous l’utilisons souvent avec une option de sécurité. Le robot vérifie d’abord : « Est-ce que ce dossier existe déjà ? ». Si oui, il ne fait rien (il ne va pas casser ce qui est déjà construit).
- Autonomie : C’est ce qui permet à l’utilisateur de ne rien préparer. Le script découvre un fichier
.jpg, il décide qu’il faut un dossierPHOTOS, etos.makedirsle sort de terre instantanément.
Fiche technique : os.makedirs
| Composant | Rôle |
os | Le module « Operating System » (il parle au système de fichiers). |
makedirs | La fonction « Make Directories » (créer des répertoires). |
| Le chemin (Path) | L’adresse exacte où le dossier doit être construit. |
| L’automatisme | Évite les erreurs « Folder Not Found » (Dossier non trouvé). |
Le déménageur
Si os.makedirs est l’architecte qui construit les placards, shutil.move est le déménageur qui porte vos cartons d’un point à un autre.
Dans le langage Python, shutil (abréviation de Shell Utilities) est une bibliothèque spécialisée dans la manipulation de fichiers à grande échelle. La fonction .move() est son outil le plus efficace pour déplacer des objets.
Pourquoi utiliser « Move » plutôt que « Copy » ?
C’est une question de stratégie et de propreté pour votre Google Drive :
- Le gain de place : Contrairement à une copie,
shutil.movene crée pas de doublon. Il prend le fichier au Point A et le dépose au Point B. Votre espace de stockage reste donc identique. - La preuve du travail : À la fin du script, votre dossier
A_TRIERest vide (ou presque). C’est une satisfaction visuelle : vous savez que tout ce qui pouvait être rangé l’a été. - La rapidité : Sur un système de fichiers, « déplacer » un fichier revient souvent à simplement changer son « adresse » dans l’index du disque. C’est beaucoup plus rapide que de réécrire toutes les données ailleurs.
Comment cela fonctionne concrètement ?
Le robot exécute trois étapes en une fraction de seconde :
- Saisie : Il attrape le fichier au Point A (
/A_TRIER/photo.jpg). - Transport : Il l’emmène vers le Point B (
/ARCHIVES_FINALES/02_PHOTOS/). - Vérification : Une fois le fichier bien arrivé au Point B, il efface la trace au Point A.
Fiche Technique : shutil.move
| Élément | Rôle |
shutil | Le « Contremaître » (expert en logistique de fichiers). |
.move | L’action de déplacement (Transférer + Supprimer l’original). |
| Sécurité | Sans précaution, il écrase silencieusement un fichier existant du même nom — c’est pourquoi notre script intègre une vérification anti-doublon avant chaque transfert. |
Personnalisez votre robot : Le code est à VOUS !
Le robot que vous venez de lancer est déjà très malin, mais il est fait pour être personnalisé ! Voici comment le faire évoluer selon votre façon de travailler :
- Ajoutez une catégorie : Vous utilisez beaucoup de fichiers
.mdpour vos notes ou des.mp3pour votre musique ? Ajoutez simplement une ligne dans la sectioncategoriesdu script pour qu’il crée automatiquement un dossier"06_NOTES_MARKDOWN"ou"07_AUDIO_MUSIQUE". - Modifiez les noms : Vous préférez « Mes Images » à « 02_PHOTOS_IMAGES » ? Changez simplement le texte entre guillemets dans le dictionnaire. Le robot s’adaptera sans discuter.
- Soyez créatif ! Ce script est une base. Une fois que vous avez compris comment il déplace un fichier du Point A au Point B, les possibilités sont infinies.
C’est aussi ça, l’informatique au service de l’humain.
Vous pouvez retrouver l’ensemble de nos articles sur l’intégration de script Python en cliquant ici.
FAQ (Foire Aux Questions)
Est-ce que le script supprime mes fichiers ?
Non. Le script utilise shutil.move, ce qui déplace le fichier de la source vers la destination. De plus, une sécurité est intégrée : si un fichier porte le même nom à l’arrivée, le script le renomme (ex: document (1).pdf) au lieu de l’écraser.
Puis-je classer d’autres types de fichiers (ex: Vidéos ou Musique) ?
Absolument. Il suffit d’ajouter une ligne dans la section categories du code, par exemple : ’06_VIDEOS’: [‘.mp4’, ‘.mov’, ‘.avi’]. Le robot créera le dossier et triera ces fichiers dès la prochaine exécution.
Le script fonctionne-t-il sur les dossiers partagés ?
Oui, à condition que vous ayez les droits de modification sur le dossier source et le dossier de destination. Le script traite les fichiers se trouvant directement à la racine du dossier « A_TRIER ».



