\chapter{Introduction} \section{Sujet et consignes} Ce projet a pour objectif de réaliser une application appliquant des principes de programmation orientée objet en langage de programmation Java. Nous avons eu le choix entre 6 sujets différents et, après études des propositions, notre choix s’est finalement porté sur le "Générateurs de flores vidéos-ludiques". Il consiste en la réalisation d’un simulateur de L-système végétal produisant une image 2D et 3D de l’objet par le biais de règles de réécritures. \info{Pour cela nous avions quelques consignes à respecter : \begin{itemize} \item Intégrer un parser de L-système. \item Créer un moteur de réécriture. \item Créer un moteur de rendu graphique. \end{itemize}} Après lecture des consignes, nous avons pu entamer nos recherches. \section{Mise en place du projet} \label{sec:MEPprog} Nos recherches se sont premièrement portées sur le L-Système (principalement sur Wikipedia\footnote{\href{https://en.wikipedia.org/wiki/L-system}{https://en.wikipedia.org/wiki/L-system}}) pour comprendre son fonctionnement nous donnant des informations sur comment construire notre parser et notre moteur de réécriture. Nous nous sommes ensuite renseigné sur les différents moteurs de rendu graphique que nous pouvions utiliser et notre choix s'est finalement porté sur JOGL (Java Open Graphics Library \footnote{\href{https://jogamp.org/jogl/www/}{https://jogamp.org/jogl/www/}}) qui était conseillé dans la liste des sujets, pouvant gérer un rendu 2D et un rendu 3D. \\ \\ Suite à cela, nous avons réfléchi à la structure de notre code, ainsi qu'à une première ébauche sur laquelle nous pourrions nous baser pour débuter notre projet et un ordre de priorités ; certaines parties étant nécessaires pour que d'autres fonctionnent ou puissent être amorcées (comme le parser, les bases du système de réécriture ou encore les différents moteurs de rendu). \\ Puis, pour terminer notre mise en place, nous avons décidé que nous rajouterions une interface ainsi qu'une fenêtre d'aide a notre futur logiciel dans le but de faciliter son utilisation.