This repository has been archived on 2024-05-19. You can view files and clone it, but cannot push or open issues or pull requests.
l-systems/report/document.tex

149 lines
4.8 KiB
TeX
Raw Normal View History

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-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-05-06 15:13:59 +02:00
% Problème : quand `n' est grand, on a souvent des problèmes de mémoire
2024-04-15 19:10:30 +02:00
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}