aboutsummaryrefslogtreecommitdiff
path: root/views.py
AgeCommit message (Collapse)Author
2019-01-02views: requête de liste des groupes/semaines opti pour PostgreSQLag/requete-groupe-opti-pgAlban Gruin
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 <alban@pa1ch.fr>
2018-04-25templates: abstraction des listes de groupes/salles/semainesAlban Gruin
2018-04-25qsjps: abstraction et navigation de la templateAlban Gruin
2018-04-21Ajout d’une liste complète des groupes et d’une liste des semainesAlban Gruin
2018-04-21templates: abstraction et séparation des templates de listeAlban Gruin
2018-04-21PEP8Alban Gruin
2018-04-15urls: utilisation de la nouvelle syntaxe path de DjangoAlban Gruin
Mise à jour de la doc, nouvelles protections dans timetable_common()
2018-04-15Légères corrections PEP8Alban Gruin
2018-04-15Merge branch 'fusion/alban' into qsjpsAlban Gruin
2018-04-15On importe RawSQL que lorsqu’on utilise PostgreSQLAlban Gruin
2018-04-03On importe ArrayAgg que lorsqu’on utilise une base postgresAlban Gruin
2018-01-28Requête de liste des salles optimisée pour PostgreSQLAlban Gruin
2018-01-27PEP8 sur views.pyAlban Gruin
2018-01-27Requête de QSJPSAlban Gruin
Pour chaque salle, on compte tous les cours commençant avant la fin de l’intervalle entré par l’utilisateur et finissant après le début de cet intervalle. Tous les cours correspondant à cette requête se trouvent au moins en partie sur l’intervalle. On sélectionne ensuite les salles n’ayant pas de cours correspondant à la requête précédente.
2018-01-21Correction d’une erreur d’importationAlban Gruin
2018-01-20On cache les groupes qui n’ont plus de coursAlban Gruin
La requête est assez longue à s’effectuer sur SQLite, mais pas sur PostgreSQL
2018-01-19Liens permettant de naviguer sur les pages des semaines suivantes et ↵Alban Gruin
précédentes
2018-01-18Ajout d’une template pour lister les salles trouvéesAlban Gruin
2018-01-18Modification de la gestion du formulaire qsjpsAlban Gruin
Renommage de la template contenant le formulaire
2018-01-17Base du formulaire de QSJPSAlban Gruin
2017-11-27Ajout d’un gestionnaire pour Timetable récupérant automatiquement lesAlban Gruin
années Réduit considérablement le nombre d’appels effectués dans l’interface d’administration
2017-11-27Remplacement des références aux champs timetable vers sourceAlban Gruin
2017-11-27Correction des interfaces utilisateurAlban Gruin
2017-11-27Tentative de mise en commun de la template des edtsAlban Gruin
2017-11-27Mise en commun du traitement des données avant rendu de l’emploi du tempsAlban Gruin
2017-11-27Optimisation (?) de la requête des emplois du temps des sallesAlban Gruin
2017-11-27Liens et URLs pour les emplois du temps des sallesAlban Gruin
2017-11-27Contenu de la page des emplois du tempsAlban Gruin
2017-11-27Page principale de l’emploi du temps des sallesAlban Gruin
2017-11-26Optimisation de la requête utilisée pour savoir si il y a des coursAlban Gruin
sur la semaine sélectionnée (utilisation de exists() au lieu de count())
2017-11-26Récupération du semestre pour générer la liste des groupes.Alban Gruin
2017-11-26Optimisation de deux requêtes :Alban Gruin
– sélection des cours d’un groupe : préchargement des salles – sélection des emplois du temps d’une année : préchargement de l’année
2017-11-25get_week() convertit automatiquement les chaines de caractères en intAlban Gruin
2017-11-25Le sachiez-tu ? Parfois je met des espaces inutilesAlban Gruin
2017-11-25Dans get_weeks(), l’annotation Count() ne sert à rien.Alban Gruin
2017-11-25Fusion de group_list et de group_list_common.Alban Gruin
Légère modification de la requête pour récupérer les semaines de cours (au lieu de filtrer par l’emploi du temps, on filtre par les groupes), résultant en une nette accélération du traitement Avant modification : SQLite : ~420ms PostgreSQL : ~60ms puis ~30ms Après modification : SQLite : ~18ms PostgreSQL : ~23ms puis ~13ms La progression sur PostgreSQL est celle qui importe le plus, puisqu’il s’agit du SGBDR utilisé en production, mais la requête s’effectue tout de même plus rapidement (un peu plus qu’un rapport 2), ce qui reste intéressant.
2017-11-25On ne compare plus les id des emplois du temps dans corresponds_to()Alban Gruin
car dans le seul appel « utile », les arguments passés font forcément partie du même edt. Changement effectué pour des questions de performance. Correction des tests.
2017-11-25Suppression de l’association automatique des groupesAlban Gruin
2017-10-31Création d’une flatpage spécifique à la page « à propos »Alban Gruin
Ajout d’un processeur de contexte pour afficher la version de CS en bas de page.
2017-10-31Suppression de l’ancienne page de contactAlban Gruin
2017-10-29Déplacement de tous les liens vers les ICS dans une page spécialeAlban Gruin
2017-10-29Revert "Ajout d’une page pour lister les calendriers disponibles"Alban Gruin
This reverts commit 7ef57a0226fa25b8ea5e9a6ff5526889dc300649.
2017-10-27Ajout d’une page pour lister les calendriers disponiblesAlban Gruin
2017-10-22Modification de la requête qui sélectionne les groupes pertinents.Alban Gruin
2017-10-22Adaptation des vues, correction du critère de sélection des groupesAlban Gruin
2017-10-10Si la semaine courante n’a pas de cours existant, la page généralev0.10.5Alban Gruin
existe quand même
2017-10-10Correction de l’affichage de la dernière mise à jourAlban Gruin
2017-10-02Affichage de la semaine prochaine dans l’emploi du temps général le dimancheAlban Gruin
2017-10-01Suppression des variables inutilesAlban Gruin
2017-10-01On affiche pas plus d’un mois en avanceAlban Gruin