144 lines
4.8 KiB
TeX
144 lines
4.8 KiB
TeX
\DocumentMetadata{testphase = {phase-II,sec,toc,graphic,minipage,text}}
|
|
\documentclass[a4paper]{article}
|
|
|
|
\usepackage[T1]{fontenc} % encoding
|
|
\renewcommand{\familydefault}{\sfdefault} % sans-serif font
|
|
\usepackage[nopatch=footnote]{microtype} % better font looking
|
|
|
|
\usepackage[french]{babel} % langages
|
|
\frenchsetup{SmallCapsFigTabCaptions=false}
|
|
\usepackage{csquotes}
|
|
\MakeOuterQuote{"}
|
|
|
|
% Add \extra info to title
|
|
\makeatletter
|
|
\providecommand{\extra}[1]{
|
|
\apptocmd{\@author}{
|
|
\end{tabular}
|
|
\par\vspace*{0.7em}
|
|
\begin{tabular}[t]{c}
|
|
#1}{}{}
|
|
}
|
|
\makeatother
|
|
|
|
|
|
% Alias
|
|
\def\matthieu{Matthieu Tonino}
|
|
\def\anri{Anri Kennel}
|
|
\def\lsys{L-système}
|
|
\def\xml{\texttt{XML}}
|
|
\def\xsl{\texttt{XSL}}
|
|
\def\xsd{\texttt{XSD}}
|
|
\def\csv{\texttt{CSV}}
|
|
\def\svg{\texttt{SVG}}
|
|
|
|
|
|
% Métadonnées
|
|
\def\mytitle{Rapport de projet sur les~\lsys{}s}
|
|
\def\myauthor{\matthieu~et \anri}
|
|
\def\mysubject{Format de documents et XML}
|
|
\def\mylocation{Université Paris Cité}
|
|
|
|
\usepackage[
|
|
pdfauthor={\myauthor}, % author metadata
|
|
pdftitle={\mytitle}, % title metadata
|
|
pdfsubject={\mysubject}, % subject metadata
|
|
hidelinks, % clickable links in table of contents
|
|
]{hyperref}
|
|
|
|
\title{\mytitle}
|
|
\author{\matthieu\thanks{\matthieu : 00000000}~
|
|
et \anri\thanks{\anri : 22302653}}
|
|
\extra{\mysubject~$\cdot$ \mylocation}
|
|
\date{Année universitaire 2023-2024}
|
|
|
|
\begin{document}
|
|
\maketitle
|
|
\flushbottom
|
|
\tableofcontents
|
|
\clearpage
|
|
|
|
\section[Description]{Description du projet}
|
|
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.
|
|
|
|
\subsubsection*{Une cible qui fait tout}
|
|
\begin{description}
|
|
\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.
|
|
\end{description}
|
|
|
|
\subsubsection*{Possibilité de faire une étape à la fois}
|
|
\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}
|
|
|
|
\subsubsection*{Utilitaires}
|
|
\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}
|
|
|
|
\section{Explication des choix}
|
|
Dans cette partie, nous justifions nos décisions.
|
|
|
|
\subsection{Conception}
|
|
Nous avons choisi le langage de programmation Python pour réaliser la
|
|
première partie du projet parce que c'est un langage simple pour ce que nous
|
|
voulons faire, qu'il est doté d'une librairie qui permet de générer des fichiers
|
|
\xml~et que nous maitrisons tous les deux.
|
|
|
|
\subsection{Implémentation}
|
|
% TODO
|
|
|
|
|
|
\section{Répartition des tâches}
|
|
La conversion du fichier \csv~en fichier \xml, ainsi que la transformation
|
|
du fichier XML ainsi générer en fichier \xml~de la tortue ont étés faits
|
|
par \anri.
|
|
La conversion du fichier \xml~de la tortue en fichier \xml~du traceur a été
|
|
écrite par \matthieu.
|
|
La conversion du fichier \xml~du traceur en fichier \svg~a été écrite par \anri.
|
|
Chacun a écrit les fichiers \xsd~correspondant à ses fichiers \xml.
|
|
|
|
|
|
\subsection[Chronologie]{Chronologie des tâches}
|
|
\def\sp{\hspace{8pt}} % petit espace pour l'alignement
|
|
\begin{description}
|
|
\item[15 avril] Début de l'écriture du parseur \csv~vers \xml
|
|
\item[17 avril] Transformation du fichier \csv~vers \xml~achevé
|
|
\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
|
|
\item[5 mai\sp] Essaie pour centrer les images \svg.
|
|
\item[6 mai\sp] Correction d'un bug pour \texttt{STORE} et \texttt{RESTORE}
|
|
\item[6 mai\sp] Gestion de déplacements pour les \svg
|
|
\item[6 mai\sp] Ajout de quelques \lsys{}s trouvé sur
|
|
\href{https://onlinetools.com/math/l-system-generator}{onlinetools.com}
|
|
et \href{https://anvaka.github.io/lsystem/}{anvaka/lsystem}
|
|
\end{description}
|
|
|
|
|
|
\section{Limitations}
|
|
Dans cette partie nous abordons les limitations de notre projet.
|
|
|
|
% \subsection{Difficultés rencontrées}
|
|
% TODO - uniquement si on a galéré
|
|
|
|
%\subsubsection*{Bugs}
|
|
% TODO - uniquement s'il y a des bugs
|
|
% Problème : quand `n' est grand, on a souvent des problèmes de mémoire
|
|
|
|
%\subsection{Omissions} % Ce qu'il manque
|
|
% TODO - uniquement s'il y a des omissions
|
|
|
|
\end{document}
|