Appel Internat
Guide de prise en main

Documentation Appel Internat

Tout ce qu'il faut savoir pour configurer et utiliser Appel Internat au quotidien dans votre établissement.

🚀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)

1
Créer votre espace
Rendez-vous sur /essai et remplissez le formulaire : nom de l'internat, email et mot de passe. Votre espace est créé instantanément avec un compte administrateur.
2
Connexion et configuration initiale
Connectez-vous avec vos identifiants sur /login. Vous arrivez sur le dashboard admin. La bannière d'essai affiche le nombre de jours restants.
3
Importer vos élèves
Allez dans Élèves → Importer et chargez votre fichier CSV. Voir la section Import CSV pour le format exact.
4
Créer les comptes AED
Dans Utilisateurs, créez un compte pour chaque AED en lui assignant son niveau et son groupe (filles / garçons). L'AED reçoit ses identifiants et peut se connecter immédiatement.

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.

AEDAssistant d'ÉducationPage d'appel + tableau de bord personnel
  • ·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)
CPEConseiller Principal d'ÉducationDashboard admin + tableau de communication
  • ·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
ManagerResponsable de nuitDashboard admin complet + tableau de communication
  • ·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
ViescolaireVie scolaireDashboard admin complet (mêmes droits que CPE/Manager)
  • ·Accès complet à tous les niveaux
  • ·Communication, événements, autorisations
  • ·Consultation historique et récaps
AdminAdministrateurTous les accès CPE/Manager + gestion structurelle
  • ·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
InfirmièreInfirmier(e) scolaireDashboard dédié infirmerie
  • ·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
AccueilAgent d'accueilTableau autorisations + scanner QR
  • ·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)
SocialeAssistant(e) socialeDashboard dédié suivi social
  • ·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

1
Accéder à la page Utilisateurs
Dashboard admin → Utilisateurs (ou directement /admin/aed).
2
Remplir le formulaire
Prénom, nom, email, mot de passe temporaire. Choisir le rôle.
3
Assigner le niveau et groupe (AED uniquement)
Pour un AED, sélectionner le niveau (6ème → Terminale) et le groupe (Filles / Garçons / Mixte). L'AED ne verra que les élèves de ce groupe lors de l'appel.
4
Communiquer les identifiants
Transmettez l'email et le mot de passe temporaire à l'utilisateur. Il pourra le modifier depuis /compte.
💡
Un AED peut changer temporairement de groupe depuis la page d'appel (sans modifier son profil). Ce changement est stocké en 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
  • sexeM ou F (majuscules ou minuscules)

Processus d'import

1
Ouvrir la page Élèves
/admin/eleves → bouton Importer élèves.
2
Sélectionner le fichier CSV
Un aperçu s'affiche avec le nombre de lignes valides et les éventuelles erreurs ligne par ligne.
3
Confirmer l'import
Cliquer sur Importer. Seules les lignes valides sont ajoutées. Les doublons (même nom + prénom + niveau + sexe) sont ignorés.
⚠️
Encodage recommandé : UTF-8. Si vos prénoms contiennent des accents (é, è, ê…), vérifiez que votre logiciel exporte bien en UTF-8 (et non Latin-1 / Windows-1252).

📋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

1
Sélectionner le groupe
La page /appel s'ouvre automatiquement sur le niveau et groupe assignés à l'AED. Il peut en changer temporairement depuis le dropdown (retour au défaut à la fermeture du navigateur).
2
Marquer chaque élève
Trois statuts : Présent ✓, Activité (sport, sortie…), Absent ✗. Pour une activité, sélectionner le sport dans le dropdown. Pour une absence, sélectionner la raison.
3
Ajouter une observation (optionnel)
Un champ texte libre permet de noter une observation pour le groupe (visible dans les récaps et l'historique).
4
Soumettre l'appel
Cliquer sur Enregistrer l'appel. Le CPE et les managers reçoivent une notification push instantanément.

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é.

💡
Les appels soumis avant 7h45 (heure française) comptent pour la nuit précédente. Ce comportement est contrôlé par la constante 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
⚠️
Les récaps ne sont générés que si au moins un appel a été soumis pour la nuit concernée. Si un groupe n'a pas fait l'appel, il est absent du récap.

💬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

1
Accéder au tableau des autorisations
/admin/tableau → Autorisations de sortie (CPE, Manager, Accueil). Les AED y accèdent depuis /tableau/autorisations-sortie (si permission activée).
2
Remplir le formulaire
Élève, motif (raisons d'absence configurées en BDD), nom du responsable venant chercher l'élève, horaires de sortie et retour.
3
Générer le QR code
À la validation, un QR code unique est généré et un SMS est envoyé automatiquement au responsable avec un lien de vérification sécurisé.
4
Scan à l'accueil
L'agent d'accueil scanne le QR code (caméra intégrée) ou saisit le token manuellement. La page publique /autorisation/[token] affiche les détails et valide la sortie.
💡
Chaque création, modification, scan et suppression est tracée dans le journal d'audit accessible depuis /admin/archives.

🔄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
💡
Une icône discrète dans la page d'appel signale à l'AED qu'un élève est sous traitement « Avant dormir » — sans exposer les détails médicaux (conformité secret médical art. L1110-4 CSP).

🤝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
⚠️
Les informations préoccupantes sont soumises au secret professionnel (art. L226-2-1 CASF). La saisie dans l'application génère un enregistrement dans l'AuditLog mais n'est accessible qu'à l'assistante sociale concernée.

📊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

1
Accéder aux paramètres SSO
/admin/parametres/sso (rôle Administrateur requis).
2
Renseigner l'URL du serveur CAS
Exemple : https://cas.ac-monacademie.fr
3
Configurer le mapping des attributs
Associer les attributs CAS retournés aux champs internes (email, nom, prénom, rôle). Exemple : mail → email, sn → nom.
4
Activer le provisioning automatique (optionnel)
Si activé, un compte est créé automatiquement au premier login CAS avec le rôle par défaut configuré.
💡
L'anti-CSRF SSO utilise un cookie 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
💡
La convention de sous-traitance (art. 28 RGPD) est consultable sur /dpa. La politique de confidentialité complète est disponible sur /privacy.

🗄️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 opération est irréversible pour les données éphémères. Assurez-vous que l'archivage annuel est complet avant de déclencher la réinitialisation.
💬
Vous avez une question ?

Cette documentation ne couvre pas votre cas d'usage ? Contactez le développeur.

Envoyer un email