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 |
DONE |
🟩 |
Implémenter BitInputStream (lecture bit par bit) |
| US-D2 |
AD |
DONE |
🟩 |
Implémenter BitOutputStream (écriture bit par bit) |
| US-D3 |
AD |
DONE |
🟩 |
Générer les tables de fréquences RGB |
| US-D4 |
AD |
DONE |
🟩 |
Construire l’arbre Huffman |
| US-D5 |
AA |
DONE |
🟩 |
Générer les codes Huffman |
| US-D6 |
AA |
DONE |
🟩 |
Générer les codes canoniques |
| US-U5 |
YB |
DOING |
🟨 |
Chargement d’image via ImageIO |
| US-D8 |
YB |
TODO |
🟥 |
Structure RGBImage + Pixel |
| US-P1 |
AA |
DONE |
🟩 |
Interface simple d’affichage des fréquences |
| US-P2 |
AD |
DONE |
🟩 |
Interface simple d’affichage codes Huffman |
| US-P3 |
AA |
TODO |
🟩 |
Interface simple d’affichage codes canoniques |
Fichiers à créer – Sprint 1
src/mimage/
| Nom du fichier |
Rôle |
US |
Pixel.java |
Représente un pixel (r, g, b) |
US-D8 |
RGBImage.java |
Matrice de pixels + utilitaires |
US-D8, US-U5 |
src/mhuffman/
| Nom du fichier |
Rôle |
US |
FrequencyTable.java |
Stocke les fréquences R/G/B |
US-D3 |
HuffmanNode.java |
Nœud d’arbre Huffman |
US-D4 |
HuffmanTree.java |
Construction arbre + génération des codes |
US-D4, US-D5 |
CanonicalCode.java |
Génération des codes canoniques |
US-D6 |
src/util/
| Nom du fichier |
Rôle |
US |
BitInputStream.java |
Lecture bit par bit |
US-D1 |
BitOutputStream.java |
Écriture bit par bit |
US-D2 |
ByteUtils.java |
Conversion int octets |
US-D3 et plus |
FileUtils.java |
Méthodes utilitaires fichiers |
US-U5 (indirect) |
src/vconverter/
| Nom du fichier |
Rôle |
US |
ConverterWindow.java |
Fenêtre du convertisseur |
US-P1, US-P2, US-P3 |
PreviewPanel.java |
Aperçu de l’image chargée |
US-U5 |
FrequencyTablePanel.java |
Affichage fréquences RGB |
US-P1 |
CodeTablePanel.java |
Affichage Huffman + canoniques |
US-P2, US-P3 |
src/ (racine)
| Nom du fichier |
Rôle |
US |
ConverterController.java |
Contrôleur du convertisseur |
US-U5, US-D3..D6, US-P1..P3 |
Convertisseur.java |
Lancement du convertisseur |
— |
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 |
AA |
TODO |
🟥 |
Vérifier BitOutputStream avec flux réel |
| US-C5 |
AD |
DOING |
🟨 |
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 |
AA |
TODO |
🟥 |
Finaliser affichage codes Huffman |
| US-P3 |
AA |
TODO |
🟥 |
Finaliser affichage codes canoniques |
| US-U7 |
AD |
DOING |
🟨 |
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 |
US |
PIFWriter.java |
Écriture du fichier .pif |
US-C5, US-U6 |
src/vconverter/ (complément)
| Nom du fichier |
Rôle |
US |
SavePanel.java en option a voir |
Interface de sauvegarde .pif |
US-U6 |
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
Fichiers à créer – Sprint 2
src/mpif/
| Nom du fichier |
Rôle |
US |
PIFWriter.java |
Écriture du fichier .pif |
US-C5, US-U6 |
src/vconverter/ (complément)
| Nom du fichier |
Rôle |
US |
SavePanel.java (optionnel) |
Interface de sauvegarde .pif |
US-U6 |
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
| Nom du fichier |
Rôle |
rapport.pdf |
Livrable final |
UML/___.plantuml |
Sources de diagrammes |
Résultat attendu Sprint 4
- Rapport PDF validé
- Diagrammes UML terminés
- Makefile opérationnel
- Projet soumis proprement sur Gitea