Retour aux projets
Programmation · 2025

Outil de reporting

Création d'un outil Python avec interface graphique (PyQt5) permettant de scanner un disque dur, lister les fichiers les plus volumineux et proposer leur suppression sécurisée.

2025
Cameron FLORENCE
Programmation
Outil de reporting
Idée de départ

Il arrive que le disque dur d'un PC (Windows, macOS ou Linux) ne dispose plus de beaucoup d'espace libre. Ce problème peut empêcher l'installation de nouvelles applications, voire empêcher la machine de démarrer ou de se mettre à jour.

Pour gagner rapidement de l'espace libre, il suffit de supprimer quelques fichiers volumineux peu ou plus utilisés — souvent des vidéos, de grosses photos, des images d'installations ou des sauvegardes de clés USB. La difficulté est de localiser ces fichiers sur le disque dur.

L'idée de ce projet est de créer un outil de reporting qui scanne le disque dur et liste les fichiers les plus volumineux. Il doit être capable d'analyser un disque dur externe ou un répertoire spécifique sur le disque principal.

Technologies utilisées
PythonPython
PyQt5
PyQtChart
Pathlib
PowerShell
Répartition des rôles
Groupe programmation
Créer un outil de reporting
  • Arthur — système d'analyse des fichiers + script PowerShell
  • Cameron — interface graphique + script PowerShell
Déroulement du projet
1
Analyse des fichiers (Python) — Création d'un script pour examiner le contenu d'un dossier et cibler les fichiers les plus volumineux selon une limite de taille définie.
2
Interface graphique (PyQt5) — Développement d'une interface utilisateur intuitive facilitant la sélection du dossier à analyser.
3
Orchestration et sécurité (PowerShell) — Conception de scripts pour automatiser l'exécution du processus d'analyse et exiger une confirmation sécurisée avant toute suppression de données.

Logiciel après analyse
Logiciel après analyse
Liste des fichiers
Liste des fichiers
Menu suppression
Menu suppression
Contraintes et solutions

Nous avons rencontré plusieurs difficultés lors du développement du script PowerShell destiné à la suppression des fichiers. Sa mise en place s'est avérée plus complexe que prévu, mais après plusieurs ajustements et tests, nous sommes parvenus à le faire fonctionner correctement.

Cependant, un autre défi est apparu : lorsque l'outil analyse un grand nombre de fichiers, nous n'avons pas réussi à les afficher sur plusieurs pages. L'affichage reste limité, ce qui complique la visualisation et la gestion des fichiers détectés.

Résultats
Outil d'analyse fonctionnel
Suppression des fichiers fonctionnelle
Leçons tirées du projet

Au cours du développement de cet outil de reporting, j'ai approfondi mes connaissances en programmation, notamment en Python et PowerShell. J'ai appris à structurer un projet en plusieurs scripts complémentaires, assurant une meilleure organisation et une exécution fluide des différentes étapes de l'analyse et de la gestion des fichiers volumineux.

L'implémentation de l'interface graphique avec PyQt5 m'a permis de comprendre comment rendre un outil interactif et ergonomique, en facilitant la sélection du dossier à analyser et l'affichage des résultats sous forme de camembert. J'ai également découvert les défis liés à la gestion des onglets et la pagination des légendes, ce qui m'a sensibilisé aux problématiques de lisibilité et d'optimisation de l'affichage.

Enfin, j'ai compris l'intérêt du format JSON pour stocker et exploiter efficacement les données, ainsi que les bonnes pratiques à adopter pour gérer les chemins de fichiers de manière multiplateforme (Windows, macOS, Linux).