<feed xmlns='http://www.w3.org/2005/Atom'>
<title>celcatsanitizer, branch ag/requete-groupe-opti-pg</title>
<subtitle>A sane interface to celcat calendar.  This project is now abandonware.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.pa1ch.fr/alban/celcatsanitizer.git/'/>
<entry>
<title>views: requête de liste des groupes/semaines opti pour PostgreSQL</title>
<updated>2019-01-02T17:30:10+00:00</updated>
<author>
<name>Alban Gruin</name>
</author>
<published>2018-04-28T23:23:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.pa1ch.fr/alban/celcatsanitizer.git/commit/?id=3b81ba3d9f29b792b0b9d9725b32d51a135248bc'/>
<id>3b81ba3d9f29b792b0b9d9725b32d51a135248bc</id>
<content type='text'>
La requête actuelle récupère une ligne par groupe/semaine de cours
sans correspondance inter-groupe (TPA22 veut aussi les cours de TDA2,
etc.), ce qui demande un post-traitement quadratique (voire peut-être
pire) pour regrouper les semaines par groupe.

Grace aux liste de PostgreSQL, il est possible de faire une requête
éliminant le besoin de faire un post-traitement en Python.

Cette requête sélectionne tous les groupes ayant la même source, la
même mention, le même semestre et un sous-groupe qui ont les mêmes
premiers caractères.  Elle sélectionne ensuite tous les cours
correspondant à ce groupe qui commencent entre l’heure actuelle sur
une période de un mois.  Ensuite, les dates sont tronquées au début de
la semaine, triées, puis aggrégée sous forme de liste.  Celle-ci est
rajoutée comme entrée dans le groupe sélectionné.

Le résultat peut être directement passé à une template.

Cette requête est plus lente que l’ancienne, mais l’élimination de
l’étape de post-traitement résulte en une accélération du rendu de la
page.

Signed-off-by: Alban Gruin &lt;alban@pa1ch.fr&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
La requête actuelle récupère une ligne par groupe/semaine de cours
sans correspondance inter-groupe (TPA22 veut aussi les cours de TDA2,
etc.), ce qui demande un post-traitement quadratique (voire peut-être
pire) pour regrouper les semaines par groupe.

Grace aux liste de PostgreSQL, il est possible de faire une requête
éliminant le besoin de faire un post-traitement en Python.

Cette requête sélectionne tous les groupes ayant la même source, la
même mention, le même semestre et un sous-groupe qui ont les mêmes
premiers caractères.  Elle sélectionne ensuite tous les cours
correspondant à ce groupe qui commencent entre l’heure actuelle sur
une période de un mois.  Ensuite, les dates sont tronquées au début de
la semaine, triées, puis aggrégée sous forme de liste.  Celle-ci est
rajoutée comme entrée dans le groupe sélectionné.

Le résultat peut être directement passé à une template.

Cette requête est plus lente que l’ancienne, mais l’élimination de
l’étape de post-traitement résulte en une accélération du rendu de la
page.

Signed-off-by: Alban Gruin &lt;alban@pa1ch.fr&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Version 0.14.1</title>
<updated>2018-09-19T19:00:28+00:00</updated>
<author>
<name>Alban Gruin</name>
</author>
<published>2018-09-19T18:39:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.pa1ch.fr/alban/celcatsanitizer.git/commit/?id=fd516af7aedf938cc6fb65eca556e8341a0dfd92'/>
<id>fd516af7aedf938cc6fb65eca556e8341a0dfd92</id>
<content type='text'>
Signed-off-by: Alban Gruin &lt;alban@pa1ch.fr&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Alban Gruin &lt;alban@pa1ch.fr&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>doc: mise à jour de la documentation</title>
<updated>2018-09-19T19:00:28+00:00</updated>
<author>
<name>Alban Gruin</name>
</author>
<published>2018-09-19T18:38:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.pa1ch.fr/alban/celcatsanitizer.git/commit/?id=bc69c86a4c8d57216335d35a402081a15357351d'/>
<id>bc69c86a4c8d57216335d35a402081a15357351d</id>
<content type='text'>
Signed-off-by: Alban Gruin &lt;alban@pa1ch.fr&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Alban Gruin &lt;alban@pa1ch.fr&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>parsers: correction de l’index du premier élément à analyser</title>
<updated>2018-09-19T19:00:28+00:00</updated>
<author>
<name>Alban Gruin</name>
</author>
<published>2018-09-19T17:23:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.pa1ch.fr/alban/celcatsanitizer.git/commit/?id=ab6ca3c158477a7d5c055fb0cb9346c2b97d19f6'/>
<id>ab6ca3c158477a7d5c055fb0cb9346c2b97d19f6</id>
<content type='text'>
Commencer au premier élément fait planter l’étape de déduction des
éléments des cours si jamais un cours n’a ni nom, ni type.

