Modifications (couleurs, chanfreins...) pour un rapprochement vers Scratch
[mp-scratch.git] / doc / mp-scratch.tex
index 2d06114..f07d0c8 100644 (file)
@@ -15,7 +15,9 @@
 \usepackage{multicol}
 \usepackage{listingsutf8}
 \usepackage{filecontents}
-\lstset{language=MetaPost,inputencoding=utf8}
+\lstset{language=MetaPost,inputencoding=utf8,basicstyle=\sffamily}
+\usepackage[tikz]{bclogo}
+%\renewcommand\bcStyleTitre[1]{}
 \title{\includegraphics[scale=0.05]{Scratch_cat.png}\kern0.05\linewidth Scratch et \MP\kern0.05\linewidth\includegraphics{Carre.1}}
 \author{C.Poulain}
 \date{Janvier 2017}
@@ -36,15 +38,18 @@ Avec les nouveaux programmes 2016 du Cycle 4 (Classes de 5\ieme\ à 3\ieme\ de c
   \caption{Algorithme de création d'un carré - Versions Scratch et \MP\protect\footnotemark}
   \label{fig:1}
 \end{figure}
-\footnotetext{Ce premier algorithme me permet de remercier Maximum Chupin et son package {\sffamily bclogo} : le drapeau vert a été créé à partir des sources de son package et notamment la construction, en \MP, de ses drapeaux.}
+\footnotetext{Ce premier algorithme me permet de remercier Maxime Chupin et son package {\sffamily bclogo} : le drapeau vert a été créé à partir des sources de son package et notamment la construction, en \MP, de ses drapeaux.}
 \section{Installation}
-Le package {\sffamily mp-scratch} est indépendant d'autres packages personnels. On trouvera l'archive à l'adresse
+Le package {\sffamily mp-scratch} est indépendant d'autres packages personnels tels \lstinline!geometriesyr16!, \lstinline!mp-geo! ou \lstinline!mp-solid!.
+\\Au travers d'un dépôt \lstinline!git!\footnote{Tous les contributeurs sont donc les bienvenus pour développer le package.}, on trouvera l'archive à l'adresse
 \begin{center}
-  \url{melusine.eu.org/}
+  \url{http://melusine.eu.org/syracuse/G/mp-scratch/}
 \end{center}
-et l'ensemble des fichiers sera à placer correctement dans une arborescence \TeX\footnote{Arborescence locale de préférence, par exemple dans {\sffamily /home/christophe/texmf/metapost/} sous linux.}
+et l'ensemble des fichiers sera à placer correctement dans une arborescence \TeX\footnote{Arborescence locale de préférence, par exemple dans {\sffamily /home/christophe/texmf/metapost/} sous Linux.}.
 \section{Utilisation}
-\begin{minipage}{0.4\linewidth}
+\begin{figure}[h]
+  \centering
+  \begin{minipage}{0.4\linewidth}
   \includegraphics{Algo1.1}
 \end{minipage}
 \hfill
@@ -63,19 +68,26 @@ endfig;
 end
   \end{lstlisting}
 \end{minipage}
-\par\vspace{1em}\par Reprenons l'exemple de l'algorithme du carré pour faire les premières constatations suivantes :
+  \caption{Un carré - Code et résultat sous \MP}
+  \label{fig:carre}
+\end{figure}
+%\par\vspace{1em}\par
+Reprenons l'exemple de l'algorithme du carré pour faire les premières constatations suivantes :
 \begin{Enumerate}
-  \item la syntaxe est très proche du vocabulaire utilisé par Scratch;
-  \item les couleurs\footnote{Peut-être, sont-elles un peu ternes. Cela reste, bien évidemment, paramétrable.} sont proches de celles utilisées par Scratch;
+  \item la syntaxe est très proche du vocabulaire utilisé par Scratch; donc très peu de nouvelles commandes à apprendre\ldots
+  \item les couleurs\footnote{Cela reste, bien évidemment, paramétrable. Les paramètres disponibles pour personnaliser les couleurs sont \lstinline!colMouv!, \lstinline!colAp!, \lstinline!colSon!, \lstinline!colStylo!, \lstinline!colEvenements!, \lstinline!colControle!, \lstinline!colCapteur!, \lstinline!colBloc!, \lstinline!colVar!, \lstinline!colList!.} sont celles utilisées par Scratch\footnote{Une nouvelle fois, merci à Maxime Chupin pour m'avoir fait découvrir l'utilitaire \lstinline!gcolor2! sous Linux};
   \item le bloc {\sffamily Répéter} est un peu particulier car il nécessite l'ajout {\em manuel} d'un nombre (ou chiffre)\footnote{{\sffamily Repeter2}, {\sffamily Repeter5}\ldots} qui permettra  à \MP\ de faire la liaison correcte lors de la présence de multiples blocs {\sffamily Répéter} comme le montre l'exemple ci-dessous.
-\par\vspace{1em}\par\begin{minipage}{0.4\linewidth}
+%\par\vspace{1em}\par
+    \begin{figure}[h]
+      \centering
+      \begin{minipage}{0.3\linewidth}
   \includegraphics{Algo2.1}
 \end{minipage}
-\hfill
-\begin{minipage}{0.5\linewidth}
+\hspace{7.5em}
+\begin{minipage}{0.35\linewidth}
 \small
 \begin{lstlisting}[firstnumber=1,frame=tb]
-  input mp-scratch;
+input mp-scratch;
 
 beginfig(1);
   draw Drapeau;
@@ -90,8 +102,14 @@ endfig;
 end
   \end{lstlisting}
 \end{minipage}
-\item Très peu de nouvelles commandes à apprendre\ldots
+      \caption{Un carré se déplace - Code et résultat sous \MP}
+      \label{fig:carredep}
+    \end{figure}
 \end{Enumerate}
+\begin{bclogo}[arrondi=0.1,logo=\bcattention,noborder=true,cadreTitre=false,barre=none]{}
+  Pour les codes \MP\ suivants, on omettra volontairement \lstinline!input mp-scratch! et \lstinline!end!.\footnotemark
+\end{bclogo}
+\footnotetext{Chacun aura reconnu le package \lstinline!bclogo! de Maxime Chupin.}
 \subsection{Commandes Scratch}
 \begin{description}
   \item[Groupe {\sffamily Mouvement}]\hfil\newline
@@ -125,9 +143,9 @@ end
     \item[\textbullet]\lstinline!draw FixerSensRotation("position \`a gauche ou \`a droite"';!
       \par\hfill\includegraphics{CommandeMouvement.14}
     \end{itemize}
-    \par\vspace*{2em}\par Les \og opérateurs\footnote{Je nomme \og opérateurs\fg\ les variables ou commandes Scratch pouvant s'inclure dans les blocs-commande. Je me demande si je suis assez clair\ldots}\fg\ 
+Les \og opérateurs\footnote{Je nomme \og opérateurs\fg\ les variables ou commandes Scratch pouvant s'inclure dans les blocs-commande. Je me demande si je suis assez clair\ldots}\fg\ 
 \[\includegraphics{CommandeMouvement.18}\kern0.1\linewidth\includegraphics{CommandeMouvement.19}\kern0.1\linewidth\includegraphics{CommandeMouvement.20}\]
- s'obtiennent avec la commande \LaTeX\footnote{Oui, une commande \LaTeX. Cela signifie donc que cette commande sera passée comme un élément de type {\sffamily string} de \MP.} \lstinline!\opMouv{}! comme le montre les exemples ci-dessous :
+ s'obtiennent avec la commande \LaTeX\footnote{Oui, une commande \LaTeX. Cela signifie donc que cette commande sera passée comme un élément de type {\sffamily string} de \MP.} \lstinline!\opMouv{}! comme le montrent les exemples ci-dessous :
     \begin{itemize}
     \item[\textbullet]\lstinline!draw Avancer("\opOp{$\opMouv{abscisse x}\bm{+}\opSimple{10}$}");!
       \par\hfill\includegraphics{CommandeMouvement.15}
@@ -136,6 +154,7 @@ end
     \item[\textbullet]\lstinline!draw Ajouter("\opMouv{direction}","y");!
       \par\hfill\includegraphics{CommandeMouvement.17}
     \end{itemize}
+    \vspace*{2em}\par
   \item[Groupe {\sffamily Apparence}]\hfil\newline
     \begin{itemize}
     \item[\textbullet]\lstinline!draw DireT("Hello",2);!
@@ -174,6 +193,7 @@ end
     \par\vspace*{2em}\par Les \og opérateurs\fg\ 
 \[\includegraphics{CommandeApparence.17}\kern0.1\linewidth\includegraphics{CommandeApparence.18}\kern0.1\linewidth\includegraphics{CommandeApparence.19}\]
 s'obtiennent avec la commande \LaTeX\ \lstinline!\opAp{}!.
+    %\par\vspace*{2em}\par
   \item[Groupe {\sffamily Son}]\hfil\newline
     \begin{itemize}
     \item[\textbullet]\lstinline!draw Jouer("miaou");!
@@ -199,19 +219,21 @@ s'obtiennent avec la commande \LaTeX\ \lstinline!\opAp{}!.
     \item[\textbullet]\lstinline!draw MettreTempo(15);!
       \par\hfill\includegraphics{CommandeSon.11}
     \end{itemize}
-Les \og opérateurs\fg\ s'obtiennent par la commande \LaTeX\ \lstinline!\opSon{}!.
+Les \og opérateurs\fg
 \[\includegraphics{CommandeSon.12}\kern0.1\linewidth\includegraphics{CommandeSon.13}\]
+s'obtiennent par la commande \LaTeX\ \lstinline!\opSon{}!.
+    \par\vspace*{2em}\par
   \item[Groupe {\sffamily Stylo}]\hfil\newline
     \begin{itemize}
-    \item[\textbullet]\lstinline!draw Effacer!
+    \item[\textbullet]\lstinline!draw Effacer;!
       \par\hfill\includegraphics{CommandeStylo.1}
-    \item[\textbullet]\lstinline!draw Estampiller!
+    \item[\textbullet]\lstinline!draw Estampiller;!
       \par\hfill\includegraphics{CommandeStylo.2}
-    \item[\textbullet]\lstinline!draw PoserStylo!
+    \item[\textbullet]\lstinline!draw PoserStylo;!
       \par\hfill\includegraphics{CommandeStylo.3}
-    \item[\textbullet]\lstinline!draw ReleverStylo!
+    \item[\textbullet]\lstinline!draw ReleverStylo;!
       \par\hfill\includegraphics{CommandeStylo.4}
-    \item[\textbullet]\lstinline!draw MettreCouleur("Magenta",1,0,1);!\footnote{La couleur est définie par son tripler {\sffamily rgb}. Le nom de la couleur est libre mais ne doit pas rentrer en conflit avec les couleurs déjà définies dans le sous-package {\sffamily LATEXScratch.mp}.}
+    \item[\textbullet]\lstinline!draw MettreCouleur("Magenta",1,0,1);!\footnote{La couleur est définie par son triplet {\sffamily rgb}. Le nom de la couleur est libre mais ne doit pas rentrer en conflit avec les couleurs déjà définies dans le sous-package {\sffamily LATEXScratch.mp}.}
       \par\hfill\includegraphics{CommandeStylo.5}
     \item[\textbullet]\lstinline!draw AjouterCS("\opOp{$\opSimple{15}\bm{+}\opSimple{10}$}");!
       \par\hfill\includegraphics{CommandeStylo.6}
@@ -226,6 +248,7 @@ Les \og opérateurs\fg\ s'obtiennent par la commande \LaTeX\ \lstinline!\opSon{}
     \item[\textbullet]\lstinline!draw MettreTS("\opOp{$\opSimple{15}\bm{\times}\opSimple{10}$}");!
       \par\hfill\includegraphics{CommandeStylo.11}
     \end{itemize}
+    \vspace*{2em}\par
 \item[Groupe {\sffamily Données}]\hfil\newline
   \begin{itemize}
   \item[\textbullet]\lstinline!draw MettreVar("pi",0);!
@@ -256,49 +279,79 @@ Les \og opérateurs\fg\ s'obtiennent par la commande \LaTeX\ \lstinline!\opSon{}
     \includegraphics{CommandeVariable.14}\hfill \includegraphics{CommandeVariable.15}
     \end{minipage}
 \end{center}
-s'obtiennent par les commandes \LaTeX\ \lstinline!\opVar{}!, \lstinline!\opList{}! et \lstinline!\opSousList!.
+s'obtiennent par les commandes \LaTeX\ \lstinline!\opVar{}!, \lstinline!\opList{}! et \lstinline!\opSousList{}!.
+    \par\vspace*{2em}\par
 \item[Groupe {\sffamily \'Evènement}]\hfil\newline
   \begin{itemize}
-  \item[\textbullet]\lstinline!draw Drapeau!
+  \item[\textbullet]\lstinline!draw Drapeau;!
     \par\hfill\includegraphics{CommandeEvenements.1}
-  \item[\textbullet]\lstinline!draw Presse("espace");!
+  \item[\textbullet]\lstinline!draw QPresse("espace");!
     \par\hfill\includegraphics{CommandeEvenements.2}
-  \item[\textbullet]\lstinline!draw LutinPresse;!
+  \item[\textbullet]\lstinline!draw QLutinPresse;!
     \par\hfill\includegraphics{CommandeEvenements.3}
-  \item[\textbullet]\lstinline!draw BasculeAR("arriere-plan1");!
+  \item[\textbullet]\lstinline!draw QBasculeAR("arriere-plan1");!
     \par\hfill\includegraphics{CommandeEvenements.4}
-  \item[\textbullet]\lstinline!draw VolumeSup("Volume sonore",10);!
+  \item[\textbullet]\lstinline!draw QVolumeSup("Volume sonore",10);!
     \par\hfill\includegraphics{CommandeEvenements.5}
-  \item[\textbullet]\lstinline!draw RecevoirMessage("message1");!
+  \item[\textbullet]\lstinline!draw QRecevoirMessage("message1");!
     \par\hfill\includegraphics{CommandeEvenements.6}
   \item[\textbullet]\lstinline!draw EnvoyerMessage("message1");!
     \par\hfill\includegraphics{CommandeEvenements.7}
   \item[\textbullet]\lstinline!draw EnvoyerMessageA("message1");!
     \par\hfill\includegraphics{CommandeEvenements.8}
   \end{itemize}
+    \vspace*{2em}\par
 \item[Groupe {\sffamily Contrôle}]\hfil\newline
   \begin{itemize}
   \item[\textbullet]\lstinline!draw Attendre("\opOp{$\opSimple{10}\bm{+}\opSimple{40}$}");!
     \par\hfill\includegraphics{CommandeControle.1}
+  \item[\textbullet]\lstinline!draw AttendreJ("\opOp{$\opSimple{10}\bm{+}\opMouv{Abscisse x}\bm{=}\opSimple{20}$}");!
+    \par\hfill\includegraphics{CommandeControle.6}
+  \item[\textbullet]\lstinline!draw Stop("ce script");!
+    \par\hfill\includegraphics{CommandeControle.8}
+  \item[\textbullet]\lstinline!draw CommencerClone;!
+    \par\hfill\includegraphics{CommandeControle.9}
+  \item[\textbullet]\lstinline!draw CreerClone("Lutin1");!
+    \par\hfill\includegraphics{CommandeControle.10}
+  \item[\textbullet]\lstinline!draw SupprimerClone;!
+    \par\hfill\includegraphics{CommandeControle.11}
   \item[\textbullet]
     \begin{lstlisting}[frame=tb]
 draw Repeter1("\opOp{$\opSimple{10}\bm{+}\opSimple{40}$}");
-draw LigneVide(10);
+draw LigneVide("Bonjour");
 draw FinBlocRepeter1(10);
     \end{lstlisting}
     \par\hfill\includegraphics{CommandeControle.2}
   \item[\textbullet]
     \begin{lstlisting}[frame=tb]
 draw RepeterI1;
-draw LigneVide(10);
-draw FinBlocRepeter1(10);
+draw LigneVide("Bonjour");
+draw FinBlocRepeterI1(10);
     \end{lstlisting}
     \par\hfill\includegraphics{CommandeControle.3}
+\par On remarquera ici la distinction \lstinline!FinBlocRepeter1! et \lstinline!FinBlocRepeterI1!. Le premier autorise une suite à l'algorithme (par la présence du cadre \og puzzle\fg), le deuxième non.
+\\Une deuxième remarque concerne la \og sortie\fg\ des blocs \lstinline!Repeter! (elle est aussi valable pour les blocs \lstinline!Si!\ldots\lstinline!alors!). Comme l'indique la figure \ref{fig:pbsortiebloc} et contrairement à \lstinline!Scratch!, j'ai {\em choisi}\footnote{Par commodité de programmation, par esthétique et aussi par conception de la sortie d'un tel bloc.} de ne pas faire de distinction \og puzzle / non puzzle\fg\ en fin de boucle (ou test).
+\begin{figure}[h!]
+  \centering
+  \includegraphics[width=0.5\linewidth]{Scratchpbsortiebloc-1}\hfill\includegraphics{SortieBloc.1}
+  \caption{Comparaison Scratch / \MP\ pour l'affichage des \og sorties\fg\ de boucles et tests.}
+  \label{fig:pbsortiebloc}
+\end{figure}
+
+\`A noter dans le code \MP\ de cet exemple, l'utilisation du paramètre \lstinline! _coinprec ! afin de placer différentes partie d'un algorithme au sein d'une même figure \MP.
+\begin{lstlisting}[frame=tb]
+  ...
+  draw FinBlocRepeter1(10);
+  _coinprec:=_coinprec+(0,-1cm);
+  draw Si2("\opOp{$\opVar{i}\bm{<}10$}");
+  ...
+\end{lstlisting}%
+
   \item[\textbullet]
     \begin{lstlisting}[frame=tb]
 draw Si1("\opOp{$\opSimple{10}\bm{+}\opMouv{Abscisse x}%
 \bm{=}\opSimple{20}$}");
-draw LigneVide(10);
+draw LigneVide("Bonjour");
 draw FinBlocSi1;
     \end{lstlisting}
     \par\hfill\includegraphics{CommandeControle.4}
@@ -306,31 +359,22 @@ draw FinBlocSi1;
     \begin{lstlisting}[frame=tb]
 draw Si1("\opOp{$\opSimple{10}\bm{+}\opMouv{Abscisse x}%
 \bm{=}\opSimple{20}$}");
-draw LigneVide(10);
+draw LigneVide("Bonjour");
 draw Sinon1;
-draw LigneVide(10);
+draw LigneVide("Bonjour");
 draw FinBlocSi1;
     \end{lstlisting}
     \par\hfill\includegraphics{CommandeControle.5}
-  \item[\textbullet]{\footnotesize\lstinline!draw AttendreJ("\opOp{$\opSimple{10}\bm{+}\opMouv{Abscisse x}\bm{=}\opSimple{20}$}");!}
-    \par\hfill\includegraphics{CommandeControle.6}
   \item[\textbullet]
     \begin{lstlisting}[frame=tb]
 draw RepeterJ1("\opOp{$\opSimple{10}\bm{+}\opMouv{Abscisse x}%
  \bm{=}\opSimple{20}$}");
-draw LigneVide(10);
+draw LigneVide("Bonjour");
 draw FinBlocRepeter1(10);
     \end{lstlisting}
     \par\hfill\includegraphics{CommandeControle.7}
-  \item[\textbullet]\lstinline!draw Stop("ce script");!
-    \par\hfill\includegraphics{CommandeControle.8}
-  \item[\textbullet]\lstinline!draw CommencerClone;!
-    \par\hfill\includegraphics{CommandeControle.9}
-  \item[\textbullet]\lstinline!draw CreerClone("Lutin1");!
-    \par\hfill\includegraphics{CommandeControle.10}
-  \item[\textbullet]\lstinline!draw SupprimerClone;!
-    \par\hfill\includegraphics{CommandeControle.11}
   \end{itemize}
+\vspace*{2em}\par
 \item[Groupe {\sffamily Capteurs}]\hfil\newline
   \begin{itemize}
   \item[\textbullet]\begin{filecontents*}{capteur1.txt}
@@ -345,7 +389,7 @@ draw Demander("Quel est votre prénom ?");
   \item[\textbullet]\lstinline!draw ReinitChrono;!
     \par\hfill\includegraphics{CommandeCapteurs.4}    
   \end{itemize}
-\par\vspace*{2em}\par Les \og opérateurs\fg\ s'obtiennent par les commandes \LaTeX\ \lstinline!\opCap{}! et \lstinline!\opCapCap!.
+Les \og opérateurs\fg
   \begin{center}
     \begin{minipage}{0.8\linewidth}
       \includegraphics{CommandeCapteurs.5}\par
@@ -359,6 +403,7 @@ draw Demander("Quel est votre prénom ?");
       \includegraphics{CommandeCapteurs.17}\hfill\includegraphics{CommandeCapteurs.18}
     \end{minipage}
 \end{center}
+s'obtiennent par les commandes \LaTeX\ \lstinline!\opCap{}! et \lstinline!\opCapCap{}!.
 Néanmoins, il faut parfois un codage conséquent. Par exemple, voici un capteur et son code.
 \par\begin{minipage}{0.2\linewidth}
   \includegraphics{CommandeCapteurs.7}
@@ -377,8 +422,9 @@ Néanmoins, il faut parfois un codage conséquent. Par exemple, voici un capteur
 \end{lstlisting}
 \end{minipage}
 \\Un peu barbare, non ? Mais, cela ne nécessitera qu'un simple copier-coller pour les autres utilisations\ldots%}
+\par\vspace*{2em}\par
 \item[Groupe {\sffamily Opérateurs}]\hfil\newline
-Les éléments de ce groupe s'obtiennent par les commandes \LaTeX\ \lstinline!\opOp{}! et \lstinline!\opSousOp{}!.
+Les éléments%
   \begin{center}
     \begin{minipage}{0.8\linewidth}
       \includegraphics{CommandeOperateurs.1}\hfill\includegraphics{CommandeOperateurs.2}\hfill\includegraphics{CommandeOperateurs.3}\hfill
@@ -391,6 +437,8 @@ Les éléments de ce groupe s'obtiennent par les commandes \LaTeX\ \lstinline!\o
 \par\includegraphics{CommandeOperateurs.15}\hfill\includegraphics{CommandeOperateurs.16}\hfill\includegraphics{CommandeOperateurs.17}
     \end{minipage}
 \end{center}
+s'obtiennent par les commandes \LaTeX\ \lstinline!\opOp{}! et \lstinline!\opSousOp{}!.
+\vspace*{2em}\par
 \item[Groupe {\sffamily Ajouter blocs}]\hfil\newline
   \begin{itemize}
   \item[\textbullet]\lstinline!draw NouveauBloc("Pentagone");!
@@ -400,6 +448,31 @@ Les éléments de ce groupe s'obtiennent par les commandes \LaTeX\ \lstinline!\o
   \item[\textbullet]\lstinline!draw Bloc("Pentagone");!
     \par\hfill\includegraphics{CommandeBloc.2}
 \end{itemize}
+\item[Groupe {\sffamily Divers}]\hfil\newline
+D'un point de vue pédagogique, il m'est apparu nécessaire d'ajouter la possibilité de donner l'illusion d'un algorithme \og vide\fg. J'ai donc créé la commande \lstinline!LigneVide! qui demande un argument simple (on pourra se reporter aux exemples du groupe {\sffamily Contrôle}.\footnote{On peut obtenir le même résultat avec le paramètre \lstinline! _coinprec ! mais la précision de placement me semble plus délicate.}
+\\On aura également à disposition \lstinline!CommandeVide("Bonjour!")! afin de faire compléter un algorithme par les élèves.
+\begin{figure}[h]
+  \centering
+  \begin{minipage}{0.4\linewidth}
+    \includegraphics{ExCommandeVide.1}
+  \end{minipage}
+  \hfill
+  \begin{minipage}{0.5\linewidth}
+\begin{filecontents*}{CommandeVide.txt}
+  beginfig(1);
+  draw Drapeau;
+  draw Repeter1(4);
+  draw Avancer(50);
+  draw CommandeVide("Tourner à droite%
+ de 90 degrés");
+  draw FinBlocRepeter1(10);
+  endfig;
+\end{filecontents*}
+\lstinputlisting[inputencoding=utf8/latin1,frame=tb]{CommandeVide.txt}
+  \end{minipage}
+  \caption{Utilisation de \lstinline!CommandeVide!}
+  \label{fig:CommandeVide}
+\end{figure}
   \end{description}
 Terminons cette liste de commandes par un algorithme associé à la suite de Syracuse :)
 \[\includegraphics[scale=0.8]{Syracuse.1}\]
@@ -478,7 +551,7 @@ endfig;
   \label{fig:5}
   \caption{François Morellet - Oeuvre Pi piquant, 1=1°, 38 décimales}
 \end{figure}
-\[\includegraphics[width=0.75\linewidth]{Ex-Morellet.1}\]
+\[\includegraphics[width=0.7\linewidth]{Ex-Morellet.1}\]
 \begin{filecontents*}{Morellet.txt}
 beginfig(1)%François Morellet - Oeuvre Pi piquant, 1=1°, 38 décimales
   draw Drapeau;
@@ -576,12 +649,14 @@ endfig;
 \newpage
 \section{Historique}
 \begin{description}
+  \item[13/02/2017] {\bfseries Version 0.53} - Ajout des chanfreins sur les blocs. Correction de \og doublons\fg\ de commandes. Mise à jour de la documentation.
+  \item[05/02/2017] {\bfseries Version 0.51} - Sur les conseils de Maxime Chupin et Thierry Pasquier, travail sur les couleurs (mise en accord avec celles de Scratch et personnalisation possible). Passage des majuscules aux minuscules pour les blocs.
   \item[21/01/2017] {\bfseries Version 0.5} - Publication sur \url{www.melusine.eu.org/syracuse/}
   \item[19/01/2017] {\bfseries Version 0.32} - Ajout d'éléments de présentation ($\blacktriangledown$).
   \item[18/01/2017] {\bfseries Version 0.31} - Ajout du groupe {\sffamily Son}.
   \item[15/01/2017] {\bfseries Version 0.3} - Modification du code. Conception de la documentation.
   \item[08/01/2017] {\bfseries Version 0.2} - Ajout des commandes des groupes {\sffamily Données} et {\sffamily Capteurs}.
   \item[06/01/2017] {\bfseries Version 0.15} - Ajout des commandes du groupe {\sffamily Ajouter blocs}.
-  \item[05/01/2017] {\bfseries Version 0.1} - Sont disponibles les commandes des groupes {\sffamily Mouvement}, {\sffamily Apparence}, {\sffamily Stylo}, {\sffamily Evènements}, {\sffamily Contrôle}.
+  \item[05/01/2017] {\bfseries Version 0.1} - Sont disponibles les commandes des groupes {\sffamily Mouvement}, {\sffamily Apparence}, {\sffamily Stylo}, {\sffamily Évènements}, {\sffamily Contrôle}.
 \end{description}
 \end{document}

Licence Creative Commons Les fichiers de Syracuse sont mis à disposition (sauf mention contraire) selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.