Commit 0d79feda authored by jocelyn's avatar jocelyn

version normalement pour la soutenance

git-svn-id: file:///mnt/marvin-var/svn/magneto/trunk@123 f61d8a82-367e-4513-8f0b-2a88b49b8d76
parent e44ce565
This diff is collapsed.
\begin{frame}\frametitle{Cahier des charges}
\begin{figure}
\centering
\includegraphics[width=.8\textwidth]{img/useCaseSimple.pdf}
\caption{Du point de vue de l'utilisateur}
\end{figure}
\end{frame}
\begin{frame}
\frametitle{Cahier des charges}
\subsection*{Contexte}
......
\begin{frame}
\frametitle{Choix technique}
\begin{block}{Langage de Templates}
\begin{itemize}
\item Choix : Jinja ;
\item Syntaxe agréable.
\end{itemize}
\end{block}
\begin{block}{ORM}
\begin{itemize}
\item Object Relational Manager ;
\item Génération automatique SQL et tables ;
\item Simplification du code.
\end{itemize}
\end{block}
\begin{frame}[fragile]
\frametitle{Choix techiniques}
\begin{block}{Langage de Templates}
\begin{itemize}
\item Choix : Jinja ;
\item Syntaxe agréable.
\end{itemize}
\end{block}
\begin{columns}[c]
\column{.5\textwidth}
\begin{block}{Syntaxe texte (jinja)}
\begin{verbatim}
<ul>
{% for lien in ma_liste %}
<li>
<a href="{{ lien.url }}" />
{{ lien.nom }}
</a>
</li>
{% endfor %}
</ul>
\end{verbatim}
\end{block}
\column{.5\textwidth}
\begin{block}{Syntaxe \textsc{xml}}
\begin{verbatim}
<ul>
<li py:for="link in links">
<a href="${link.url}">
${link.title}
</a>
</li>
</ul>
\end{verbatim}
\end{block}
\end{columns}
\end{frame}
\begin{frame}
\frametitle{Choix d'un \textsc{orm}}
\begin{block}{les différents \textsc{orm}}
\begin{description}
\item[\textsc{sql}object]
\begin{itemize}
\item plus complexe ;
\item meilleure séparation du code.
\end{itemize}
\item[\textsc{sql}alchemy]
\begin{itemize}
\item +simple (moins de code)
\end{itemize}
\end{description}
\end{block}
\end{frame}
\subsection{Bilan}
\subsection*{Bilan}
\begin{frame}
\frametitle{Conclusion}
\begin{block}{Bilan}
......@@ -11,8 +11,8 @@
\end{block}
\end{frame}
\subsection{Critiques}
\begin{frame}
\subsection*{Critiques/Problèmes rencontrés}
\begin{frame}\frametitle{Critiques/Problèmes rencontrés}
\begin{block}{\textsc{tv} analogique}
\begin{itemize}
\item Pilotes ;
......@@ -23,7 +23,7 @@
\end{block}
\end{frame}
\begin{frame}
\begin{frame}\frametitle{Critiques/Problèmes rencontrés}
\begin{block}{python}
\begin{itemize}
\item + syntaxe simple ($\rightarrow$ rapide) ;
......@@ -33,7 +33,7 @@
\end{block}
\end{frame}
\begin{frame}
\begin{frame}\frametitle{Critiques/Problèmes rencontrés}
\begin{block}{setuptools}
\begin{itemize}
\item Bien pour des fichiers python.
......@@ -43,11 +43,11 @@
\end{block}
\end{frame}
\begin{frame}
\begin{block}{aminet}
\begin{frame}\frametitle{Critiques/Problèmes rencontrés}
\begin{block}{Aminet}
\begin{itemize}
\item pas de documentation ;
\item mal distribué.
\item Pas de documentation ;
\item Mal distribué.
\end{itemize}
\end{block}
\end{frame}
......@@ -67,12 +67,12 @@
\end{frame}
\begin{frame}\frametitle{Idées de fontionalités}
\begin{frame}\frametitle{Idées de fonctionalités}
\begin{block}{par exemple...}
\begin{itemize}
\item \textsc{tnt} ;
\item Authentification ;
\item détection des cartes/chaînes ;
\item perfectionnement de l'interface ;
\item déclenchement intelligent des encodages ;
\item statistiques ;
\item paquet Debian.
......
\subsection{Fonctionnement général}
\subsection*{Fonctionnement général}
\begin{frame}
\frametitle{Fonctionnement général}
\begin{figure}
\centering
\includegraphics[width=\textwidth]{img/interactionreseau.pdf}
......@@ -33,22 +32,20 @@
\subsection*{Aspect Logiciel}
\begin{frame}\frametitle{Introduction \textsc{mvc}}
Architecture logicielle : \textbf{M}odèle \textbf{V}ue \textbf{C}ontrôleur
\begin{block}{}
\begin{description}
\item[Modèle :] Organisation des données ;
\item[Vue :] Interface utilisateur ;
\item[Contrôleur :] Évènements.
\item[Contrôleur :] liaison vue/modèle.
\end{description}
\end{block}
\end{frame}
\subsubsection*{Quelques notions}
\begin{frame}\frametitle{Programmation orientée objet}
Représenter entités réelles :
Représenter entités de la réalité:
\begin{itemize}
\item données ;
\item actions.
......@@ -86,7 +83,7 @@ class Animal:
\begin{frame}[fragile]
\frametitle{Programmation orientée objet}
\begin{block}{Objet}
\begin{block}{Objet en python}
\begin{verbatim}
titi = Animal(12, "Iles Canaries")
titi.manger()
......@@ -102,7 +99,7 @@ titi.manger()
\begin{columns}[t]
\column{.3\textwidth}
\begin{block}{Objet représenté}
\begin{block}{Concept représenté}
\begin{figure}
\centering
\includegraphics[width=.8\textwidth]{img/poo_animal2.pdf}
......@@ -115,24 +112,24 @@ titi.manger()
\begin{figure}
\centering
\includegraphics[width=.8\textwidth]{img/poo_table.pdf}
\caption{Table de base de données}
\caption{Table \texttt{Animaux}}
\end{figure}
\end{block}
\end{columns}
\end{frame}
\begin{frame}[fragile]\frametitle{Base de données}
\begin{block}{langage \textsc{sql}}
\begin{block}{Langage \textsc{sql}}
\begin{itemize}
\item définition structure ;
\item insertion ;
\item suppression ;
\item filtrage.
\item Définition structure ;
\item Insertion ;
\item Suppression ;
\item Filtrage.
\end{itemize}
\end{block}
\begin{block}{identifiant animaux de moins de 20cm}
\begin{block}{Identifiant animaux de moins de 20cm}
\begin{verbatim}
SELECT identifiant FROM animaux WHERE taille > 20;
SELECT identifiant FROM animaux WHERE taille < 20;
--> 1
\end{verbatim}
......@@ -140,16 +137,6 @@ SELECT identifiant FROM animaux WHERE taille > 20;
\end{frame}
\subsubsection*{Le noyau}
\begin{frame}\frametitle{Introduction \textsc{mvc}}
Architecture logicielle : \textbf{M}odèle \textbf{V}ue \textbf{C}omposant
\begin{block}{}
\begin{description}
\item[Modèle :] Organisation des données ;
\item[Vue :] Interface utilisateur ;
\item[Contrôleur :] évènements.
\end{description}
\end{block}
\end{frame}
\begin{frame}
\frametitle{Noyau (modèle)}
......@@ -157,8 +144,8 @@ SELECT identifiant FROM animaux WHERE taille > 20;
\begin{block}{Fonctionnalités}
\begin{itemize}
\item Abstractions ;
\item stockage des données (Postgre\textsc{sql});
\item pilotage des autres modules.
\item Stockage des données (Postgre\textsc{sql});
\item Pilotage des autres modules.
\end{itemize}
\end{block}
\begin{center}
......@@ -169,17 +156,18 @@ SELECT identifiant FROM animaux WHERE taille > 20;
\begin{frame}\frametitle{l'\textsc{orm}}
Bibliothèque pour lier \textsc{sql} et python
\begin{block}{utilité}
\begin{block}{Utilité}
\begin{itemize}
\item abstraction du \textsc{sql} ;
\item type Python $<->$ type SQL ;
\item table \textsc{sql} $<->$ classe python ;
\item requêtes \textsc{sql} $<->$ méthodes.
\item table \textsc{sql} $\leftrightarrow$ classe python
\item attribut $\leftrightarrow$ colonne;
\item requête \textsc{sql} $\leftrightarrow$ méthode;
\item synchronisation.
\end{itemize}
\end{block}
\end{frame}
\begin{frame}[fragile]\frametitle{\textsc{orm}}
\begin{frame}[fragile]\frametitle{Notre \textsc{orm} : \textsc{sql}object}
\begin{verbatim}
from sqlobject import *
......@@ -206,6 +194,7 @@ fr2.destroySelf()
\end{figure}
\end{frame}
\subsubsection*{le module web}
\begin{frame}
\frametitle{Templates}
......@@ -213,13 +202,14 @@ fr2.destroySelf()
\begin{itemize}
\item Séparer le code python de la mise en page HTML;
\item Edition facile du code HTML.
\end{figure}
\item blocs imbriqués.
\end{itemize}
\begin{center}
Notre langage : \textbf{Jinja}
\end{center}
\end{block}
\end{frame}
\subsubsection*{le module web}
\begin{frame}
\frametitle{Templates}
\begin{block}{Héritage des Templates}
......@@ -227,26 +217,13 @@ fr2.destroySelf()
\centering
\includegraphics[width=.9\textwidth]{img/heritage.pdf}
\caption{Schéma d'héritage}
\end{figure}
\end{block}
\end{frame}
\begin{frame}[fragile]
\frametitle{Templates}
\begin{block}{Fonctionnement}
\begin{itemize}
\item Page construite par block
\end{itemize}
\end{block}
\end{frame}
\begin{frame}[fragile]
\frametitle{Templates}
\begin{block}{Block imbriqués}
\begin{block}{Affichage de données}
\begin{itemize}
\item base.html
\begin{verbatim}
......@@ -320,10 +297,9 @@ fr2.destroySelf()
<head>
<link rel="stylesheet" type="text/css"
href="/media/css/style.css" />
</head>
</head>
<img class="logoiut" src="/media/images/logoiutpetit.png"
alt="IUT de Caen"/></td>
<img class="logoiut" src="/media/images/logoiutpetit.png" />
\end{verbatim}
\end{itemize}
\end{block}
......@@ -362,13 +338,13 @@ alt="IUT de Caen"/></td>
\begin{block}{But}
\begin{itemize}
\item Intermédiaire URL HTML et Vues ;
\item Intermédiaire \textsc{url}/\textsc{html} et Vues ;
\end{itemize}
\end{block}
\begin{block}{Fonctionnement}
\begin{itemize}
\item Adresse standard = page HTML ;
\item Adresse standard = page \textsc{html} ;
\item dynamisme : Adresse spéciale ;
\item Adresse spéciale : views.
\end{itemize}
......@@ -376,10 +352,10 @@ alt="IUT de Caen"/></td>
\end{frame}
\begin{frame}[fragile]
\frametitle{url.py}
\frametitle{urls.py}
\begin{block}{Exemple}
\begin{verbatim}
(r'\^/enregistrements/', views.schedules\_list)
(r'\^/enregistrements/', views.schedules_list)
\end{verbatim}
\begin{itemize}
\item
......@@ -387,14 +363,14 @@ alt="IUT de Caen"/></td>
r'^/enregistrements/ : URL
\end{verbatim}
\item schedules\_list : Vue.
\item schedules\_list : fonction contrôleur.
\end{itemize}
\end{block}
\end{frame}
\begin{frame}
\frametitle{views.py : le controleur}
\frametitle{views.py : le contrôleur}
\begin{block}{But}
\begin{center}
......@@ -408,7 +384,7 @@ vue = fonction de \texttt{views.py} ;
\item récupère les variables de l'interface (\textsc{url}...)
\item Dialogue avec le noyau (récupération/modifictation données)
\item retourne un template ...
\item ... parfois avec des arguments ;
\item ... parfois avec des données;
\end{enumerate}
\end{block}
\end{frame}
......@@ -423,7 +399,7 @@ def schedules_list():
\end{verbatim}
\begin{itemize}
\item \texttt{tpl} : Template à retourner
\item \texttt{tpl.render} : Génèration HTML ;
\item \texttt{tpl.render()} : Génèration HTML ;
\item \texttt{schedules} : argument.
\end{itemize}
\end{block}
......@@ -451,14 +427,14 @@ Avec l'\textsc{api} : VlcRecorder.start(50);
\end{frame}
\begin{frame}
\frametitle{\textsc{API VLC}}
\frametitle{\textsc{api vlc}}
\begin{block}{Organisation}
3 grandes tâches :
% VLC lancé 3 fois en même temps
\begin{itemize}
\item Enregistrement ;
\item Encodage ;
\item \textsc{VOD}.
\item \textsc{vod}.
\end{itemize}
\end{block}
\end{frame}
......@@ -479,7 +455,7 @@ Avec l'\textsc{api} : VlcRecorder.start(50);
\begin{itemize}
\item Prend beaucoup de ressources ;
% Utilise au maximum le CPU pour réduire le temps utilisé
\item Que si aucun enregistrement n'est prévu ;
\item Que si aucun enregistrement n'est en cours ;
% Pour éviter d'interférer avec l'enregistrement
\item Libère de l'espace disque.
% Supprime le fichier temporaire et garde juste la vidéo encodée.
......@@ -517,7 +493,7 @@ Gestion des média :
\begin{figure}
\centering
\includegraphics[width=\textwidth]{img/ApiVlc.pdf}
\caption{UML Api \textsc{vlc}}
\caption{classes: \textsc{api} \textsc{vlc}}
\end{figure}
\end{frame}
......@@ -584,8 +560,8 @@ Problème de conversion.
% Partie "bonuses"
\subsection*{Intégration au système}
\begin{frame}\frametitle{fichier de configuration}
\begin{block}{deux fichiers de configuration}
\begin{frame}\frametitle{Fichier de configuration}
\begin{block}{Deux fichiers de configuration}
\begin{enumerate}
\item \texttt{default\_conf.py}
\item \texttt{/etc/magneto/conf.py} (écrase)
......@@ -594,7 +570,7 @@ $\rightarrow$ Configuration minimale pour l'administrateur.
\end{block}
\end{frame}
\begin{frame}\frametitle{script de démarrage}
\begin{frame}\frametitle{Script de démarrage}
\begin{itemize}
\item Démarre le serveur de streaming ;
% Démarre VLC, et ajoute toutes les vidéos disponibles de la base de données.
......@@ -609,7 +585,7 @@ $\rightarrow$ Configuration minimale pour l'administrateur.
Avec python : \textbf{setuptools}
\end{center}
\begin{block}{commandes}
\begin{block}{Commandes}
\begin{itemize}
\item Installation des fichiers python ;
\item création des répertoires ;
......
......@@ -14,3 +14,4 @@
\end{itemize}
\end{block}
\end{frame}
......@@ -148,20 +148,20 @@
\begin{figure}
\centering
\includegraphics[width=\textwidth]{img/svn.pdf}
\includegraphics[width=.8\textwidth]{img/svn.pdf}
\caption{Fonctionnement de \textsc{svn}}
\end{figure}
\end{frame}
\begin{frame}
\begin{block}{trac}
\begin{block}{Trac}
\begin{itemize}
\item wiki ;
\item navigation \textsc{svn}
\item base documentaire connaissances/recherches (\textsc{1a});
\item bloc-note ;
\item $\rightarrow$ reprise du projet.
\item Wiki ;
\item Base documentaire connaissances/recherches (\textsc{1a});
\item Bloc-note ;
\item navigation \textsc{svn} ;
\item $\rightarrow$ Reprise du projet.
\end{itemize}
\end{block}
\end{frame}
......@@ -182,27 +182,3 @@
\end{itemize}
\end{block}
\end{frame}
\subsection*{Choix techniques}
\begin{frame}
\frametitle{Choix d'un \textsc{orm}}
\begin{block}{les différents \textsc{orm}}
\begin{description}
\item[\textsc{sql}object]
\begin{itemize}
\item plus complexe ;
\item meilleure séparation du code.
\end{itemize}
\item[\textsc{sql}alchemy]
\begin{itemize}
\item +simple (moins de code)
\end{itemize}
\end{description}
\end{block}
\end{frame}
\begin{frame}
\frametitle{Choix d'un langage de templates}
\end{frame}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment