diff options
Diffstat (limited to 'Documentation')
| -rw-r--r-- | Documentation/dev/roadmap.rst | 14 | ||||
| -rw-r--r-- | Documentation/usage/installation.rst | 38 | ||||
| -rw-r--r-- | Documentation/usage/versions.rst | 48 | 
3 files changed, 92 insertions, 8 deletions
| diff --git a/Documentation/dev/roadmap.rst b/Documentation/dev/roadmap.rst index a7db062..14cad2a 100644 --- a/Documentation/dev/roadmap.rst +++ b/Documentation/dev/roadmap.rst @@ -2,19 +2,19 @@  Feuille de route  ================ -Version 0.14 +.. _ref-ver-0.15: + +Version 0.15  ============   - Optimisation des requêtes en utilisant des fonctionnalités     spécifiques à PostgreSQL si nécessaire - - Remplacement du moteur de templates de Django par Jinja2_. + - Utilisation de Django 2.1 et de l’aggrégat ``TruncWeek``. + - Amélioration du parseur UPS2018 et de sa documentation. + - Remplacement du moteur de templates de Django par Jinja2_ ? + - Améliorations de certaines pages ?  .. _Jinja2: http://jinja.pocoo.org/  Version 1.0  ===========   - Paquetage permettant l’installation par ``pip``. - -Futures fonctionnalités -======================= - - Utilisation de l’aggrégat ``TruncWeek`` dès que Django le proposera -   (*a priori*, dès la version 2.1). diff --git a/Documentation/usage/installation.rst b/Documentation/usage/installation.rst index 2455996..4dde4f4 100644 --- a/Documentation/usage/installation.rst +++ b/Documentation/usage/installation.rst @@ -9,9 +9,14 @@ suivantes :   - `Django 2.0`_   - requests_, pour récupérer les emplois du temps en HTTP(S) - - BeautifulSoup4_, pour parser les emplois du temps en XML + - BeautifulSoup4_ et LXML_, pour parser les emplois du temps en XML   - icalendar_, pour générer des fichiers ICS_. +celcatsanitizer requiert Python 3.4 au minimum, et marche avec les +versions 3.5 et 3.6. Les versions antérieures de Python 3 n’ont pas +étés testées, et les versions supérieures devraient fonctionner sans +problèmes. +  *A priori*, il est possible d’utiliser n’importe quel SGBD supporté  par Django avec celcatsanitizer. Cependant, l’utilisation de  PostgreSQL_ est fortement recommandée. Dans ce cas, vous aurez besoin @@ -23,6 +28,7 @@ Pour l’instant, l’installation doit passer par git_.  .. _requests: http://docs.python-requests.org/en/master/  .. _BeautifulSoup4:    https://www.crummy.com/software/BeautifulSoup/bs4/doc/ +.. _LXML: https://lxml.de/  .. _icalendar: https://icalendar.readthedocs.io/en/latest/  .. _ICS: https://fr.wikipedia.org/wiki/ICalendar  .. _PostgreSQL: https://www.postgresql.org/ @@ -170,6 +176,36 @@ Cette étape est **obligatoire**.  __    https://docs.djangoproject.com/fr/2.0/ref/contrib/flatpages/#installation +Sélection du parseur +```````````````````` +celcatsanitizer dispose d’un système de parseurs modulaires depuis la +:ref:`version 0.14 <ref-ver-0.14>`, et embarque par défaut deux +parseurs : + + - ``edt.management.parsers.ups2017``, pour le format utilisé par +   l’Université Paul Sabatier en 2017. C’est le parseur utilisé par +   défaut si aucun autre n’est spécifié. Ce parseur utilise +   BeautifulSoup4_. + - ``edt.management.parsers.ups2018``, pour le format utilisé par +   l’Université Paul Sabatier en 2018. Ce parseur utilise LXML_ et +   exploite l’IO asynchrone de Python. + +Pour spécifier le parseur à utiliser, il faut rajouter une variable +``CS_PARSER``, contenant le parseur à utiliser sous forme de chaîne de +caractères.  Pour utiliser le parseur +``edt.management.parsers.ups2018``, il faut donc rajouter cette +ligne : + +.. code:: Python + +    CS_PARSERS = "edt.management.parsers.ups2018" + +Pour l’instant, le parseur est global. Il n’est pas encore possible +d’en spécifier un par source d’emploi du temps. + +Vous **devez** vérifier le format des emplois du temps à parser, cette +étape est donc **obligatoire**. +  Gestion des fichiers statiques  ``````````````````````````````  Si vous êtes en production, vous devez renseigner l’emplacement de diff --git a/Documentation/usage/versions.rst b/Documentation/usage/versions.rst index d6b8f00..3b45c59 100644 --- a/Documentation/usage/versions.rst +++ b/Documentation/usage/versions.rst @@ -33,3 +33,51 @@ Changements internes     salles.   - Ajout de la commande :doc:`reparse <commands/reparse>`   - Meilleure abstraction des templates, notamment de ``index.html`` + +.. _ref-ver-0.14: + +Version 0.14 +============ +Changements externes +-------------------- + - Tri des salles par ordre alphabétique dans l’interface +   d’administration. + - Les champs de mention, de semestre et de sous-groupe d’un groupe ne +   sont plus en lecture seule dans l’interface d’administration. + +Changements internes +-------------------- + - Modularisation du parseur d’emplois du temps. + - Nouveau parseur pour supporter le format utilisé en 2018 par +   l’Université Paul Sabatier. + - Correction d’un bogue qui faisait planter le parseur si on +   demandait une mise à jour complète alors que la source ne contenait +   pas de semaines ; désormais, si une source ne contient pas de +   semaines, la date de mise à jour de la source est modifiée, et +   aucun cours n’est supprimé ou rajouté. + - Correction du format des semaines dans ``get_week()``. Elles +   étaient parsées avec le format de base de Python au lieu du format +   ISO-8601. Selon le format de Python, le 1er janvier 2019 fait +   partie de la 53ème semaine de l’an 2018, alors que selon ISO, il +   fait partie de la 1ère semaine de 2019.  Étant donné que d’autres +   parties de celcatsanitizer gèrent les dates selon ISO, cela posait +   des problèmes de cohérence. + - Support des sous-groupes contenant un chiffre avant le premier +   caractère. + - Augmentation du nombre de caractères maximum du nom d’un cours de +   255 à 511 caractères. + +Remarques supplémentaires +------------------------- +Les objectifs originaux de celcatsanitizer consistaient en ceux de la +:ref:`version 0.15 <ref-ver-0.15>`, à savoir : + + - Optimisation des requêtes en utilisant des fonctionnalités +   spécifiques à PostgreSQL si nécessaire + - Remplacement du moteur de templates de Django par Jinja2_. + - Utilisation de Django 2.1 et de l’aggrégat ``TruncWeek``. + +.. _Jinja2: http://jinja.pocoo.org/ + +Ils n’ont pas pu être suivis à cause d’un manque de temps et de tests +et ont étés reportés à la version 0.15. | 
