Wise Timetable

Concepts

Numéros de semaine, et pourquoi ceux du calendrier sont les mauvais

Chaque établissement numérote ses semaines d'enseignement, presque aucun ne les numérote comme le fait le calendrier, et cet écart est à l'origine d'une surprenante quantité de confusion.

Deux nombres différents portant le même nom

Demandez au calendrier quelle semaine nous sommes et vous obtenez le numéro de semaine ISO : la semaine 1 est la semaine qui contient le premier jeudi de janvier, et au début d'une année universitaire de l'hémisphère nord, on se situe autour de la semaine 36 à 40.

Posez la même question à un bureau des emplois du temps et vous obtenez un nombre complètement différent. La semaine 1 est la première semaine d'enseignement de l'année, où qu'elle tombe dans le calendrier, et tout est compté à partir de là. C'est le nombre imprimé sur l'emploi du temps, le nombre du formulaire de réservation de salle, et le nombre qu'utilisent deux collègues qui conviennent de se retrouver en semaine 9.

Les deux ne coïncident jamais, sauf si l'année d'enseignement d'un établissement commence par hasard la première semaine de janvier, c'est-à-dire : jamais. Et comme les deux s'appellent le numéro de semaine, un logiciel qui produit discrètement le mauvais produit quelque chose d'entièrement plausible.

À quoi cela ressemble lorsque ça tourne mal

Cela ne ressemble pas à une erreur. Cela ressemble à une page avec un nombre en haut, et ce nombre est faux d'un écart différent dans chaque établissement — parce que chacun commence son année à une date différente.

C'est ce qui rend la chose coûteuse. Un plantage est signalé en une heure. Un titre indiquant Semaine 36 alors que tout le monde dans le bâtiment dit Semaine 2 est signalé des semaines plus tard, par quelqu'un qui a supposé avoir mal compris le système plutôt que l'inverse — et entre-temps, des gens se sont présentés dans des salles sur la foi de ce nombre.

La règle qui l'évite est courte : un numéro de semaine se lit, il ne se calcule jamais. C'est l'établissement qui décide où se trouve la semaine 1 ; le rôle du logiciel est de restituer ce que l'établissement a décidé, et non de déduire d'une date un nombre qui lui soit propre.

La semaine 1 n'est pas toujours la première semaine qui existe

Les établissements ont régulièrement besoin de dates avant leur année d'enseignement : une quinzaine d'accueil, une période de rattrapage, une école d'été qui appartient à l'année qui s'achève. Plutôt que de tout renuméroter — ce qui changerait discrètement le sens de chaque emploi du temps, de chaque réservation et de chaque message jamais envoyé au sujet de la semaine 9 — la solution raisonnable est de prolonger le calendrier vers l'arrière, vers zéro et vers les nombres négatifs.

Cela semble étrange la première fois et parfaitement juste la seconde : la semaine 1 continue de signifier ce qu'elle a toujours signifié, et la quinzaine qui la précède est la semaine −1 et la semaine −2. Nous avons des établissements dont la table des semaines s'étend très loin dans le négatif et très loin au-delà de la fin de l'année d'enseignement, et tout ce qui s'y trouve correspond à une date réelle.

Tout ce qui lit un emploi du temps de manière programmatique doit s'y attendre. Un numéro de semaine est un entier signé, et non un compteur qui commence à un.

Et certains établissements n'utilisent pas du tout de numéros

Oxford et Cambridge désignent leurs semaines par trimestre plutôt que de les compter sur l'année : une date se situe dans la quatrième semaine de Michaelmas, et un nombre ne signifierait rien pour personne dans la salle. D'autres établissements désignent une quinzaine par Révisions, Accueil ou Période d'évaluation et attendent de l'emploi du temps qu'il l'indique.

Une semaine d'enseignement porte donc deux choses, et non une : le nombre par lequel le logiciel l'adresse, et le nom propre à l'établissement, que le lecteur souhaite réellement voir en haut de la page. Lorsqu'un nom existe, il doit être imprimé à la place du nombre, et imprimé en entier — abréger la convention de trimestre de quelqu'un pour économiser huit pixels est le genre de prévenance que personne n'a demandée.

Lorsqu'aucun nom n'existe, ce qui est le cas pour la plupart des établissements, le nombre est le nom et c'est parfaitement bien ainsi.

Quatre points à vérifier dans tout système de planification

Aucun n'est exotique. Tous sont discrètement faux quelque part.

QuestionÀ quoi ressemble une bonne réponse
Où commence la semaine 1 ?Une date fixée par votre établissement, enregistrée une seule fois et utilisée partout. Non déduite du calendrier et non configurable écran par écran.
Le calendrier peut-il remonter avant la semaine 1 ?Oui, vers zéro et les nombres négatifs, sans renuméroter quoi que ce soit d'existant.
Une semaine peut-elle porter un nom ?Oui, et le nom est imprimé à la place du nombre, en entier.
D'où une application étudiante tire-t-elle le nombre ?De l'emploi du temps, dans la même réponse que les cours. Un client qui calcule le sien sera dans l'erreur, et différemment dans chaque établissement.

Pourquoi c'est aussi une question d'intégration

Un portail, une application ou un écran d'information qui affiche un titre de semaine doit l'obtenir de quelque part, et la seule source qui puisse être juste est l'emploi du temps lui-même. Dans Wise Timetable, la réponse de l'emploi du temps contient les numéros et les noms de semaine de la période couverte, de sorte qu'un client n'a jamais de raison de les calculer — et GET /v2/weeks répond seul à la même question pour un écran qui doit étiqueter tout un trimestre à la fois.

Le manuel de l'API REST documente les deux, y compris le cas négatif, et il est publié intégralement et sans condition afin qu'un développeur puisse vérifier la forme de la réponse avant que quiconque ne signe quoi que ce soit.

Envie de voir cela fonctionner ?

Réservez une présentation en ligne de 45 minutes et nous la déroulerons à partir du propre problème de planification de votre établissement.