Résolution confils

This commit is contained in:
ANHDIRE
2026-01-03 13:13:10 +01:00
2 changed files with 224 additions and 0 deletions
+195
View File
@@ -1,3 +1,4 @@
<<<<<<< HEAD
# Sprint Planning Projet PIF # Sprint Planning Projet PIF
## Légende ## Légende
@@ -190,3 +191,197 @@ Objectif : Finalisation complète + livrable final
- Diagrammes UML terminés - Diagrammes UML terminés
- Makefile opérationnel - Makefile opérationnel
- Projet soumis proprement sur Gitea - Projet soumis proprement sur Gitea
=======
# Sprint Planning Projet PIF
## Légende
AD → Algassimou
AA → Ayoub
YB → Youness
🟥 TODO = À faire
🟨 DOING = En cours
🟩 DONE = Terminé
# ---------------------------------------
# SPRINT 1 (1320 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 larbre Huffman |
| US-D5 | AA | DONE | 🟩 | Générer les codes Huffman |
| US-D6 | AA | DONE | 🟩 | Générer les codes canoniques |
| US-U5 | YB | DONE | 🟩 | Chargement dimage via ImageIO |
| US-D8 | YB | DONE | 🟩 | Structure RGBImage + Pixel |
| US-P1 | AA | DONE | 🟩 | Interface simple daffichage des fréquences |
| US-P2 | AD | DONE | 🟩 | Interface simple daffichage codes Huffman |
| US-P3 | AA | DONE | 🟩 | Interface simple daffichage 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 darbre 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 limage 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 dimage opérationnel
- GUI minimaliste affichant fréquences / Huffman / canoniques
- Aucun fichier `.pif` encore écrit
# ---------------------------------------
# SPRINT 2 (2027 décembre 2025)
# ---------------------------------------
Objectif : Écriture du format `.pif` + finalisation convertisseur
| US | Assigné | Statut | | Description |
|------------|---------|--------|-----|-------------|
| US-D2 | AA | DONE | 🟩 | Vérifier BitOutputStream avec flux réel |
| US-C5 | AD | DONE | 🟩 | Implémenter PIFWriter (header + tables + pixels compressés) |
| US-U6 | AD | DONE | 🟩 | Exporter une image en `.pif` |
| US-P1 | AA | DONE | 🟩 | Finaliser affichage des fréquences |
| US-P2 | AA | DONE | 🟩 | Finaliser affichage codes Huffman |
| US-P3 | AA | DONE | 🟩 | Finaliser affichage codes canoniques |
| US-U7 | AD | DONE | 🟩 | Implémenter laperçu (PreviewPanel) |
## 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 | DONE | 🟩 | Reconstruire les codes canoniques depuis fichier |
| US-D8 | AD | DONE | 🟩 | Décoder pixels (implémenter PIFReader) |
| US-U1 | YB | WP | 🟨 | Ouvrir `.pif` via argument ou JFileChooser |
| US-U2 | AA | TODO | 🟥 | Afficher limage dans une fenêtre |
| US-U3 | AA | TODO | 🟥 | Centrer limage si elle est petite |
| US-U4 | AD | TODO | 🟥 | Déplacement de limage à la souris |
| US-P6 | AA | TODO | 🟥 | Préparer diagrammes UML |
## Fichiers à créer Sprint 3
### `src/mpif/`
| Nom du fichier | Rôle | US |
|----------------|-------|----|
| `PIFReader.java` | Lecture et décodage du `.pif` | US-D7, US-D8 |
### `src/vviewer/`
| Nom du fichier | Rôle | US |
|----------------|-------|----|
| `ViewerWindow.java` | Fenêtre visualisation | US-U2 |
| `ImagePanel.java` | Affichage + déplacement image | US-U2, US-U3, US-U4 |
### `src/`
| Nom du fichier | Rôle | US |
|----------------|-------|----|
| `ViewerController.java` | Contrôle du visualisateur | US-U1..U4 |
| `Viewer.java` | Programme principal du visualisateur | US-U1 |
---
### 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 (310 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
>>>>>>> 40f71dddd52fc07edc1d47d48d56fd65a2a79fe3
+29
View File
@@ -1,3 +1,4 @@
<<<<<<< HEAD
package fr.iutfbleau.sae; package fr.iutfbleau.sae;
public class Viewer { public class Viewer {
@@ -5,3 +6,31 @@ public class Viewer {
System.out.println("dqkdjqkdjqkdjqkdjqkdj"); System.out.println("dqkdjqkdjqkdjqkdjqkdj");
} }
} }
=======
package fr.iutfbleau.sae;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
//teste avec ia
private void chargerFichier() {
JTextArea zoneTexte = new JTextArea();
zoneTexte.setEditable(false);
try (BufferedReader br = new BufferedReader(new FileReader(fichierPif))) {
String ligne;
while ((ligne = br.readLine()) != null) {
zoneTexte.append(ligne + "\n");
}
} catch (IOException e) {
JOptionPane.showMessageDialog(this,
"Erreur lors de l'ouverture du fichier",
"Erreur",
JOptionPane.ERROR_MESSAGE);
}
add(new JScrollPane(zoneTexte), BorderLayout.CENTER);
setVisible(true);
}
>>>>>>> 40f71dddd52fc07edc1d47d48d56fd65a2a79fe3