FINALISATION DU RAPPOR

This commit is contained in:
AlgaLaptop
2026-01-11 14:27:14 +01:00
parent a79abeb7cf
commit baf80005ae
33 changed files with 2318 additions and 1131 deletions
+3 -9
View File
@@ -4,9 +4,7 @@ skinparam packageStyle rectangle
skinparam dpi 50
' ==================================================
' =============== PACKAGE mhuffman =================
' ==================================================
' PACKAGE mhuffman
package "fr.iutfbleau.sae.mhuffman" {
class CanonicalCode {
@@ -64,9 +62,7 @@ package "fr.iutfbleau.sae.mhuffman" {
CanonicalCode ..> ComparateurCanonique
}
' ==================================================
' ================= PACKAGE mpif ===================
' ==================================================
' PACKAGE mpif
package "fr.iutfbleau.sae.mpif" {
class Pixel {
@@ -131,9 +127,7 @@ package "fr.iutfbleau.sae.mpif" {
}
' ==================================================
' ================= PACKAGE sae ====================
' ==================================================
' PACKAGE sae
package "fr.iutfbleau.sae" {
class JPanel
Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

+40
View File
@@ -0,0 +1,40 @@
@startuml
skinparam classAttributeIconSize 0
skinparam packageStyle rectangle
skinparam dpi 50
package "Model - Huffman & Compression" {
class FrequencyTable #64B5F6
class HuffmanTree #64B5F6
class CanonicalCode #64B5F6
}
package "Model - Images & Fichiers" {
class RGBImage #64B5F6
class BitOutputStream #64B5F6
class PIFWriter #64B5F6
}
package "Controller" {
class ConverterController #FFA500
class ThreadSauvegardePIF #FFA500
}
package "View - Interface" {
class ConverterWindow #66BB6A
}
' Relations principales
ConverterController --> RGBImage : charge
ConverterController --> FrequencyTable : calcule
ConverterController --> HuffmanTree : génère
ConverterController --> CanonicalCode : construit
ConverterController --> ConverterWindow : met à jour
ConverterWindow --> ThreadSauvegardePIF : lance
ThreadSauvegardePIF --> PIFWriter : déclenche
PIFWriter --> BitOutputStream : utilise
PIFWriter --> RGBImage : encode
@enduml
Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

+75
View File
@@ -0,0 +1,75 @@
@startuml
title Diagramme simplifié du Visualisateur PIF
skinparam packageStyle rectangle
skinparam shadowing false
' ======== Couleurs ========
!define C_BLUE #A7C7E7
!define C_GREEN #A9E5AA
!define C_ORANGE #FFB366
!define C_PURPLE #C9B6E4
!define C_GREY #EDEDED
' ======== CONTROLLER ========
package "Controller" C_ORANGE {
class ViewerControleur {
+ouvrirFichier()
+chargerPIF()
+afficherImage()
}
}
' ======== MODEL - Lecture PIF ========
package "Model - Lecture .pif" C_BLUE {
class PIFReader {
+decodePifFile(File)
+readHeader()
+readCanonicalTables()
+rebuildCanonical()
+buildDecodageTree()
+decodePixels()
}
class DecodeNode {
left
right
value
}
class BitInputStream {
+readBit()
+readBits(n)
}
class RGBImage {
width
height
+setPixel()
+getPixel()
}
}
' ======== VIEW - Interface ========
package "View - Interface" C_GREEN {
class ViewerWindow {
+displayImage(BufferedImage)
}
class ViewerImagePanel {
+setImage()
+paintComponent()
}
}
' ======== RELATIONS ========
ViewerControleur --> PIFReader : lit et décode
PIFReader --> BitInputStream : lit des bits
PIFReader --> DecodeNode : construit des arbres
PIFReader --> RGBImage : reconstruit l'image
ViewerControleur --> ViewerWindow : met à jour
ViewerWindow --> ViewerImagePanel : transmet l'image
ViewerControleur --> RGBImage : reçoit l'image décodée
@enduml
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 22 KiB