149 lines
6.8 KiB
TeX
149 lines
6.8 KiB
TeX
\documentclass[1&pt]{article}
|
||
\usepackage{graphicx}
|
||
\usepackage{array}
|
||
\usepackage[table]{xcolor}
|
||
\usepackage{colortbl}
|
||
\usepackage{geometry}
|
||
\usepackage[colorlinks=true, linkcolor=black, urlcolor=black, citecolor=black]{hyperref}
|
||
\usepackage{float}
|
||
\usepackage[T1]{fontenc}
|
||
\usepackage[utf8]{inputenc}
|
||
\usepackage{lmodern}
|
||
\usepackage{comment}
|
||
\graphicspath{{images/}}
|
||
|
||
\title{\textbf{RAPPORT SAE32\_2025 \\BUT Informatique - 2ème année \\SAE3.2-Application "Primitive Image Format"}}
|
||
\author{\textbf{Youness BOULALAM Algassimou DIALLO Ayoub ANHDIRE}}
|
||
\date{\textbf{07 janvier 2026}}
|
||
|
||
\begin{document}
|
||
\maketitle
|
||
Développement d'une application de conversion d'une image au format PIF (1ère image) + Affichage dans une fenetre d'une image contenue dans un fichier PIF (2ème image).
|
||
|
||
\begin{figure}[H]
|
||
\centering
|
||
\includegraphics[width=0.8\textwidth]{ConvertisseurFR}
|
||
\caption{Interface principale du convertisseur , notamment avec les tables de fréquences}
|
||
\end{figure}
|
||
|
||
|
||
\begin{figure}[H]
|
||
\centering
|
||
\includegraphics[width=0.45\textwidth]{Vis}
|
||
\caption{Interface principale du visualisateur ou l'utilisateur peut déplacer l'image avec la souris lorsqu'elle est trop grande}
|
||
\end{figure}
|
||
|
||
|
||
\section*{\underline{Comptes GIT utilisés pour ce projet}}
|
||
|
||
\begin{itemize}
|
||
\item \textbf{Youness BOULALAM} (Groupe 4) : \texttt{youness}
|
||
\item \textbf{Algassimou DIALLO} (Groupe 4) : \texttt{Diallo VM fbleau}
|
||
\item \textbf{Ayoub ANHDIRE} (Groupe 4) : \texttt{Ayoub ANHDIRE Anhdire Ayoub ANHDIRE}
|
||
\end{itemize}
|
||
\begin{center}
|
||
\textbf{Réalisé en JAVA} : Architecture MVC \\
|
||
\textbf{Dépôt Gitea : }\url{https://grond.iut-fbleau.fr/dialloa/SAE32_2025}
|
||
\textbf{Professeur :} M.Luc Hernandez \\
|
||
\textbf{Date de rendu : }11 janvier 2026 \\
|
||
\end{center}
|
||
\renewcommand{\contentsname}{Sommaire}
|
||
\tableofcontents
|
||
\section{Introduction}
|
||
Pour cette deuxieme SAE du semestre 3 , il nous a fallu réaliser \textbf{deux} programmes : un convertisseur d'une image au format png ou du moins supportable par la méthode \textit{read} de la classe \textbf{ImageIO}. L'image sera donnée en argument ou sinon elle sera sélectionner par un \textbf{JFileChooser}(à part s'il y a un deuxième argument et qu'il represente un chemin et un nom acceptable). Pour ce programme , on aura une interface simple avec la tables des fréquences , la tables des codes initiaux (Huffman) et la table des codes canoniques. A la suite de cela , l'utilisateur a la possibilité ou non de pouvoir sauvegarder son image au format PIF.
|
||
|
||
Le deuxieme programme est un visualisateur ou celui-ci est censé afficher dans une fenetre une image contenue dans un fichier au format PIF. Celui-ci est donnée en argument ou la sélection du fichier sera réalise à l'aide d' un \textbf{JFileChooser}. La taille de la fenetre sera la taille de l'image à afficher avec une taille qui ne dépasse pas l'écran : si l'image est plus petite que le fenetre , elle sera centré et si elle ets plus grande que la fenetre : elle sera partiellement visible et pourra etre déplacé à la souris en maintenant le bouton gauche enfoncé.
|
||
|
||
Ce projet a été réalisé en trinôme, et nous avons développé l’application entièrementen Java, en respectant les bonnes pratiques vues en cours : architecture MVC, créationde makefile, et une interface graphique codée sans bibliothèque externe. Un soin particulier a été apporté à l’ergonomie : l’interface est pensée pour être simple, claire, et agréable à utiliser.
|
||
|
||
|
||
\section{Répartition des taches}
|
||
|
||
|
||
|
||
\begin{center}
|
||
\begin{tabular}{|l|l|p{9cm}|}
|
||
\hline
|
||
\textbf{Nom} & \textbf{Tâches effectuées} \\
|
||
\hline
|
||
Algassimou DIALLO &
|
||
\begin{minipage}[t]{8.5cm}
|
||
\begin{itemize}
|
||
\item Creation de la structure generale du projet (Dossier, UML)
|
||
\item Implémentation de BitOutputStream
|
||
\item Implémentation de BitInputStraam
|
||
\item Implémentation complète du contrôleur (ConverterController)
|
||
\item Génération et affichage des fréquences
|
||
\item J'ai aussi travailler sur le constructeur de HuffmanTree et Huffman node
|
||
\item Intégration de l’interface graphique (ConverterWindow)
|
||
\item Gestion du bouton Export et sauvegarde .pif dans un thread séparé
|
||
\item Creation et Test du MakeFile
|
||
\item Implémentation du PIFWriter (écriture des tables, pixels)
|
||
\item Implémentation du PIFReader (lecture, reconstruction, décodage)
|
||
\item Implémentation du contrôleur pour la vue
|
||
|
||
\end{itemize}
|
||
\end{minipage} \\
|
||
\hline
|
||
|
||
Youness BOULALAM &
|
||
\begin{minipage}[t]{8.5cm}
|
||
\begin{itemize}
|
||
\item Gestion des erreurs et messages utilisateur
|
||
\item Conversion RGBImage BufferedImage pour le Viewer
|
||
\item Conversion RGBImage BufferedImage pour le convertisseur
|
||
\item tache 1
|
||
\end{itemize}
|
||
\end{minipage} \\
|
||
\hline
|
||
|
||
Ayoub ANHDIRE &
|
||
\begin{minipage}[t]{8.5cm}
|
||
\begin{itemize}
|
||
\item Javadoc (Équipe)
|
||
\item Génération des codes Huffman
|
||
\item Génération des codes canoniques
|
||
\item Interface d'affichage des fréquences
|
||
\item Test de BitOutputStream
|
||
\item Lecture de l'en-tête
|
||
\item Diagramme de classe
|
||
\end{itemize}
|
||
\end{minipage} \\
|
||
\hline
|
||
|
||
\end{tabular}
|
||
\end{center}
|
||
|
||
|
||
|
||
\section{Fontionnalités principales}
|
||
\subsection{Conversion au format PIF}
|
||
% appuyer cette section avec des diagrammes et des explications de votre code + diagramme objet (pour l'abre binaire}
|
||
\section{Fonctionnalités principales}
|
||
\subsection{Conversion au format PIF}
|
||
La conversion d’une image vers le format PIF repose sur plusieurs étapes :
|
||
analyse des composantes RGB, calcul des fréquences, construction de l’arbre
|
||
de Huffman, création des codes canoniques, puis écriture finale dans un fichier
|
||
binaire structuré. Cette section présente les mécanismes mis en place et la
|
||
contribution de chaque membre du groupe.
|
||
\subsection{contribution d'Algassimou Pellel Diallo}
|
||
|
||
|
||
|
||
% donner une explication de la forme des tables des codes dans le convertisseur, et du mécanisme qui exploite cette forme pour assurer l'encodage
|
||
\subsection{Visualisateur au format PIF}
|
||
% appuyer cette section avec des diagrammes et des explications de votre code
|
||
% donner une explication de la forme de la table des codes dans le visualisateur, et du mécanisme qui exploite cette forme pour assurer le décodage
|
||
\section{MakeFile du Projet}
|
||
% expliquer le makefile
|
||
\section{Conclusion}
|
||
Nous avons pensé que ce projet ... (à compléter)
|
||
% conclusion de groupe + conclusion Personnelle :
|
||
\subsection{Youness BOULALAM}
|
||
\subsection{Algassimou DIALLO}
|
||
\subsection{Ayoub ANHDIRE}
|
||
\end{document}
|
||
|
||
|
||
% centering ==> pour center le texte pour une seule ligne ==> terminer par \par pour faire comprendre au compilateur que c'est la fin de la ligne à centrer !
|