Compresseur de Fichiers
Présentation
Objectif principal : L’objectif de Compresseur de Fichiers est d’apporter une réponse claire autour de la résolution de besoins métier concrets. Le projet met l’accent sur transformer un besoin clair en solution stable et maintenable tout en assurant une base technique lisible, facile à maintenir et prête à évoluer.
Technologies utilisées : Le socle technique repose sur Python, Structures de données, Git. Ces choix permettent de maintenir un bon équilibre entre performance, stabilité et rapidité de développement, tout en facilitant la structuration du code et la séparation des responsabilités.
Fonctionnalités clés : Les fonctionnalités clés couvrent l’ensemble du parcours utilisateur avec des flux simples et des validations cohérentes, notamment : parcours cohérents, validations, règles métier et retours clairs. L’ergonomie et la clarté des retours système ont été priorisées pour rendre l’usage immédiat et fiable.
Livrables attendus : Les livrables attendus incluent un périmètre fonctionnel stabilisé, un prototype exploitable et un code organisé, complété par une documentation d’installation et d’usage. Selon le contexte, le projet prévoit documentation, scripts d’installation et scénarios de test afin de sécuriser la livraison.
Calendrier prévisionnel : Le calendrier prévisionnel suit une progression en phases : cadrage des besoins, conception, développement itératif, puis validation et corrections. Une période dédiée à l’optimisation (performance, ergonomie, fiabilité) finalise la livraison.
Parties prenantes & critères de succès : Les parties prenantes regroupent utilisateurs finaux, encadrants et commanditaires ainsi que l’équipe de réalisation. Les critères de succès portent sur robustesse, qualité perçue et capacité d’évolution, avec une attention particulière à la qualité du code, à la stabilité en production et à la satisfaction d’usage.
Le Défi
Implémenter une structure d'arbre de Huffman efficace pour générer des codes de longueur variable tout en garantissant une reconstruction parfaite du fichier original.
La Solution
Utilisation d'une file de priorité pour construire l'arbre de fréquences et d'une approche récursive pour la génération des codes binaires.
Architecture Technique
Application Python avec gestion binaire des fichiers, incluant une phase d'analyse de fréquences, de codage et d'écriture de l'en-tête pour la décompression.
Points Clés
- Algorithme de Huffman
- Compression sans perte (Lossless)
- Gestion des fichiers binaires
Résultats & Apprentissages
Réduction significative de la taille des fichiers texte (jusqu'à 40-50%) avec une vitesse de traitement optimale et une intégrité des données garantie à 100%.
Évolutions Futures
Support de fichiers binaires plus complexes (images, exécutables) et intégration de l'algorithme LZW pour une compression hybride plus puissante.