2024-05-07 12:30:32 +02:00
|
|
|
\DocumentMetadata{testphase = {phase-II,sec,toc,graphic,minipage,float,text}}
|
2024-04-26 21:05:19 +02:00
|
|
|
\documentclass[a4paper]{article}
|
2024-04-15 19:10:30 +02:00
|
|
|
|
2024-05-07 12:48:21 +02:00
|
|
|
% Font
|
|
|
|
\usepackage[T1]{fontenc}
|
|
|
|
\renewcommand{\familydefault}{\sfdefault}
|
|
|
|
\usepackage[nopatch=footnote]{microtype}
|
2024-04-15 19:10:30 +02:00
|
|
|
|
2024-05-07 12:48:21 +02:00
|
|
|
% Languages
|
|
|
|
\usepackage[french]{babel}
|
2024-04-15 19:10:30 +02:00
|
|
|
\frenchsetup{SmallCapsFigTabCaptions=false}
|
2024-04-26 21:05:19 +02:00
|
|
|
\usepackage{csquotes}
|
|
|
|
\MakeOuterQuote{"}
|
2024-04-15 19:10:30 +02:00
|
|
|
|
|
|
|
% Add \extra info to title
|
|
|
|
\makeatletter
|
|
|
|
\providecommand{\extra}[1]{
|
|
|
|
\apptocmd{\@author}{
|
|
|
|
\end{tabular}
|
|
|
|
\par\vspace*{0.7em}
|
|
|
|
\begin{tabular}[t]{c}
|
|
|
|
#1}{}{}
|
|
|
|
}
|
|
|
|
\makeatother
|
|
|
|
|
2024-05-05 19:37:13 +02:00
|
|
|
% Alias
|
|
|
|
\def\matthieu{Matthieu Tonino}
|
|
|
|
\def\anri{Anri Kennel}
|
|
|
|
\def\lsys{L-système}
|
2024-05-05 20:07:07 +02:00
|
|
|
\def\xml{\texttt{XML}}
|
|
|
|
\def\xsl{\texttt{XSL}}
|
|
|
|
\def\xsd{\texttt{XSD}}
|
|
|
|
\def\csv{\texttt{CSV}}
|
|
|
|
\def\svg{\texttt{SVG}}
|
2024-05-05 19:37:13 +02:00
|
|
|
|
2024-05-07 12:48:21 +02:00
|
|
|
% Metadatas
|
|
|
|
\def\docTitle{Rapport de projet sur les~\lsys{}s}
|
|
|
|
\def\docAuthor{\matthieu~et \anri}
|
|
|
|
\def\docSubject{Format de documents et XML}
|
|
|
|
\def\docLocation{Université Paris Cité}
|
2024-04-15 19:10:30 +02:00
|
|
|
|
|
|
|
\usepackage[
|
2024-05-07 12:48:21 +02:00
|
|
|
pdfauthor={\docAuthor}, % author metadata
|
|
|
|
pdftitle={\docTitle}, % title metadata
|
|
|
|
pdfsubject={\docSubject}, % subject metadata
|
|
|
|
hidelinks, % clickable links in table of contents
|
2024-04-15 19:10:30 +02:00
|
|
|
]{hyperref}
|
|
|
|
|
2024-05-07 12:48:21 +02:00
|
|
|
\title{\docTitle}
|
2024-05-18 20:08:37 +02:00
|
|
|
\author{\matthieu\thanks{\matthieu : 22309517}~
|
2024-04-15 19:10:30 +02:00
|
|
|
et \anri\thanks{\anri : 22302653}}
|
2024-05-07 12:48:21 +02:00
|
|
|
\extra{\docSubject~$\cdot$ \docLocation}
|
2024-04-15 19:10:30 +02:00
|
|
|
\date{Année universitaire 2023-2024}
|
|
|
|
|
2024-05-07 12:48:21 +02:00
|
|
|
|
2024-04-15 19:10:30 +02:00
|
|
|
\begin{document}
|
|
|
|
\maketitle
|
|
|
|
\flushbottom
|
|
|
|
\tableofcontents
|
|
|
|
\clearpage
|
|
|
|
|
|
|
|
\section[Description]{Description du projet}
|
2024-05-05 20:07:07 +02:00
|
|
|
Le projet a pour but de générer un fichier \svg~en partant d'un \lsys~en
|
|
|
|
utilisant des transformations de \xml~par \xsl.
|
|
|
|
|
|
|
|
\subsection{Gestion de projet}
|
|
|
|
Nous avons écrit un \texttt{Makefile} pour nous faciliter le développement.
|
|
|
|
|
2024-05-05 20:15:14 +02:00
|
|
|
\subsubsection*{Une cible qui fait tout}
|
2024-05-05 20:07:07 +02:00
|
|
|
\begin{description}
|
2024-05-05 20:13:31 +02:00
|
|
|
\item[\texttt{make nom=snow n=3}] génère une image \svg~sous
|
|
|
|
\texttt{image.svg} qui correspond au \lsys~"snow" avec trois itérations.
|
2024-05-05 20:07:07 +02:00
|
|
|
\end{description}
|
|
|
|
|
2024-05-05 20:15:14 +02:00
|
|
|
\subsubsection*{Possibilité de faire une étape à la fois}
|
2024-05-05 20:07:07 +02:00
|
|
|
\begin{description}
|
|
|
|
\item[\texttt{make generation}] génère le fichier \xml~des \lsys{}s.
|
|
|
|
\item[\texttt{make tortue nom=koch5 n=4}] génère le fichier \xml~du
|
|
|
|
\lsys{}~"koch5" avec quatre itérations.
|
|
|
|
\item[\texttt{make traceur}] génère le fichier \xml~du traceur.
|
|
|
|
\item[\texttt{make svg}] génère le fichier \svg.
|
|
|
|
\end{description}
|
|
|
|
|
2024-05-05 20:15:14 +02:00
|
|
|
\subsubsection*{Utilitaires}
|
2024-05-05 20:07:07 +02:00
|
|
|
\begin{description}
|
|
|
|
\item[\texttt{make saxon}] télécharge Saxon pour la transformation
|
|
|
|
des fichiers \xml~via \xsl.
|
|
|
|
\item[\texttt{make clean}] supprime les fichiers générés.
|
|
|
|
\end{description}
|
2024-04-15 19:10:30 +02:00
|
|
|
|
2024-05-07 12:48:21 +02:00
|
|
|
|
2024-04-15 19:10:30 +02:00
|
|
|
\section{Explication des choix}
|
|
|
|
Dans cette partie, nous justifions nos décisions.
|
|
|
|
|
|
|
|
\subsection{Conception}
|
2024-04-15 19:13:08 +02:00
|
|
|
Nous avons choisi le langage de programmation Python pour réaliser la
|
2024-05-05 20:07:07 +02:00
|
|
|
première partie du projet parce que c'est un langage simple pour ce que nous
|
2024-05-07 12:39:35 +02:00
|
|
|
voulons faire. Il est doté d'une librairie qui permet de générer des fichiers
|
|
|
|
\xml~et que nous maîtrisons tous les deux.
|
2024-04-15 19:10:30 +02:00
|
|
|
|
|
|
|
\subsection{Implémentation}
|
|
|
|
% TODO
|
2024-05-07 12:39:53 +02:00
|
|
|
% On peut insérer des images ?
|
2024-04-15 19:10:30 +02:00
|
|
|
|
2024-04-15 19:13:08 +02:00
|
|
|
|
2024-04-30 10:54:38 +02:00
|
|
|
\section{Répartition des tâches}
|
2024-05-05 20:07:07 +02:00
|
|
|
La conversion du fichier \csv~en fichier \xml, ainsi que la transformation
|
2024-05-07 12:39:35 +02:00
|
|
|
du fichier XML ainsi généré en fichier \xml~de la tortue ont été faites
|
2024-05-05 20:07:07 +02:00
|
|
|
par \anri.
|
|
|
|
La conversion du fichier \xml~de la tortue en fichier \xml~du traceur a été
|
|
|
|
écrite par \matthieu.
|
2024-05-06 15:13:59 +02:00
|
|
|
La conversion du fichier \xml~du traceur en fichier \svg~a été écrite par \anri.
|
2024-05-05 20:07:07 +02:00
|
|
|
Chacun a écrit les fichiers \xsd~correspondant à ses fichiers \xml.
|
2024-04-30 10:54:38 +02:00
|
|
|
|
|
|
|
|
2024-04-15 19:10:30 +02:00
|
|
|
\subsection[Chronologie]{Chronologie des tâches}
|
2024-05-03 02:12:14 +02:00
|
|
|
\def\sp{\hspace{8pt}} % petit espace pour l'alignement
|
2024-04-15 21:22:04 +02:00
|
|
|
\begin{description}
|
2024-05-05 20:07:07 +02:00
|
|
|
\item[15 avril] Début de l'écriture du parseur \csv~vers \xml
|
2024-05-07 12:39:35 +02:00
|
|
|
\item[17 avril] Transformation du fichier \csv~vers \xml~achevée
|
2024-05-05 20:07:07 +02:00
|
|
|
\item[26 avril] Écriture du schéma \xml~validant le format du fichier \xml~généré
|
|
|
|
\item[27 avril] Écriture des fichiers \xsl~et \xsd~pour la tortue
|
|
|
|
\item[2 mai\sp] Écriture des fichiers \xsl~et \xsd~pour le traceur
|
|
|
|
\item[4 mai\sp] Écriture des fichiers \xsl~pour la conversion en \svg
|
2024-05-05 23:43:56 +02:00
|
|
|
\item[5 mai\sp] Essaie pour centrer les images \svg.
|
2024-05-06 18:27:11 +02:00
|
|
|
\item[6 mai\sp] Correction de bugs pour \texttt{STORE} et \texttt{RESTORE}
|
2024-05-07 12:27:00 +02:00
|
|
|
\item[6 mai\sp] Gestion de déplacements pour les \svg~et optimisation
|
2024-05-07 12:39:35 +02:00
|
|
|
\item[6 mai\sp] Ajout de quelques \lsys{}s trouvés sur
|
|
|
|
\href{https://onlinetools.com/math/l-system-generator}{onlinetools}
|
2024-05-06 17:03:52 +02:00
|
|
|
et \href{https://anvaka.github.io/lsystem/}{anvaka/lsystem}
|
2024-05-18 22:58:01 +02:00
|
|
|
\item[18 mai\,] Images \svg~correctement centrés.
|
2024-04-15 21:22:04 +02:00
|
|
|
\end{description}
|
2024-04-15 19:10:30 +02:00
|
|
|
|
|
|
|
|
|
|
|
\section{Limitations}
|
2024-05-07 12:39:35 +02:00
|
|
|
Dans cette partie, nous abordons les limitations de notre projet.
|
2024-05-07 12:30:32 +02:00
|
|
|
% Ne gère pas les substitutions vide
|
2024-04-15 19:10:30 +02:00
|
|
|
|
2024-05-07 12:48:21 +02:00
|
|
|
%\subsection{Difficultés rencontrées}
|
2024-05-05 20:07:07 +02:00
|
|
|
% TODO - uniquement si on a galéré
|
2024-04-15 19:10:30 +02:00
|
|
|
|
|
|
|
%\subsubsection*{Bugs}
|
|
|
|
% TODO - uniquement s'il y a des bugs
|
|
|
|
|
2024-04-30 10:54:38 +02:00
|
|
|
%\subsection{Omissions} % Ce qu'il manque
|
|
|
|
% TODO - uniquement s'il y a des omissions
|
2024-04-15 19:10:30 +02:00
|
|
|
|
|
|
|
\end{document}
|