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.
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.
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.
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).