Sprint Planning – Projet PIF
Légende
AD → Algassimou
AA → Ayoub
YB → Youness
🟥 TODO = À faire
🟨 DOING = En cours
🟩 DONE = Terminé
---------------------------------------
SPRINT 1 (13–20 décembre 2025)
---------------------------------------
Objectif : Mise en place des fondations techniques
(image, binaire, Huffman, canoniques)
| US |
Assigné |
Statut |
|
Description |
| US-D1 |
AD |
TODO |
🟥 |
Implémenter BitInputStream (lecture bit par bit) |
| US-D2 |
AD |
TODO |
🟥 |
Implémenter BitOutputStream (écriture bit par bit) |
| US-D3 |
AD |
TODO |
🟥 |
Générer les tables de fréquences RGB |
| US-D4 |
AD |
TODO |
🟥 |
Construire l’arbre Huffman |
| US-D5 |
AA |
TODO |
🟥 |
Générer les codes Huffman |
| US-D6 |
AA |
TODO |
🟥 |
Générer les codes canoniques |
| US-U5 |
YB |
TODO |
🟥 |
Chargement d’image via ImageIO |
| US-D8 |
YB |
TODO |
🟥 |
Structure RGBImage + Pixel |
| US-P1 |
AA |
TODO |
🟥 |
Interface simple d’affichage des fréquences |
| US-P2 |
AD |
TODO |
🟥 |
Interface simple d’affichage Huffman |
| US-P3 |
AA |
TODO |
🟥 |
Interface simple d’affichage canoniques |
Fichiers à créer – Sprint 1
src/mimage/
| Nom du fichier |
Rôle |
Pixel.java |
Représente un pixel (r, g, b) |
RGBImage.java |
Matrice de pixels + utilitaires |
src/mhuffman/
| Nom du fichier |
Rôle |
FrequencyTable.java |
Stocke les fréquences R/G/B |
HuffmanNode.java |
Nœud d’arbre Huffman |
HuffmanTree.java |
Construction de l’arbre + génération des codes |
CanonicalCode.java |
Génération des codes canoniques |
src/util/
| Nom du fichier |
Rôle |
BitInputStream.java |
Lecture bit par bit |
BitOutputStream.java |
Écriture bit par bit |
ByteUtils.java |
Conversions entiers ↔ octets |
FileUtils.java |
Méthodes utilitaires fichiers |
src/vconverter/
| Nom du fichier |
Rôle |
ConverterWindow.java |
Fenêtre du convertisseur |
PreviewPanel.java |
Aperçu de l’image chargée |
FrequencyTablePanel.java |
Affichage fréquences RGB |
CodeTablePanel.java |
Affichage Huffman + canoniques |
src/ (racine)
| Nom du fichier |
Rôle |
ConverterController.java |
Contrôleur du convertisseur |
Main.java |
Lancement du convertisseur (Sprint 1) |
Résultat attendu Sprint 1
- Compression entièrement fonctionnelle
- Import d’image opérationnel
- GUI minimaliste affichant fréquences / Huffman / canoniques
- Aucun fichier
.pif encore écrit
---------------------------------------
SPRINT 2 (20–27 décembre 2025)
---------------------------------------
Objectif : Écriture du format .pif + finalisation convertisseur
| US |
Assigné |
Statut |
|
Description |
| US-D2 |
AD |
TODO |
🟥 |
Vérifier BitOutputStream avec flux réel |
| US-C5 |
AD |
TODO |
🟥 |
Implémenter PIFWriter (header + tables + pixels compressés) |
| US-U6 |
AD |
TODO |
🟥 |
Exporter une image en .pif |
| US-P1 |
AA |
TODO |
🟥 |
Finaliser affichage des fréquences |
| US-P2 |
YB |
TODO |
🟥 |
Finaliser affichage codes Huffman |
| US-P3 |
AA |
TODO |
🟥 |
Finaliser affichage codes canoniques |
| US-U7 |
YB |
TODO |
🟥 |
Implémenter l’aperçu (PreviewPanel) |
| US-D3..D6 |
YB |
TODO |
🟥 |
Lier interface convertisseur ↔ compression |
Fichiers à créer – Sprint 2
src/mpif/
| Nom du fichier |
Rôle |
PIFWriter.java |
Écriture du fichier .pif |
src/vconverter/ (complément)
| Nom du fichier |
Rôle |
SavePanel.java (optionnel) |
UI pour sauvegarde .pif |
src/
| Nom du fichier |
Rôle |
| (aucun nouveau fichier obligatoire) |
Le reste se fait dans les fichiers existants |
Résultat attendu Sprint 2
.pif généré correctement
- Convertisseur fonctionnel à 80 %
- UI complète pour la consultation des tables
- Aperçu image fonctionnel
---------------------------------------
SPRINT 3 (27 décembre 2025 – 3 janvier 2026)
---------------------------------------
Objectif : Lecture du fichier .pif + visualisateur opérationnel
| US |
Assigné |
Statut |
|
Description |
| US-D7 |
AD |
TODO |
🟥 |
Reconstruire les codes canoniques depuis fichier |
| US-D8 |
AD |
TODO |
🟥 |
Décoder pixels (implémenter PIFReader) |
| US-U1 |
YB |
TODO |
🟥 |
Ouvrir .pif via argument ou JFileChooser |
| US-U2 |
AA |
TODO |
🟥 |
Afficher l’image dans une fenêtre |
| US-U3 |
AA |
TODO |
🟥 |
Centrer l’image si elle est petite |
| US-U4 |
AD |
TODO |
🟥 |
Déplacement de l’image à la souris |
| US-P6 |
AA |
TODO |
🟥 |
Préparer diagrammes UML |
Fichiers à créer – Sprint 3
src/mpif/
| Nom du fichier |
Rôle |
PIFReader.java |
Lecture et décodage du .pif |
src/vviewer/
| Nom du fichier |
Rôle |
ViewerWindow.java |
Fenêtre principale |
ImagePanel.java |
Affichage + déplacement de l’image |
src/
| Nom du fichier |
Rôle |
ViewerController.java |
Contrôleur du visualisateur |
MainViewer.java |
Programme principal visualisateur |
Résultat attendu Sprint 3
- Visualisateur 100 % fonctionnel
- Lecture complète du format
.pif
- Image affichée, centrée, déplaçable
- UML structurel prêt pour rapport
---------------------------------------
SPRINT 4 (3–10 janvier 2026)
---------------------------------------
Objectif : Finalisation complète + livrable final
| US |
Assigné |
Statut |
|
Description |
| US-P5 |
AD |
TODO |
🟥 |
Javadoc complète |
| US-P7 |
AD |
TODO |
🟥 |
Makefile (compilation + jar + exécution) |
| US-P6 |
AA |
TODO |
🟥 |
Finalisation des diagrammes UML |
| Tests |
YB |
TODO |
🟥 |
Tests convertisseur + visualisateur |
| Rapport |
AD/AA/YB |
TODO |
🟥 |
Rédaction rapport complet |
| Livraison |
AD/AA/YB |
TODO |
🟥 |
Vérification dépôt Gitea + JAR exécutables |
Fichiers à créer – Sprint 4
Racine creee tout au long
| Nom du fichier |
Rôle |
Makefile |
Compilation + génération .jar |
/doc (optionnel)
| Nom du fichier |
Rôle |
rapport.pdf |
Livrable final |
uml.puml |
Sources de diagrammes |
Résultat attendu Sprint 4
- Rapport PDF validé
- Diagrammes UML terminés
- Makefile opérationnel
- Projet soumis proprement sur Gitea