Browse Source

Report : source section

Olivier Marty 8 years ago
parent
commit
0c48903cab
1 changed files with 43 additions and 0 deletions
  1. 43 0
      rapport/rapport.tex

+ 43 - 0
rapport/rapport.tex

@@ -20,4 +20,47 @@
 
 \section{Déscription technique}
 
+Le projet est divisé en trois principales composantes :
+
+\subsection{La classe event}
+
+\subsection{La classe source} Cette classe représente une information provenant
+d'internet et qui concerne l'état d'un moyen de transport.
+Chaque instance doit fournir la méthode problem() (renvoit true si le moyen de
+transport encontre un problème), et les attributs id (identifiant de la source)
+et message (descriptif du problème).
+
+Ces instances sont produites par plusieurs fonctions qui vont chercher
+l'information idoine sur internet. Nous avons implémenté :
+
+\paragraph{ratp\_trafic} En scrappant l'url \url{http://ratp.fr/meteo/}, cette
+fonction est un générateur qui donne une source pour chaque ligne de la RATP.
+(par exemple id="ligne\_rer\_B", message=""). % TODO message
+Il est à noté que la ratp ne fournit aucune API publique.
+
+\paragraph{transilien} Idem, en scrappant l'url \url{http://www.transilien.com/info-trafic/temps-reel},
+cette fonction génère une liste de sources pour les lignes de la SNCF transilien
+(par exemple id=RER-C, message=""). % TODO message
+La SNCF fournit une API pour chercher des itinéraires, ou avoir les prochains
+horaires, mais pas, à notre connaissance, pour avoir des informations de trafic.
+
+\paragraph{jcdecaux\_vls} Cette fonction se connecte à l'API de jcdecaux\_vls
+(les vélos libres services de jcdecaux, comme les Vélib', voir
+\url{https://developer.jcdecaux.com/#/opendata/vls}).
+Pour chaque station dont l'utilisateur est intéressé, elle génère deux sources :
+une qui déclenche un problème lorsque la station est presque vide, et l'autre
+lorsqu'elle est presque pleine (par exemple id="paris\_42707\_empty",
+message="Station vélo 42707 - okabe (le kremlin-bicetre) à 18h53 le 20/02 : plus
+que 2 places disponibles !" ou encore id="paris\_19001\_empty", message="Station
+vélo 19001 - ourcq crimee à 18h58 le 20/02 : plus qu'un vélo disponible !")
+
+\paragraph{} L'analyse de ces sources XML ou HTML est effectuée à l'aide de la
+bibliothèque Python BeautifulSoup4.
+Nous avions en premier lieu écrit des transformateurs en xquery pour formatter
+toutes les données dans un schéma commun, mais l'utilisation d'un logiciel
+externe (Saxon) rendait chaque requête très lente, d'autant que le résultat
+n'était pas un objet natif Python.
+
+\subsection{La boucle principale}
+
 \end{document}