Skip to main content

Casier

Pour :EnseignantÉlèveParent Niveaux :1er degré2nd degré

Le Casier est disponible en natif dans l'application mobile, ouvert depuis le lanceur « Mes apps » (famille Gestion documentaire, comme sur le portail web). Il affiche les vrais documents déposés dans le casier de l'utilisateur (module rack) : un enseignant y récupère un devoir rendu, un élève ou un parent y reçoit un document de l'établissement, depuis son téléphone.

Trois boîtes, comme sur le web

L'écran s'ouvre sur les Reçus et propose les mêmes boîtes que l'application web :

  • Reçus — documents dont l'utilisateur est destinataire, hors corbeille ;
  • Envoyés — documents qu'il a déposés dans le casier d'un tiers ;
  • Corbeille — documents reçus puis supprimés.

Chaque ligne porte une icône par type de fichier (PDF, image, document, tableur, présentation, archive, audio, vidéo…), le nom du fichier, le correspondant (« De … » dans les reçus, « À … » dans les envois) et la taille + la date d'envoi. Les documents les plus récents apparaissent en premier.

Reçus — documents réels déposés dans le casier
Envoyés — état vide expliqué
Corbeille

Ouvrir un document

Un appui sur une ligne ouvre le document : les images s'affichent en ligne (requête authentifiée par la session), les autres types (PDF, bureautique…) ouvrent une vue Web qui déclenche le téléchargement. Le retour matériel ferme d'abord l'aperçu.

Ouverture d'un document texte : téléchargement déclenché

Parcours capturé en test e2e liveapps/mobile/e2e/lanceur/parcours-casier.yaml : compte enseignant réel (lilit.upreti001), documents réels de son casier.

Ranger son casier

Dans les Reçus, un bouton de ligne met le document à la corbeille ; dans la Corbeille, il le restaure. L'action est appliquée immédiatement à l'écran et confirmée côté serveur (PUT /rack/:id/trash, PUT /rack/:id/recover) ; en cas d'échec, un message s'affiche et la liste est rechargée.

Déposer un document

Le Casier n'est pas qu'une boîte de réception : un bouton Déposer un document permet d'envoyer une photo (justificatif, devoir, mot signé…) dans le casier d'un ou plusieurs tiers.

Les destinataires proposés sont ceux que le serveur autorise : la recherche (3 lettres minimum) interroge GET /rack/users/available/:recherche, qui ne renvoie que les personnes ayant le droit de recevoir. Après l'envoi, l'application bascule sur l'onglet Envoyés, où le document apparaît.

Dépôt — destinataires réels servis par le serveur

Données réelles

  • Source : module rack. Un seul appel GET /rack/list renvoie tous les documents où l'utilisateur est destinataire ou expéditeur ; le tri par boîte se fait côté application, avec exactement les mêmes règles que le frontend web (to = moi et dossier ≠ Trash / from = moi / to = moi et dossier = Trash).
  • Téléchargement / aperçu : GET /rack/get/:id, authentifié par le cookie de session natif — aucun jeton n'est manipulé.
  • Dépôt : POST /rack (multipart : le fichier et la liste des destinataires), avec les destinataires visibles servis par GET /rack/users/available[/:recherche].
  • Dates : le module écrit l'envoi au format yyyy-MM-dd'T'HH:mmZ (décalage horaire sans deux-points). Ce n'est pas une date ISO valide au sens de la spécification : elle est normalisée avant lecture, sans quoi le moteur JavaScript du mobile la refuse.
  • Visibilité pilotée par les droits : le Casier n'apparaît dans « Mes apps » que si l'instance l'autorise à l'utilisateur.

Tests

  • Jest : mapping pur — lecture de la date d'envoi, catégorie de fichier (content-type puis extension), taille lisible, corbeille, tri des trois boîtes ainsi que la liste des destinataires d'un dépôt (tri français, profils traduits) (apps/mobile/__tests__/casier-mapping.test.ts).
  • e2e Maestro live : apps/mobile/e2e/lanceur/parcours-casier.yaml (connexion enseignant → « Mes apps » → Casier → aperçu d'un document → Envoyés → Corbeille).