🚀Premiers pas
Voici comment démarrer avec Appel Internat, de la création de votre espace jusqu'à la première prise d'appel.
Option A — Essai gratuit (30 jours)
Option B — Compte créé par l'équipe Appel Internat
- L'équipe Appel Internat crée votre espace et votre premier compte Administrateur
- Vous recevez vos identifiants par email
- Connectez-vous et reprenez à partir de l'étape 3 ci-dessus
👥Rôles et permissions
Appel Internat organise les accès autour de 9 rôles distincts. Chaque rôle dispose d'un ensemble de permissions par défaut, modifiable depuis /admin/parametres/droits.
- ·Prend l'appel de son groupe (niveau + sexe assignés)
- ·Marque les élèves présent / activité / absent
- ·Gère les chambres et assigne les élèves (drag & drop)
- ·Consulte les messages et événements CPE
- ·Reçoit des notifications push (messages, événements)
- ·Peut créer des autorisations de sortie (si permission activée)
- ·Consulte l'historique, les récaps, les stats (si permissions activées)
- ·Consulte l'historique complet des appels
- ·Télécharge les récapitulatifs PDF
- ·Envoie des messages aux AED (ciblés ou collectifs)
- ·Planifie des événements sur le calendrier mensuel
- ·Gère les autorisations de sortie et les passes annuels
- ·Peut faire l'appel (permission configurable, désactivée par défaut)
- ·Reçoit une notification push à chaque appel soumis
- ·Vue d'ensemble de tous les groupes en temps réel
- ·Mêmes droits que CPE sur la communication
- ·Export PDF d'urgence depuis le tableau de bord
- ·Alerte urgence — notification push à tout l'internat
- ·Accès complet à tous les niveaux
- ·Communication, événements, autorisations
- ·Consultation historique et récaps
- ·Crée, modifie et supprime les utilisateurs
- ·Importe et gère les élèves (dont import CSV)
- ·Configure les permissions par groupe de rôles
- ·Configure les activités et raisons d'absence
- ·Configure le SSO CAS / ENT
- ·Accède aux statistiques avancées et à l'archivage
- ·Consulte le journal d'audit
- ·Gère sa liste personnelle d'élèves à suivre
- ·Saisit les notes médicales (PAI, traitements)
- ·Configure les créneaux de traitement par élève
- ·Suit l'observance quotidienne (boutons P / A)
- ·Consulte le journal des passages
- ·Accède à la messagerie et aux événements
- ·Scanne les QR codes des autorisations de sortie
- ·Consulte les autorisations du jour
- ·Accès à la messagerie et aux événements (si permission activée)
- ·Constitue sa liste personnelle d'élèves à accompagner
- ·Planifie des rendez-vous (date, heure, durée, motif)
- ·Rédige un journal de notes structurées (entretien / démarche / signalement)
- ·Consulte son agenda du jour depuis le tableau de bord
- ·Accède à la messagerie et aux événements
Permissions configurables
Depuis /admin/parametres/droits, l'administrateur peut activer ou désactiver chaque permission par groupe de rôles. Un bouton Droits par utilisateur permet également de surcharger les droits du groupe pour un individu précis (badge "personnalisé" visible, bouton "Réinit." pour revenir au défaut).
- AED : faire l'appel, faire l'appel rentrée, consulter l'historique, récaps, stats, messages, événements, export PDF, créer des autorisations, gérer les chambres
- Encadrement (CPE/Manager/Viescolaire) : faire l'appel, gérer les élèves, gérer les utilisateurs, accès aux paramètres, récaps IA
- Infirmerie : gérer les suivis médicaux (secret médical — activé avec avertissement)
👤Gestion des utilisateurs
Créer un utilisateur
sessionStorage et disparaît à la fermeture du navigateur.Connexion SSO (ENT académique)
Si le SSO CAS est activé pour votre internat, un bouton « Se connecter via ENT » apparaît sur la page de login. Les comptes peuvent être créés automatiquement au premier login (provisioning configurable). Voir la section SSO CAS.
📂Import d'élèves par CSV
La page /admin/eleves permet d'importer vos élèves en masse depuis un fichier CSV. L'import est additif : les élèves existants ne sont jamais supprimés.
Format CSV attendu
La première ligne est un en-tête. Les colonnes acceptées (insensible à la casse, accents ignorés) :
nom,prenom,niveau,sexe
Dupont,Marie,6eme,F
Martin,Lucas,5eme,M
Bernard,Emma,3eme,F- nom — Nom de famille (obligatoire)
- prenom — Prénom (obligatoire)
- niveau — Valeurs acceptées :
6eme,5eme,4eme,3eme,2nde,1ere,terminale - sexe —
MouF(majuscules ou minuscules)
Processus d'import
📋Prise d'appel
Chaque soir, les AED se connectent depuis leur smartphone et prennent l'appel de leur groupe. L'application est conçue en priorité pour le mobile.
Flux AED
Chambres et regroupement
- Créer une chambre depuis la page d'appel : bouton + Chambre
- Assigner un élève : glisser-déposer (desktop) ou appui long 500ms (tactile)
- Renommer ou supprimer une chambre inline
- Le regroupement par chambre est visible dans l'historique admin
Appel rentrée internat
En plus de l'appel de nuit quotidien, un appel rentrée permet de vérifier la présence et si les élèves ont rendu leur téléphone portable. Les deux types d'appel peuvent coexister le même jour pour le même groupe. L'onglet Appels rentrée dans l'historique admin affiche ces appels séparément avec export PDF dédié.
APPEL_CUTOFF_HOUR.📄Récapitulatifs PDF
Chaque nuit, un récapitulatif est généré automatiquement pour l'ensemble de l'internat : liste des absents par groupe, observations des AED, vue calendrier mensuelle.
- Accéder aux récaps depuis /admin/recaps
- Sélectionner une nuit dans le calendrier mensuel
- Télécharger le PDF en un clic
- Les récaps IA (résumé généré par IA) sont disponibles si activés
- Export PDF d'urgence : bouton cloche rouge dans le header — liste tous les groupes triés par chambre avec statuts
💬Communication
Messages
- Envoyer un message depuis /admin/tableau
- Destinataires : tous les AED ou un AED spécifique
- La messagerie est aussi disponible entre CPE, infirmière, accueil, vie scolaire
- Badge de notification en temps réel dans la navbar des AED
- Statut de lecture visible côté expéditeur
Calendrier d'événements
- Créer un événement (titre, commentaire, date) depuis le tableau de communication
- Assigner l'événement à tous les AED ou à des AED spécifiques
- Les AED voient leurs événements dans /tableau
- Point bleu sur les jours concernés dans le calendrier mensuel
- Badge "Nouveau" par événement non encore vu
- Mises à jour en temps réel via Pusher (WebSocket)
🚪Autorisations de sortie
Gérez les sorties des élèves avec un QR code unique et une confirmation SMS automatique.
Créer une autorisation
🔄Passes annuels
Pour les élèves qui rentrent chaque semaine à heure fixe (ex. vendredi 18h), un passe annuel génère automatiquement une autorisation chaque semaine.
- Créer un passe : cocher "Passe annuel" dans le formulaire d'autorisation
- Configurer le jour de récurrence, les horaires, le responsable et les dates de validité
- La première autorisation est générée immédiatement à la création + SMS
- Les semaines suivantes : le cron du lundi génère l'autorisation si le QR de la semaine précédente a été scanné
- Si le QR n'est pas scanné : la semaine est ignorée — cliquer "Régénérer" manuellement
- QR code permanent accessible depuis /passe-annuel/[token]
- Désactivation temporaire sans suppression (toggle actif/inactif)
🏥Module Infirmerie
Le module infirmerie est accessible depuis /admin/infirmerie aux utilisateurs avec le rôle Infirmière. Chaque infirmière gère sa propre liste d'élèves — les listes sont isolées.
Suivi des élèves
- Ajouter un élève au suivi depuis la liste complète (recherche + filtre par niveau)
- Saisir des notes libres : commentaire, PAI, traitement en cours
- Configurer les créneaux de traitement : Matin, Midi, Soir, Avant dormir, Ponctuel, Urgence
Observance quotidienne
- Boutons P (pris, vert) et A (absent, rouge) par élève et par créneau
- Ajouter un commentaire de prise (icône crayon)
- Le dashboard infirmière affiche les traitements du créneau actuel
- Export PDF de l'observance du jour depuis /admin/appels → onglet Infirmerie → Traitements
Journal des passages
- Enregistrer un passage (motif, action)
- Modifier ou supprimer un passage (protection IDOR par vérification d'ownership)
- Consulter le journal depuis le dashboard infirmière
🤝Module Assistant(e) Sociale
Le module social est accessible aux utilisateurs avec le rôle Sociale. Chaque assistant(e) sociale gère sa propre liste d'élèves.
- Ajouter des élèves à sa liste personnelle d'accompagnement
- Planifier des rendez-vous : date, heure, durée, motif
- Rédiger un journal de notes structurées (entretien / observation / démarche / signalement)
- Niveaux d'alerte par élève
- Journal des contacts externes
- Bilan d'activité anonymisé
- Tableau de bord avec agenda du jour (rendez-vous du jour en cours)
- Accès à la messagerie et au calendrier d'événements de l'équipe
📊Statistiques
La page /admin/stats offre une analyse complète des présences sur une période personnalisable.
- Taux de présence global et par niveau (6ème → Terminale)
- Graphiques de tendance sur la période choisie
- Analyse des activités sportives (donut SVG)
- Analyse des raisons d'absence (grille)
- Snapshot infirmerie : suivis actifs, répartition des traitements, observance par créneau
- Export PDF disponible depuis la page
Export PDF d'urgence
Le bouton cloche rouge présent dans le header de tous les tableaux de bord génère en un clic un PDF de l'état complet des présences en cours : tous groupes, triés par chambre, avec statuts, activités et motifs d'absence. Utile en cas d'urgence (évacuation, alerte incendie…).
🔑SSO CAS / ENT académique
Appel Internat supporte la connexion via l'ENT académique (protocole CAS 2.0/3.0). Les utilisateurs se connectent avec leurs identifiants académiques sans créer de compte séparé.
Configuration
https://cas.ac-monacademie.frmail → email, sn → nom.sso-state contenant un nonce (validité 5 min). Ne jamais ignorer ce nonce côté serveur — validation obligatoire dans /sso/callback.📱Installation PWA & notifications push
Installer l'application sur mobile
- Android (Chrome) : ouvrir le site → menu ⋮ → "Ajouter à l'écran d'accueil"
- iOS 16.4+ (Safari) : ouvrir le site → bouton partage → "Sur l'écran d'accueil"
- L'app s'ouvre en plein écran sans barre de navigateur
- Icône sur l'écran d'accueil comme une app native
Mode hors ligne
- Si la connexion coupe pendant l'appel : les données sont conservées localement (IndexedDB)
- Synchronisation automatique au retour du réseau
- Bannière contextuelle : jaune (hors ligne), bleu (synchronisation en cours), vert (terminé)
- Les appels en attente sont visibles depuis la bannière
Notifications push
- Activer les notifications depuis /compte → Notifications
- Consentement explicite requis (conformité RGPD art. 7)
- AED : notification à chaque nouveau message ou événement
- CPE/Manager : notification à chaque appel enregistré ou modifié
- Fonctionne même application fermée (iOS 16.4+ PWA, Android Chrome)
🛡️RGPD & conformité
Appel Internat traite des données personnelles de mineurs. La conformité RGPD est intégrée à chaque niveau de l'application.
Droits des utilisateurs
- Droit d'accès et portabilité (art. 15 & 20) : chaque utilisateur peut télécharger toutes ses données depuis /compte → Télécharger mes données (format JSON)
- Droit à l'effacement (art. 17) : suppression de compte avec double confirmation depuis /compte → Supprimer mon compte — anonymisation immédiate des données
Journal d'audit
Toutes les opérations sensibles sont tracées dans /admin/archives → Journal d'audit : login, création/modification/suppression d'utilisateurs et d'élèves, autorisations, exports. Filtrage par action, date et utilisateur.
Hébergement et sous-traitants
- Vercel — hébergement application, région EU (Paris, cdg1)
- Supabase — base de données PostgreSQL, région EU
- Pusher — WebSockets temps réel, cluster EU (Dublin)
- Twilio — SMS autorisations de sortie (transfert hors UE encadré par CCT art. 46 RGPD)
- Resend — envoi d'emails transactionnels
🗄️Archivage annuel
Chaque fin d'année scolaire (31 juillet), les données sont archivées de façon chiffrée et l'internat est remis à zéro pour la rentrée suivante.
Processus d'archivage
- 5 catégories archivées séparément : administratif, médical, social, élèves, audit
- Chiffrement AES-256-GCM avec clé dérivée par contexte
- Stockage sur Vercel Blob (accès privé)
- Hash SHA-256 des archives enregistré en BDD (intégrité)
Accès aux archives
- Page /admin/archives — liste les archives par année scolaire
- Contrôle d'accès strict : infirmière → catégorie médicale uniquement ; assistante sociale → catégorie sociale uniquement ; administrateur → tout
- Téléchargement avec déchiffrement à la volée
Durées de rétention RGPD
- 5 ans : données administratives, élèves, sociales, audit
- Jusqu'aux 28 ans de l'élève : données médicales (CSP R1112-7)
Réinitialisation rentrée
Le bouton Réinitialiser pour la rentrée n'est activé que lorsque les 5 catégories sont archivées. Une confirmation RESET-AAAA-AAAA est requise. Le reset purge les données éphémères (messages, événements) et effectue un soft-delete des élèves.
Cette documentation ne couvre pas votre cas d'usage ? Contactez le développeur.
Envoyer un email