Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- \documentclass[A4paper,12pt]{report}
- % Inclusion de packages
- \usepackage[french]{babel}
- \usepackage[utf8]{inputenc}
- %\usepackage[T1]{fontenc}
- \usepackage{ae,aecompl}
- \usepackage{graphicx}
- \usepackage{multirow}
- \usepackage{enumerate}
- \usepackage{fancybox}
- \usepackage{fancyvrb}
- \usepackage{wrapfig}
- \usepackage[usenames,dvipsnames]{pstricks}
- \usepackage{epsfig}
- \usepackage{pst-grad} % For gradients
- \usepackage{pst-plot} % For axes
- \usepackage[crop=off]{auto-pst-pdf}
- % En-tête et pied de page
- \usepackage{fancyhdr}
- \pagestyle{fancy}
- \lhead{}
- \chead{}
- \rhead{\bfseries Projet Cassiopée - Puzzle Shell}
- \lfoot{Puzzle Shell}
- \cfoot{XXXXXXXXXXX}
- \rfoot{\thepage}
- \renewcommand{\headrulewidth}{0.4pt}
- \renewcommand{\footrulewidth}{0.4pt}
- % Définition de commandes
- \newcommand{\HRule}{\rule{\linewidth}{0.5mm}}
- % Supprimer le mot chapitre
- \makeatletter
- \def\@makechapterhead#1{%
- \vspace*{50\p@}%
- {\parindent \z@ \raggedright \normalfont
- \interlinepenalty\@M
- \Huge \bfseries \quad#1\par\nobreak
- \vskip 20\p@
- }}
- \makeatother
- % Supprimer numérotation section
- \begin{document}
- \begin{titlepage}
- \begin{center}
- % Title
- \HRule \\[0.4cm]
- { \huge \bfseries Projet Cassiopée}\\[0.4cm]
- \emph{\large{Compte rendu }}
- \HRule \\[0.5cm]
- \end{center}
- % Uncomment to show the Puzzle Shell Logo
- \begin{center}
- \includegraphics[scale=0.8]{Puzzle_shell2.png}
- \end{center}
- \begin{tabular}{l l}
- \Large \emph{Auteurs:} & \Large Dimitri \textsc{Fert} \\ [0.2cm]
- & \Large Clément\textsc{ Berland}\\ [0.2cm]
- & \Large Yue \textsc{Wang} \\ [0.2cm]
- & \Large Leila \textsc{Ben Romdhane } \\ [1cm]
- \Large \emph{Coordinateur :} & \Large Eric \textsc{Renault} \\
- \end{tabular}
- \vfill
- \begin{center}
- % Bottom of the page
- {\large Lundi 10 October 2012} \\[10px]
- \includegraphics[scale=0.4]{logo_SP.jpg}\\
- \end{center}
- \end{titlepage}
- \newpage
- \thispagestyle{empty}
- \mbox{}
- \tableofcontents
- \chapter{Introduction}
- \thispagestyle{fancy}
- Le but de ce projet est de développer un programme éducatif permettant d'enseigner de manière ludique les concepts propres au Shell Unix, qui peuvent être difficile à assimiler au premier abord. Ainsi, le Puzzle Shell est un programme écrit en Java permettant la génération d'une commande Unix en utilisant un assemblage de pièce de puzzle, où chaque pièce est un élément de cette commande.
- Ainsi, une pièce du puzzle correspond à une partie de la commande, et l'imbrication de ces pièces permet la génération de la commande voulue.
- Chaque partie d'une commande à une place bien précise dans cette dernière et si cette place n'est pas respectée, la commande sera incorrecte. On ne peut pas par exemple écrire la commande suivante
- \begin{Verbatim*}[commandchars=\\\{\}]
- \fbox{ls > -a}
- \end{Verbatim*}
- %\begin{figure}[!h]
- %\begin{center}
- %\includegraphics[scale=0.50]{ima1.png}
- %\caption{Schéma explicatif du Puzzle Shell}
- %\end{center}
- %\end{figure}
- %\clearpage
- \begin{wrapfigure}{l}{0.5\textwidth}
- \vspace{-70px}
- \begin{center}
- \scalebox{0.8} % Change this value to rescale the drawing.
- {
- \begin{pspicture}(0,-3.76)(10.26,5.5)
- \definecolor{color4007b}{rgb}{1.0,0.6,0.6}
- \definecolor{color4033b}{rgb}{0.8,1.0,0.8}
- \definecolor{color4077b}{rgb}{1.0,1.0,0.6}
- \definecolor{color4124b}{rgb}{0.6,1.0,1.0}
- \definecolor{color4170b}{rgb}{0.2,0.0,0.2}
- \definecolor{color4242}{rgb}{0.9764705882352941,0.9490196078431372,1.0}
- \definecolor{color4242b}{rgb}{0.9803921568627451,0.9568627450980393,1.0}
- \psframe[linewidth=0.12,linecolor=color4242,dimen=outer,fillstyle=solid,fillcolor=color4242b](7.0,3.1)(0.0,-3.1)
- \pspolygon[linewidth=0.12,fillstyle=solid,fillcolor=color4007b](0.6,1.3)(1.6,1.3)(1.6,0.7)(2.4,0.7)(2.4,1.3)(3.4,1.3)(3.4,0.3)(4.0,-0.1)(3.4,-0.5)(3.4,-1.3)(2.6,-1.3)(2.2,-1.7)(1.8,-1.7)(1.4,-1.3)(0.6,-1.3)
- \pspolygon[linewidth=0.12,fillstyle=solid,fillcolor=color4033b](0.6,1.9)(1.6,1.9)(1.6,1.5)(2.4,1.5)(2.4,1.9)(3.4,1.9)(3.4,2.7)(0.6,2.7)
- \usefont{T1}{ptm}{m}{n}
- \rput(2.0984375,0.01){ls}
- \usefont{T1}{ptm}{m}{n}
- \rput(1.9321876,2.21){-a}
- \pspolygon[linewidth=0.12,fillstyle=solid,fillcolor=color4077b](0.6,-1.7)(1.4,-1.7)(1.8,-2.1)(2.2,-2.1)(2.6,-1.7)(3.4,-1.7)(3.4,-2.7)(0.6,-2.7)
- \usefont{T1}{ptm}{m}{n}
- \rput(1.9735937,-2.39){error.txt}
- \pspolygon[linewidth=0.12,fillstyle=solid,fillcolor=color4124b](3.8,1.3)(3.8,0.3)(4.4,-0.1)(3.8,-0.5)(3.8,-1.3)(6.0,-1.3)(6.0,1.3)
- \usefont{T1}{ptm}{m}{n}
- \rput(5.2192187,0.01){result.txt}
- \psline[linewidth=0.04cm,fillcolor=color4170b](0.0,3.1)(7.0,3.1)
- \psline[linewidth=0.04cm,fillcolor=color4170b](7.0,3.1)(7.0,0.7)
- \psline[linewidth=0.04cm,fillcolor=color4170b](0.0,3.1)(0.0,-3.1)
- \psline[linewidth=0.04cm,fillcolor=color4170b](0.0,-3.1)(7.0,-3.1)
- \psline[linewidth=0.04cm,fillcolor=color4170b](7.0,-3.1)(7.0,-0.7)
- \rput{-270.0}(7.0,-7.04){\psarc[linewidth=0.04,fillstyle=solid](7.02,-0.02){0.7}{0.0}{180.0}}
- \usefont{T1}{ptm}{m}{n}
- \rput(6.3954687,-2.69){\psframebox[linewidth=0.02,framesep=0.1]{pipe}}
- \end{pspicture}
- }
- \vspace{-20px}
- \caption{Exemple non exhaustif de différenciation des pièces}
- \label{puzzle_exemple}
- \end{center}
- \end{wrapfigure}
- \hspace{-10px}
- Dans Unix, à chaque concept d'imbrication est associé un caractère unique. Ainsi on utilise le \verb+|+ pour faire un tube et le \verb+>+ pour faire une redirection par exemple. Il est alors naturel que l'on retrouve cette différenciation dans \emph{Puzzle Shell}. Puisque ce programme est graphique, nous différencierons ces concepts au niveau des extrémités des pièces de puzzle. On peut imaginer une extrémité carrée pour un tube et une extrémité triangulaire pour une redirection par exemple. Chacune des ces formes ayant son équivalent mâle/femelle pour pouvoir s'emboiter.
- \clearpage
- \section{Rappel sur les commandes Unix}
- \subsection{Commande générale}
- Une commande générale est composée de trois parties : \smallskip
- \fbox{
- \parbox{0.9\textwidth}{%
- \begin{enumerate}[i.]
- \item Le nom de la commande
- \item Les arguments de la commande
- \item Les paramètres des arguments de la commande en question
- \end{enumerate}
- }} \\ \smallskip
- Un processus possède un entrée nommée\verb+ STDIN+, une sortie standard nommée \verb+STDOUT+ et une sortie d'erreur nommée \verb+STDERR+.
- \begin{figure}[!h]
- \begin{center}
- {
- \begin{pspicture}(0,-1.5)(9.86,1.5)
- \definecolor{color2083b}{rgb}{1.0,0.8,1.0}
- \definecolor{color2089b}{rgb}{0.2,0.0,0.2}
- \psline[linewidth=0.12,linestyle=dashed,dash=0.16cm 0.16cm,arrowsize=0.05291667cm 2.0,arrowlength=1.4,arrowinset=0.4,fillcolor=color2089b]{->}(6.2,-0.1)(7.6,-0.9)(9.8,-0.9)
- \psline[linewidth=0.12,arrowsize=0.05291667cm 2.0,arrowlength=1.4,arrowinset=0.4,fillcolor=color2089b]{->}(6.2,-0.1)(7.6,0.7)(9.8,0.7)
- \psellipse[linewidth=0.06,dimen=outer,fillstyle=solid,fillcolor=color2083b](4.5,0.0)(2.1,1.5)
- \psline[linewidth=0.12cm,fillcolor=color2089b,arrowsize=0.05291667cm 2.0,arrowlength=1.4,arrowinset=0.4]{->}(0.0,-0.1)(2.4,-0.1)
- \usefont{T1}{ptm}{m}{n}
- \rput(1.12625,0.21){STDIN}
- \usefont{T1}{ptm}{m}{n}
- \rput(8.704219,1.01){STDOUT}
- \usefont{T1}{ptm}{m}{n}
- \rput(8.490469,-0.59){STDERR}
- \usefont{T1}{ptm}{m}{n}
- \rput(4.5107813,0.01){Processus}
- \end{pspicture}
- }
- \caption[test3]{Entrée / Sortie d'un processus}
- \end{center}
- \end{figure} \smallskip
- Chacunes de ces trois entrées/sorties peut être redirigée ou non. Ainsi on distingue deux types de schémas selon que l'on les redirige ou non.
- \begin{figure}[!h]
- \begin{center}
- \scalebox{1} % Change this value to rescale the drawing.
- {
- \begin{pspicture}(0,-2.2989063)(13.28,2.2589064)
- \definecolor{color192b}{rgb}{0.8,1.0,1.0}
- \definecolor{color1133b}{rgb}{0.2,0.0,0.2}
- \psframe[linewidth=0.04,dimen=outer,fillstyle=solid,fillcolor=color192b](7.8,2.2589064)(5.0,0.7789062)
- \usefont{T1}{ptm}{m}{n}
- \rput(6.433125,1.7489063){Environnement}
- \usefont{T1}{ptm}{m}{n}
- \rput(6.411875,1.2689062){logiciel}
- \psframe[linewidth=0.04,dimen=outer,fillstyle=solid,fillcolor=color192b](3.36,-0.16109376)(0.0,-1.7610937)
- \usefont{T1}{ptm}{m}{n}
- \rput(1.8009375,-0.7110937){Execution}
- \usefont{T1}{ptm}{m}{n}
- \rput(1.7278125,-1.1710937){d'une commande}
- \rput(11.0,-0.8310937){\includegraphics{terminal.eps}}
- \psline[linewidth=0.12,arrowsize=0.05291667cm 3.0,arrowlength=1.4,arrowinset=0.4,fillcolor=color1133b]{->}(3.32,-0.98109376)(6.08,-0.98109376)(6.08,0.7789062)
- \psline[linewidth=0.12,arrowsize=0.05291667cm 3.0,arrowlength=1.4,arrowinset=0.4,fillcolor=color1133b]{->}(6.76,0.7789062)(6.76,-0.98109376)(8.72,-0.98109376)
- \usefont{T1}{ptm}{m}{n}
- \rput(11.071719,-2.0710938){Réponse du programme}
- \end{pspicture}
- }
- \caption[test]{Execution d'un processus sans redirection}
- \end{center}
- \end{figure}
- \clearpage
- \begin{figure}[!h]
- \begin{center}
- {
- \begin{pspicture}(0,-5.1)(12.8,5.1)
- \definecolor{color3357b}{rgb}{1.0,1.0,0.6}
- \definecolor{color2905b}{rgb}{0.8,1.0,1.0}
- \definecolor{color3232b}{rgb}{1.0,0.8,1.0}
- \definecolor{color3425b}{rgb}{1.0,0.6,0.6}
- \definecolor{color3478b}{rgb}{0.2,0.0,0.2}
- \psframe[linewidth=0.04,dimen=outer,fillstyle=solid,fillcolor=color3357b](8.64,-4.16)(6.24,-5.1)
- \psline[linewidth=0.12cm,arrowsize=0.05291667cm 3.0,arrowlength=1.4,arrowinset=0.4]{->}(3.24,4.04)(8.24,4.04)
- \psframe[linewidth=0.04,dimen=outer,fillstyle=solid,fillcolor=color2905b](3.36,4.9)(0.0,3.3)
- \rput(10.52,4.15){\includegraphics{terminal.eps}}
- \usefont{T1}{ptm}{m}{n}
- \rput(10.435469,2.81){Ecran}
- \usefont{T1}{ptm}{m}{n}
- \rput(1.8009375,4.35){Execution}
- \usefont{T1}{ptm}{m}{n}
- \rput(1.7278125,3.89){d'une commande}
- \usefont{T1}{ptm}{m}{n}
- \rput(6.5735936,4.39){Sortie classique}
- \usefont{T1}{ptm}{m}{n}
- \rput{-90.0}(5.024375,8.149375){\rput(6.580625,1.55){Redirection de sorties}}
- \psline[linewidth=0.04cm,linestyle=dashed,dash=0.16cm 0.16cm](3.84,-1.76)(7.44,-1.76)
- \psline[linewidth=0.06cm,linestyle=dashed,dash=0.16cm 0.16cm,arrowsize=0.05291667cm 3.0,arrowlength=1.4,arrowinset=0.4]{->}(3.84,-1.76)(3.84,-4.16)
- \psframe[linewidth=0.04,dimen=outer,fillstyle=solid,fillcolor=color3357b](5.04,-4.16)(2.64,-5.1)
- \usefont{T1}{ptm}{m}{n}
- \rput(3.9023438,-4.51){Autre}
- \psline[linewidth=0.06cm,linestyle=dashed,dash=0.16cm 0.16cm,arrowsize=0.05291667cm 3.0,arrowlength=1.4,arrowinset=0.4]{->}(7.44,-1.76)(7.44,-4.16)
- \usefont{T1}{ptm}{m}{n}
- \rput(2.5671875,-3.05){|, \&\& ou ||}
- \usefont{T1}{ptm}{m}{n}
- \rput(8.414532,-3.05){> ou >>}
- \usefont{T1}{ptm}{m}{n}
- \rput(7.583594,-4.65){Fichier}
- \usefont{T1}{pcr}{m}{n}
- \rput{-90.0}(4.5195312,7.5551567){\rput(5.942656,1.535){\footnotesize (STDERR et STDOUT)}}
- \psframe[linewidth=0.04,dimen=outer,fillstyle=solid,fillcolor=color3232b](2.64,-0.96)(0.8,-1.7)
- \usefont{T1}{ptm}{m}{n}
- \rput(1.7970313,-1.31){Fichier}
- \usefont{T1}{ptm}{m}{n}
- \rput(2.1345313,0.95){< }
- \usefont{T1}{ptm}{m}{n}
- \rput(3.81875,-4.85){commande}
- \usefont{T1}{ptm}{m}{n}
- \rput{-90.0}(-0.08453131,2.2404687){\rput(1.0717187,1.15){Redirection d'entrée}}
- \usefont{T1}{pcr}{m}{n}
- \rput{-90.0}(-0.3804688,1.8551562){\rput(0.64265627,1.135){\footnotesize (STDIN)}}
- \psline[linewidth=0.12cm,linestyle=dashed,dash=0.16cm 0.16cm,arrowsize=0.05291667cm 2.0,arrowlength=1.4,arrowinset=0.4]{->}(5.44,4.04)(5.44,-1.76)
- \psframe[linewidth=0.04,dimen=outer,fillstyle=solid,fillcolor=color3425b](12.42,0.66)(8.84,-1.16)
- \usefont{T1}{ptm}{m}{n}
- \rput(11.1953125,0.09){Optionnel}
- \usefont{T1}{ptm}{m}{n}
- \rput(11.242812,-0.65){Par défaut}
- \psline[linewidth=0.04cm,fillcolor=color3478b,linestyle=dashed,dash=0.16cm 0.16cm](9.24,0.08)(10.04,0.08)
- \psline[linewidth=0.04cm,fillcolor=color3478b](9.24,-0.68)(10.04,-0.68)
- \psline[linewidth=0.12cm,fillcolor=color3478b,linestyle=dashed,dash=0.16cm 0.16cm,arrowsize=0.05291667cm 2.0,arrowlength=1.4,arrowinset=0.4]{->}(1.64,-0.96)(1.64,3.24)
- \end{pspicture}
- }
- \caption[test4]{Redirection d'entrée/sorties}
- \end{center}
- \end{figure}
- \clearpage
- \subsection{Opérations entre les commandes}
- Vous trouverez ci-dessous un schéma explicatif résumant l'idée derrière ce projet. Notez que ce schéma est une version provisoire de notre interface graphique et n'est absolument pas contractuel.
- \part{The internship}
- \chapter{Priming}
- \section{Introduction}
- \thispagestyle{fancy}
- En quoi consiste cette partie.
- \chapter{The arrivals}
- \thispagestyle{fancy}
- Suite de l'histoire
- \section{Priming}
- \chapter{Life on campus}
- \thispagestyle{fancy}
- Suite de l'explication
- \section{Activities}
- \thispagestyle{fancy}
- En quoi consiste cette partie.
- \part{Conclusion}
- \ \\[3cm]
- \centering \Large Penser à modifier les compteurs
- \end{document}
Add Comment
Please, Sign In to add comment