Signed-off-by: Alban Gruin &lt;alban@pa1ch.fr&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commencer au premier élément fait planter l’étape de déduction des
éléments des cours si jamais un cours n’a ni nom, ni type.

Signed-off-by: Alban Gruin &lt;alban@pa1ch.fr&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>forms: correction de l’ajout du message d’erreur</title>
<updated>2018-09-10T21:20:40+00:00</updated>
<author>
<name>Alban Gruin</name>
</author>
<published>2018-09-10T21:20:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.pa1ch.fr/alban/celcatsanitizer.git/commit/?id=75e004c9755bca39b09ea84cf8c49d57574fe177'/>
<id>75e004c9755bca39b09ea84cf8c49d57574fe177</id>
<content type='text'>
La fonction de recherche QSJPS demande à ce que l’heure de début soit
strictement supérieure à l’heure de fin.  Le formulaire vérifie donc
que ce critère soit respecté lors de la validation, et devrait
afficher une erreur si il ne l’est pas.

Or, le message d’erreur n’était pas rajouté correctement et fait
planter la validation.

De plus, lorsqu’il est 23h, les valeurs par défaut ne respectent pas
cette condition (on rajoute une heure, il est donc minuit passé).  La
valeur par défaut du champ de fin est donc "23:59" si il est 23
heures.  Il est important de noter que cette valeur ne valide toujours
pas le critère à 23h59, il serait bon de trouver une solution plus
pérenne à l’avenir, même si je doute que beaucoup de personnes ne
cherche une salle libre à ces heures…

Signed-off-by: Alban Gruin &lt;alban@pa1ch.fr&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
La fonction de recherche QSJPS demande à ce que l’heure de début soit
strictement supérieure à l’heure de fin.  Le formulaire vérifie donc
que ce critère soit respecté lors de la validation, et devrait
afficher une erreur si il ne l’est pas.

Or, le message d’erreur n’était pas rajouté correctement et fait
planter la validation.

De plus, lorsqu’il est 23h, les valeurs par défaut ne respectent pas
cette condition (on rajoute une heure, il est donc minuit passé).  La
valeur par défaut du champ de fin est donc "23:59" si il est 23
heures.  Il est important de noter que cette valeur ne valide toujours
pas le critère à 23h59, il serait bon de trouver une solution plus
pérenne à l’avenir, même si je doute que beaucoup de personnes ne
cherche une salle libre à ces heures…

Signed-off-by: Alban Gruin &lt;alban@pa1ch.fr&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Version 0.14.0</title>
<updated>2018-09-06T19:04:33+00:00</updated>
<author>
<name>Alban Gruin</name>
</author>
<published>2018-09-06T15:20:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.pa1ch.fr/alban/celcatsanitizer.git/commit/?id=b4fde18263de491650c71bd31dffe3c324e97879'/>
<id>b4fde18263de491650c71bd31dffe3c324e97879</id>
<content type='text'>
Signed-off-by: Alban Gruin &lt;alban@pa1ch.fr&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Alban Gruin &lt;alban@pa1ch.fr&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>documentation: mise à jour de la documentation</title>
<updated>2018-09-06T19:03:49+00:00</updated>
<author>
<name>Alban Gruin</name>
</author>
<published>2018-09-03T11:53:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.pa1ch.fr/alban/celcatsanitizer.git/commit/?id=169226eda0a5ab4711fe0a0097f211ff31353708'/>
<id>169226eda0a5ab4711fe0a0097f211ff31353708</id>
<content type='text'>
Rajout des nouveautés de la (future) version 0.14, met à jour la
feuille de route pour la version 0.15, rajout d’informations par
rapport aux parseurs lors de l’installation, rajout de LXML dans la
liste des modules nécessaires, rajout d’un paragraphe sur les versions
de Python 3 testées.

