aboutsummaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorAlban Gruin2018-09-06 21:46:51 +0200
committerAlban Gruin2018-09-06 21:46:51 +0200
commit676345434415d40363c80960484abf0295ca800a (patch)
tree76c0f71fd86f19962812a63da109bf79ebd2d43c /Documentation
parent6b8ea6615de6000ea14396fc2d31eb5c6cb159f9 (diff)
parentb4fde18263de491650c71bd31dffe3c324e97879 (diff)
Merge branch 'stable/0.14.z' into prod/pa1ch/0.y.zv0.14.0-pa1chprod/pa1ch/0.y.z
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/conf.py4
-rw-r--r--Documentation/dev/roadmap.rst14
-rw-r--r--Documentation/usage/installation.rst38
-rw-r--r--Documentation/usage/versions.rst48
4 files changed, 94 insertions, 10 deletions
diff --git a/Documentation/conf.py b/Documentation/conf.py
index 683b981..385d7c7 100644
--- a/Documentation/conf.py
+++ b/Documentation/conf.py
@@ -14,8 +14,8 @@ year = datetime.now().year
copyright = u'%d, Alban Gruin' % year
author = u'Alban Gruin'
-version = u'0.13'
-release = u'0.13.0'
+version = u'0.14'
+release = u'0.14.0'
language = 'fr'
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.