Skip to main content

Réservation de ressources

Pour :Enseignant Niveaux :1er degré2nd degré

La Réservation de ressources (module rbs) est disponible en natif dans l'application mobile, ouverte depuis le lanceur « Mes apps » (famille Vie de l'établissement, comme sur le portail web). Réserver une salle ou du matériel depuis un couloir, entre deux cours, est typiquement ce qu'on ne fait pas sur un ordinateur.

Mes réservations

Deux onglets, calculés à partir de la fin du créneau : À venir (la plus proche d'abord) et Passées (la plus récente d'abord). Chaque carte porte la ressource, le jour et la plage horaire, l'état en couleur — En attente, Validée, Refusée, Suspendue —, le motif de la demande et, le cas échéant, le motif du refus.

Une réservation à venir peut être annulée depuis la carte, après confirmation.

À venir — réservations réelles, états et motifs
Passées

Réserver

Le bouton Réserver une ressource ouvre la demande, en quatre gestes :

  1. la ressource, parmi celles qui sont réellement partagées à l'utilisateur (salles, laboratoires, gymnase, matériel…), avec sa description et la mention Indisponible le cas échéant ;
  2. le jour, parmi les cinq prochains jours ouvrés (samedi et dimanche exclus) ;
  3. le créneau, d'une heure, entre 8h et 18h ;
  4. le motif, obligatoire — c'est lui que lit le modérateur.
Ressources réellement partagées à l'utilisateur
Jour, créneau et motif

Parcours capturé en test e2e liveapps/mobile/e2e/lanceur/parcours-reservation.yaml (compte enseignant réel lilit.upreti001, ressources et réservations réelles du collège). Le test n'envoie pas la demande : aucune réservation n'est créée.

Si la ressource est modérée, la demande naît En attente et devra être validée ; sinon elle est validée d'emblée. Un refus est expliqué à l'utilisateur : créneau déjà pris, ou hors des délais autorisés par la ressource (min_delay / max_delay).

Données réelles

  • Source : module rbs. GET /rbs/bookings (mes réservations), GET /rbs/resources (ressources visibles), POST /rbs/resource/:id/booking (demande), DELETE /rbs/resource/:id/booking/:id/false (annulation de cette occurrence seule).
  • Nom de la ressource : il n'est pas porté par la réservation ; il est résolu depuis le catalogue des ressources, chargé en parallèle — une requête pour toute la liste.
  • Dates : le module stocke des TIMESTAMP sans fuseau, lus en heure locale (ce sont les horaires de l'établissement) ; la création, elle, attend des horodatages UNIX en secondes et l'identifiant de fuseau IANA de l'auteur.
  • Visibilité pilotée par les droits : l'application n'apparaît dans « Mes apps » que si l'instance l'autorise ; réserver exige en outre le droit rbs.contrib sur la ressource.

Tests

  • Jest : mapping pur — lecture des dates PostgreSQL, libellés jour/heure, états de réservation, répartition à venir / passées, index des noms de ressources, jours ouvrés et créneau d'une heure en secondes UNIX (apps/mobile/__tests__/reservation-mapping.test.ts).
  • e2e Maestro live : apps/mobile/e2e/lanceur/parcours-reservation.yaml.