Application mobile
ed_photo : photos des élèves par matricule, via l'API REST.
ed_photo
ed_photo est une application mobile Flutter compagnon d'EDU-SCHOOL. Elle sert à photographier les élèves sur le terrain : l'opérateur saisit ou scanne un matricule, prend la photo, et celle-ci est immédiatement rattachée à la fiche de l'élève dans EDU-SCHOOL.
L'APK se télécharge depuis le bouton dédié situé dans l'en-tête de l'application web.
Utilisation
- Se connecter dans l'application avec ses identifiants EDU-SCHOOL habituels.
- Rechercher l'élève par matricule ou par nom.
- Vérifier l'identité affichée (nom, classe) avant de déclencher.
- Prendre la photo et l'envoyer : elle remplace la photo courante de l'élève.
Qui peut s'y connecter
Tout le personnel peut obtenir un jeton et utiliser l'application. Les comptes
ROLE_PARENT et ROLE_ELEVE en sont exclus : le tri est fait au moment de la
connexion, qui n'émet un jeton qu'aux ayants droit.
L'API mobile
L'application dialogue avec EDU-SCHOOL via une API REST sans session, authentifiée par un
jeton porteur transmis dans l'en-tête Authorization.
| Méthode | Route | Objet |
|---|---|---|
| POST | /api/mobile/login | Authentification. Route publique ; renvoie le jeton. |
| GET | /api/mobile/students | Recherche d'élèves (par matricule ou par nom). |
| POST | /api/mobile/students/{id}/photo | Envoi de la photo d'un élève. |
Exemple d'enchaînement
# 1. Obtenir un jeton
POST /api/mobile/login
Content-Type: application/json
{ "username": "jdupont", "password": "••••••" }
→ 200 { "token": "…" }
# 2. Rechercher un élève
GET /api/mobile/students?q=2024-0157
Authorization: Bearer <token>
# 3. Envoyer la photo
POST /api/mobile/students/42/photo
Authorization: Bearer <token>
Content-Type: multipart/form-data
Sécurité
- Le pare-feu
/api/est sans état : aucune session, chaque requête porte son jeton. - Seule la route de connexion est publique ; toutes les autres exigent un jeton valide.
- Un jeton compromis se révoque en désactivant le compte utilisateur correspondant.
Dépannage
| Symptôme | Cause probable |
|---|---|
| Connexion refusée dans l'application | Compte parent ou élève, ou compte désactivé. |
| Élève introuvable | Matricule inexact, ou élève d'un autre établissement que celui de l'opérateur. |
| Envoi de photo en échec | Jeton expiré (se reconnecter) ou fichier trop volumineux. |