Signed-off-by: Alban Gruin &lt;alban@pa1ch.fr&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rajout des nouveautés de la (future) version 0.14, met à jour la
feuille de route pour la version 0.15, rajout d’informations par
rapport aux parseurs lors de l’installation, rajout de LXML dans la
liste des modules nécessaires, rajout d’un paragraphe sur les versions
de Python 3 testées.

Signed-off-by: Alban Gruin &lt;alban@pa1ch.fr&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>requirements: mise à jour des modules de celcatsanitizer</title>
<updated>2018-09-06T19:03:49+00:00</updated>
<author>
<name>Alban Gruin</name>
</author>
<published>2018-09-03T11:57:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.pa1ch.fr/alban/celcatsanitizer.git/commit/?id=935a8d7d2b7a9a0dc3b6c0480ee29c0432412db9'/>
<id>935a8d7d2b7a9a0dc3b6c0480ee29c0432412db9</id>
<content type='text'>
Signed-off-by: Alban Gruin &lt;alban@pa1ch.fr&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Alban Gruin &lt;alban@pa1ch.fr&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>groupes: ajout du support d’une nouvelle syntaxe</title>
<updated>2018-09-06T19:03:49+00:00</updated>
<author>
<name>Alban Gruin</name>
</author>
<published>2018-09-06T15:10:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.pa1ch.fr/alban/celcatsanitizer.git/commit/?id=4b53705a15d07caa12c2ca43b00ad03a81e600bd'/>
<id>4b53705a15d07caa12c2ca43b00ad03a81e600bd</id>
<content type='text'>
Certains groupes ont la syntaxe suivante :

  L1 4L s1 CM4L
  L1 4L s1 TD4L1
  L1 4L s1 TP4L12
  etc.

Le « 4 » entre le CM/TD/TP et le « numéro » fait échouer la regex.  Ce
commit rajoute le support de cette syntaxe, et ajoute les cas de test adéquats.

Signed-off-by: Alban Gruin &lt;alban@pa1ch.fr&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Certains groupes ont la syntaxe suivante :

  L1 4L s1 CM4L
  L1 4L s1 TD4L1
  L1 4L s1 TP4L12
  etc.

Le « 4 » entre le CM/TD/TP et le « numéro » fait échouer la regex.  Ce
commit rajoute le support de cette syntaxe, et ajoute les cas de test adéquats.

Signed-off-by: Alban Gruin &lt;alban@pa1ch.fr&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>models: augmentation de la limite de taille de cours à 511 caractères</title>
<updated>2018-09-06T19:03:49+00:00</updated>
<author>
<name>Alban Gruin</name>
</author>
<published>2018-09-06T18:58:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.pa1ch.fr/alban/celcatsanitizer.git/commit/?id=eaed30e578f7e403a83fe0adff555e5c95654989'/>
<id>eaed30e578f7e403a83fe0adff555e5c95654989</id>
<content type='text'>
Certains cours ont des noms trop long pour entrer dans la limite de
255 caractères.

Signed-off-by: Alban Gruin &lt;alban@pa1ch.fr&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Certains cours ont des noms trop long pour entrer dans la limite de
255 caractères.

Signed-off-by: Alban Gruin &lt;alban@pa1ch.fr&gt;
</pre>
</div>
</content>
</entry>
</feed>
