Gérez une école depuis le panneau d’administration : la structure (écoles, années scolaires, classes, matières, salles), les personnes (élèves, responsables légaux, enseignants, personnel), et tout ce qui se passe entre eux : inscriptions, présences, notes, examens, devoirs, emploi du temps, comportement, dossiers médicaux, documents, frais de scolarité et messages. Les familles suivent leurs propres enfants via un portail sur le front-end.

Une seule fiche par personne

Un élève, un responsable légal, un enseignant et un membre du personnel sont tous des comptes utilisateurs dotés d’un rôle. Leur identité n’existe qu’une fois, dans la table des utilisateurs principale, et les données scolaires s’y rattachent.

Une année scolaire qui tient

Périodes, classes, inscriptions, examens et notes se rattachent tous à une année scolaire : les chiffres de l’an dernier restent donc exactement là où vous les avez laissés.

Le dossier de l’élève

Une page par élève qui regroupe responsables légaux, inscriptions, présences, notes, comportement, santé, documents et frais de scolarité.

Un portail pour les familles

Les responsables légaux se connectent et ne voient que leurs propres enfants : présences, notes publiées, bulletin, devoirs, emploi du temps et leurs messages.

Dans cette version, le portail s’adresse aux responsables légaux, pas aux élèves. Le portail repose sur le lien responsable → enfant : un responsable connecté voit les enfants auxquels il est lié. Les élèves ont un compte utilisateur et un rôle qui leur est propre, utilisés par les espaces enseignants et personnel du panneau d’administration, mais ils n’ont pas encore de portail à eux.

Cas d’utilisation

Une école primaire ou secondaire

Le cas autour duquel tout a été conçu.

  • Construisez la structure une seule fois : niveaux, classes, matières, salles.
  • Inscrivez chaque élève dans une classe pour l’année et faites l’appel depuis le registre de la classe.
  • Publiez les notes et le bulletin uniquement lorsqu’ils sont prêts, et laissez les parents les consulter depuis chez eux.

Un groupe d’établissements sous un même toit

Plusieurs campus, une seule installation.

  • Chaque école possède ses propres années scolaires, niveaux, matières, salles, élèves et personnel.
  • Les rapports et les listes se filtrent par école : un directeur de campus voit ses propres chiffres.
  • Les personnes et les documents restent rattachés à l’école à laquelle ils appartiennent.

Un centre de formation ou un département universitaire

Des programmes courts avec les mêmes rouages sous d’autres noms.

  • Utilisez les niveaux pour les promotions et les classes pour les groupes.
  • Pondérez examens et devoirs les uns par rapport aux autres pour la note finale.
  • Facturez les frais de scolarité via l’add-on Billing et suivez ce qui reste dû.

Une école qui veut que les parents cessent de téléphoner

La plupart des raisons pour lesquelles un parent appelle se trouvent déjà dans le système.

  • Présences, notes, devoirs et emploi du temps sont à une connexion près.
  • Les documents que vous marquez comme visibles (certificats, relevés de notes, rapports) sont téléchargeables depuis le portail.
  • Les annonces partent vers une classe, un niveau ou toute l’école en un seul message.

Prérequis

  • Larapen CMS v1.0.0 ou ultérieur
  • PHP 8.3+
  • MySQL 8.0+
  • Les comptes utilisateurs front-end activés, les responsables légaux se connectant pour accéder au portail
  • Le lien symbolique du stockage public (php artisan storage:link), standard sur toute installation, pour les photos, les documents et les pièces jointes
Facultatif : l’add-on Billing. Les frais de scolarité sont des factures, et l’add-on School ne possède pas de moteur de facturation propre : il crée et met à jour des factures Billing. Sans Billing, l’entrée de menu Frais de scolarité et ses routes ne sont tout simplement pas enregistrées, et tout le reste fonctionne normalement. Les pages du portail parents sont rendues par le thème actif : un thème qui fournit des templates School donne au portail son propre design ; un thème qui n’en fournit pas se rabat sur les vues propres à l’add-on.

Installation

Étape 1 : Téléverser l’add-on

Dans le panneau d’administration, allez dans Admin → Extensions → Add-ons et cliquez sur le bouton Téléverser un add-on. Sélectionnez le fichier ZIP de l’add-on : le système l’extrait automatiquement et l’add-on apparaît dans la liste des add-ons installés.

Étape 2 : Activer l’add-on

Trouvez School Management dans la liste et cliquez sur Activer. Ses migrations s’exécutent, ses permissions sont enregistrées, et les rôles student, teacher, staff et guardian sont créés s’ils n’existent pas déjà. Le code d’achat vous est demandé la première fois.

Étape 3 : Exécuter les migrations

L’activation exécute les migrations de l’add-on à votre place. Si vous avez installé les fichiers à la main, ou si une mise à jour apporte de nouvelles tables, exécutez-les depuis la racine du projet :

php artisan migrate

Les migrations en attente ne s’exécutent qu’une fois et sont ignorées lors des appels suivants.

Étape 4 : Vider les caches

php artisan config:clear
php artisan route:clear
php artisan view:clear

Code d’achat (clé de licence)

School Management est vendu comme un produit séparé, il possède donc son propre code d’achat (clé de licence), distinct du code d’achat de l’application principale et de celui de chaque autre add-on. Il vous est demandé lorsque vous activez School Management dans Panneau d’administration → Add-ons.

Nos produits sont vendus sur trois plateformes. La façon dont vous recevez un code d’achat dépend de l’endroit où vous avez acheté le produit.

Plateforme / Marketplace Comment obtenir le code d’achat Où le retrouver
Boutique bedigit.com
Achat sur le site (Shop)
Généré automatiquement lorsque la commande est payée, puis envoyé par e-mail, soit dans un e-mail de licence dédié, soit dans l’e-mail de confirmation de commande. Mon compte → Mes licences sur bedigit.com
Gumroad Créé dès que Gumroad nous notifie la vente, puis envoyé dans un e-mail séparé, en plus du reçu Gumroad. L’e-mail de licence, votre Bibliothèque Gumroad et Mon compte → Mes licences sur bedigit.com
Envato Market
CodeCanyon
Délivré par Envato, pas par nous, et jamais envoyé par e-mail : vous le téléchargez vous-même depuis votre compte Envato. Compte Envato → Downloads → License certificate & purchase code
Vérifiez votre dossier de spam. Pour les achats effectués sur la Boutique bedigit.com et sur Gumroad, le code d’achat est envoyé par e-mail. Les e-mails de licence automatiques sont très souvent filtrés : si le message ne se trouve pas dans votre boîte de réception, regardez dans votre dossier spam / courrier indésirable avant de contacter le support, et ajoutez notre adresse d’expédition à vos contacts ou à votre liste d’autorisation.

1. Boutique bedigit.com (achat sur le site)

  • Dès que le statut de paiement de la commande devient Payée, une clé de licence est générée automatiquement pour chaque article sous licence de la commande (une clé par unité achetée : acheter 3 unités donne 3 clés distinctes).
  • Elle est envoyée par e-mail à l’adresse utilisée pour la commande, soit dans un e-mail de licence dédié, soit dans l’e-mail de confirmation de commande. Vérifiez votre boîte de réception et votre dossier spam / courrier indésirable.
  • La clé reste disponible dans votre compte sous Mon compte → Mes licences. Les clés sont masquées dans la liste ; ouvrez la page de détail de la licence pour afficher et copier la clé complète, voir les domaines sur lesquels elle est activée, et désactiver un domaine pour libérer un emplacement d’activation.
  • La facture correspondante se trouve sous Mon compte → Mes commandes.

2. Gumroad

  • Un achat sur Gumroad produit deux e-mails distincts : le reçu Gumroad (envoyé par Gumroad, donnant accès aux fichiers) et un e-mail de clé de licence (envoyé par bedigit.com) qui contient votre code d’achat.
  • L’e-mail de clé de licence est généré dès que Gumroad nous notifie la vente, il arrive donc normalement quelques secondes après le paiement. Ici aussi, vérifiez votre boîte de réception et votre dossier spam / courrier indésirable.
  • Lorsque le produit Gumroad utilise la fonctionnalité de clés de licence propre à Gumroad, la même clé apparaît aussi dans votre reçu Gumroad et sous Bibliothèque → votre achat sur gumroad.com.
  • Utilisez la même adresse e-mail sur bedigit.com que sur Gumroad : vos clés sont alors liées automatiquement à votre compte et listées sous Mon compte → Mes licences, même si vous vous inscrivez après l’achat. Vous pouvez aussi ajouter une clé Gumroad manuellement depuis Mon compte → Mes licences Gumroad.

3. Envato Market (CodeCanyon)

  • Les codes d’achat Envato sont délivrés et fournis par Envato Market, jamais envoyés par e-mail par nous, il n’y a donc rien à chercher dans votre dossier de spam : vous récupérez le code depuis votre compte Envato.
  • Connectez-vous à votre compte Envato / CodeCanyon, ouvrez la page Downloads, trouvez l’article et choisissez License certificate & purchase code dans le menu déroulant Download. Le code est inscrit dans ce certificat.
  • Un code d’achat Envato ressemble à 12345678-90ab-cdef-1234-567890abcdef (8-4-4-4-12 caractères). Il ne change jamais, et le renouvellement du support de l’article n’en délivre pas de nouveau.
  • Article officiel Envato : Where Is My Purchase Code?
Vous avez perdu votre code d’achat ? Recherchez dans votre messagerie (dossier de spam inclus) “licence” ou “code d’achat”, puis consultez Mon compte → Mes licences sur bedigit.com pour les achats Boutique et Gumroad, ou Downloads → License certificate sur Envato. S’il est toujours introuvable, ouvrez un ticket sur notre Centre d’aide avec votre numéro de commande (Boutique), l’ID de vente Gumroad ou l’e-mail de l’acheteur (Gumroad), ou votre nom d’utilisateur Envato et le nom de l’article (Envato).

Démarrage rapide

Dix minutes pour obtenir une école dans laquelle vous pouvez faire l’appel. Tout ce qui suit se trouve sous Admin → École.

  1. Créez l’école. Structure → Écoles → Ajouter. Nom, code, adresse et coordonnées.
  2. Ouvrez une année scolaire. Structure → Années scolaires. Donnez-lui un nom (“2026–2027”), une date de début et une date de fin, et marquez-la comme en cours.
  3. Ajoutez ses périodes. Structure → Périodes. Une ligne par trimestre, semestre ou quart d’année.
  4. Décrivez les niveaux. Structure → Niveaux, puis Classes : une classe par groupe d’élèves pour l’année.
  5. Listez les matières et les salles. Structure → Matières et Salles.
  6. Ajoutez un enseignant. Enseignants → Ajouter. Un compte utilisateur lui est créé avec le rôle teacher.
  7. Ajoutez un élève. Élèves → Ajouter. Un numéro d’admission est généré si vous le laissez vide.
  8. Liez un responsable légal. Responsables légaux → Ajouter, puis liez-lui l’élève et indiquez la nature du lien.
  9. Inscrivez l’élève. Inscriptions → Ajouter : élève, classe, année scolaire.
  10. Faites l’appel. Présences → Faire l’appel : choisissez la classe et la date, et cochez le registre.
L’ordre compte au démarrage. Une classe a besoin d’un niveau et d’une année scolaire ; une inscription a besoin d’une classe ; une présence a besoin d’une inscription. Construisez d’abord la structure et le reste se met en place.

Écoles

Admin → École → Structure → Écoles. Une école est le conteneur de plus haut niveau : années scolaires, niveaux, matières, salles, élèves, enseignants et personnel appartiennent tous à une école.

ChampÀ quoi il sert
NomAffiché partout où une école est nommée. Un slug en est dérivé.
CodeUn identifiant court de votre choix (jusqu’à 32 caractères), pratique dans les rapports et les exports.
LogoUtilisé sur les pages propres à l’école.
Adresse, ville, région, pays, code postalL’adresse postale.
Téléphone, e-mail, site webLes coordonnées.
ActiveUne école inactive reste dans la base de données avec toutes ses données, et n’apparaît plus dans les sélecteurs.
PositionOrdonne la liste lorsque vous gérez plusieurs écoles.

Gérer une seule école est le cas le plus courant : créez-la une fois et ne revenez plus jamais sur cet écran. Plusieurs écoles sont prises en charge pour les groupes et les campus ; chaque liste qui peut être filtrée par école propose ce filtre.

Années scolaires et périodes

Structure → Années scolaires et Structure → Périodes.

Années scolaires

Une année scolaire appartient à une école et comporte un nom, une date de début, une date de fin et un statut (planifiée, active ou clôturée). Une seule année par école est l’année en cours : utilisez Définir comme en cours sur la ligne pour la changer. Les noms sont uniques au sein d’une école : “2026–2027” peut donc exister une fois par campus.

Classes, inscriptions, examens et notes font tous référence à une année scolaire. C’est ce qui garde le registre de l’an dernier lisible une fois la nouvelle année commencée : rien n’est écrasé, il appartient simplement à une autre année.

Périodes

Une période appartient à une année scolaire et possède un nom, une date de début et une date de fin, une position, et un indicateur en cours. Les périodes servent à regrouper notes, examens et devoirs sur le bulletin : créez-les donc avant de commencer à saisir des notes. Trimestres, semestres et quarts d’année ne sont que des périodes portant des noms différents.

Niveaux et classes

Niveaux

Structure → Niveaux. Un niveau est une étape de la scolarité (Year 7, Grade 3, Sixième, Freshman) avec un nom traduisible, un code court, un âge minimal et maximal facultatif, et une position qui les ordonne. Les niveaux appartiennent à une école : deux campus peuvent donc nommer leurs niveaux différemment.

Classes

Structure → Classes. Une classe est un groupe d’élèves, pour une année scolaire, à un niveau.

ChampÀ quoi il sert
Année scolaireL’année pendant laquelle la classe existe. Une nouvelle année implique de nouvelles classes.
NiveauL’étape à laquelle se situe cette classe.
Nom et code“7A”, “Grade 3: Blue”, et un code court pour les listes.
Professeur principalL’enseignant responsable de la classe. Facultatif.
SalleLa salle dans laquelle la classe est basée. Facultatif.
CapacitéLe nombre d’élèves que la classe est censée accueillir.
ActiveRetire une classe terminée des sélecteurs sans la supprimer.

Les enseignants sont rattachés aux classes par matière : un même enseignant peut ainsi assurer les mathématiques dans trois classes et la physique dans une autre.

Matières et salles

Matières

Structure → Matières. Une matière possède un nom traduisible, un code, une couleur utilisée dans l’emploi du temps, un indicateur matière principale et un indicateur d’activité. Les matières appartiennent à une école et servent de référence pour enregistrer les notes, les examens, les devoirs et les créneaux de l’emploi du temps.

Salles

Structure → Salles. Une salle possède un nom, un code, un bâtiment, une capacité et un type : salle de classe, laboratoire, gymnase, bibliothèque, auditorium, bureau ou autre. Les salles sont utilisées par les classes et par les créneaux de l’emploi du temps.

Fonctionnement des personnes

Élèves, responsables légaux, enseignants et personnel sont des comptes utilisateurs. L’identité (prénom, nom, e-mail, téléphone, genre, date de naissance, photo et adresse) n’existe qu’une fois, sur la fiche utilisateur ; le profil scolaire ne contient que ce qui est propre à l’école.

Cela a trois conséquences à connaître avant de commencer la saisie :

  • Un rôle est attribué automatiquement. Créer un élève attribue à son compte le rôle student ; un responsable légal reçoit guardian, un enseignant teacher, un membre du personnel staff. C’est sur cette base que fonctionnent le portail et les permissions d’administration.
  • L’adresse e-mail est facultative. Laissez-la vide et une adresse fictive est générée pour que la fiche puisse exister. Une personne dotée d’une adresse fictive ne peut pas se connecter : donnez une vraie adresse à un responsable légal lorsque vous voulez qu’il accède au portail.
  • Supprimer une personne supprime son compte. Supprimer un élève, un enseignant, un responsable légal ou un membre du personnel supprime l’utilisateur sous-jacent et tout ce qui s’y rattache. Utilisez plutôt le champ statut lorsque quelqu’un est simplement parti.

Élèves

Admin → École → Élèves. Au-delà des champs d’identité, un élève comporte :

ChampRemarques
Numéro d’admissionUnique. Généré automatiquement lorsque vous le laissez vide, sous la forme préfixe, année et numéro séquentiel : STU-2026-0001. Le préfixe se règle dans Paramètres → Valeurs par défaut.
ÉcoleLe campus auquel l’élève appartient.
Date d’admissionLa date à laquelle il est arrivé.
Date de fin de scolaritéLa date à laquelle il est parti, pour les anciens élèves.
Lieu de naissance, nationalité, religion, groupe sanguinChamps d’archivage facultatifs.
Statutactif, inactif, diplômé, transféré ou retiré.
NotesTexte libre pour le secrétariat.

La liste peut être recherchée par nom, e-mail ou numéro d’admission, et filtrée par école, statut et genre. Chaque ligne ouvre le dossier de l’élève.

Responsables légaux

Admin → École → Responsables légaux. Un responsable légal est un parent ou un représentant légal. Son profil contient un lien de parenté par défaut, une profession, un employeur, un statut et des notes.

Un responsable légal est lié à un ou plusieurs élèves depuis sa propre page (Lier un élève), et chaque lien possède ses propres réglages :

Réglage du lienSignification
Lien de parentépère, mère, grand-parent, tuteur légal, frère ou sœur ou autre.
Contact principalLa personne que l’école appelle en premier.
Contact d’urgenceAffiché sur le dossier de l’élève comme numéro d’urgence.
Peut récupérer l’enfantIndique si cette personne est autorisée à venir chercher l’enfant.
Peut consulter les dossiersEnregistré sur le lien, pour votre propre référence.

Un élève peut avoir plusieurs responsables légaux et un responsable plusieurs enfants : les frères et sœurs d’une même école partagent un seul compte parent.

Enseignants

Admin → École → Enseignants. Une fiche enseignant ajoute un matricule, un diplôme, une spécialisation, une date d’embauche, un salaire facultatif, un statut (actif, inactif, en congé, licencié) et des notes.

Les enseignants sont rattachés aux matières qu’ils peuvent enseigner et aux classes par matière. Ce sont ces liens qui alimentent les sélecteurs lorsque vous construisez l’emploi du temps, créez un devoir ou saisissez une note. La page de détail de l’enseignant regroupe ses classes, ses matières et son emploi du temps.

Personnel

Admin → École → Personnel. Toutes les personnes qui travaillent à l’école sans enseigner : le secrétariat, l’infirmière, le bibliothécaire, l’entretien. Une fiche du personnel comporte un matricule, un intitulé de poste, un service, une date d’embauche, un statut et des notes.

Inscriptions

Admin → École → Inscriptions. Une inscription place un élève dans une classe pour une année scolaire. C’est la charnière de tout l’add-on : présences, notes et rendus de devoirs sont enregistrés sur l’inscription, et non sur l’élève, ce qui explique qu’ils restent rattachés pour toujours à la bonne année et à la bonne classe.

ChampRemarques
Élève, classe, année scolaireLes trois clés. Une inscription par élève et par année scolaire.
Date d’inscriptionAujourd’hui par défaut si elle est laissée vide.
Numéro d’ordreLe numéro de l’élève au sein de la classe, si vous en utilisez un.
Statutinscrit, retiré, transféré ou terminé. Les nouvelles inscriptions sont par défaut inscrit.
Date et motif de sortieRenseignés lorsqu’un élève quitte la classe en cours d’année.
Changer un élève de classe en cours d’année. Créez la nouvelle inscription avec le statut inscrit : l’inscription précédente de cet élève pour cette année scolaire passe automatiquement à terminé, de sorte que l’élève n’est jamais dans deux classes à la fois. L’ancien registre, avec ses présences et ses notes, reste exactement tel qu’il était.

Présences

Admin → École → Présences. Un enregistrement par inscription et par jour, avec quatre statuts :

StatutCompté comme présent ?
PrésentOui
En retardOui : l’élève était là
AbsentNon
ExcuséNon

Faire l’appel

Présences → Faire l’appel est l’écran que vous utilisez chaque matin. Choisissez une classe et une date, aujourd’hui par défaut, et les élèves inscrits apparaissent sous forme de registre. Marquez chacun d’eux, ajoutez une remarque lorsque c’est utile, et enregistrez. Rouvrir la même classe à la même date recharge ce qui a été saisi pour que vous puissiez le corriger : il n’y a qu’un enregistrement par élève et par jour, donc réenregistrer met à jour au lieu de dupliquer.

La liste des présences

La liste principale affiche tous les enregistrements, filtrables par classe, par date et par statut, avec une suppression groupée pour une journée saisie par erreur. La personne qui a saisi chaque ligne est enregistrée avec elle.

Le taux de présence qu’un parent voit sur le portail correspond à présent + en retard, rapporté au nombre total d’enregistrements, pour l’inscription en cours de l’élève.

Notes

Admin → École → Notes. Une note est un résultat pour une inscription, dans une matière, pour une période. Elle peut exister seule, ou être rattachée à un examen ou à un devoir.

ChampRemarques
InscriptionQuel élève, dans quelle classe, pour quelle année.
Matière et périodeCe que la note évalue, et quand.
Examen ou devoirFacultatif : relie la note au travail dont elle provient.
Note et note maximaleLa note obtenue et le barème.
AppréciationUne lettre ou un code court facultatif (jusqu’à 4 caractères) que vous saisissez vous-même : A, B+, 12/20, selon l’usage de votre école.
RemarquesUn commentaire pour le bulletin.
PubliéeLes notes non publiées sont invisibles sur le portail parents.
La publication est l’interrupteur que les parents remarquent. Une note reste privée au panneau d’administration tant qu’elle n’est pas marquée comme publiée. Saisissez les notes au fil des corrections, et publiez tout le lot une fois la période terminée.

La personne qui a noté une ligne et la date sont enregistrées avec elle. Le portail affiche les notes publiées regroupées par matière, avec la moyenne par matière et une moyenne générale.

Examens

Admin → École → Examens. Un examen est une évaluation programmée dans une matière, pour une année scolaire et une période, passée par une ou plusieurs classes.

ChampRemarques
Nom et descriptionDe quoi il s’agit.
Matière, année scolaire, périodeSon rattachement.
ClassesUn même examen peut être passé par plusieurs classes.
Date, heure de début, heure de finQuand il a lieu.
Typecontrôle, interrogation, partiel, final ou autre.
Note maximaleLe barème de l’examen.
CoefficientLe poids de cet examen par rapport aux autres de la période.
PubliéPubliez l’examen dès que ses résultats peuvent être consultés.

La page de détail de l’examen liste les classes qui le passent et les notes saisies pour lui : vous pouvez donc saisir tout un lot de notes depuis un seul écran. Publier sur la ligne est le raccourci pour le diffuser.

Devoirs

Admin → École → Devoirs. Un devoir est un travail à la maison ou un travail de cours donné à une classe, dans une matière, par un enseignant, pour une période.

ChampRemarques
Titre et descriptionCe que les élèves doivent faire.
Classe, matière, enseignant, périodeSon rattachement.
Pièce jointeUne consigne, une fiche d’exercices ou un modèle à télécharger.
Date limiteLa date à laquelle il doit être rendu.
Note maximale et coefficientLe barème, et son poids.
PubliéSeuls les devoirs publiés apparaissent sur le portail parents.

La page de détail du devoir affiche ses rendus : chacun comporte l’inscription de l’élève, un fichier téléversé ou un texte saisi, le moment du rendu, une note, un retour et un statut. C’est la notation d’un rendu qui produit la note rattachée au devoir.

Emploi du temps

Admin → École → Emploi du temps. La grille hebdomadaire, une classe à la fois. Un créneau est une matière, enseignée par un enseignant, dans une salle, un jour de la semaine, entre une heure de début et une heure de fin.

Les créneaux ont un type de semaine pour gérer une alternance sur deux semaines : A, B ou toutes les semaines. Les couleurs des matières, définies sur chaque matière, rendent la grille lisible d’un coup d’œil.

C’est cette même grille, filtrée sur la classe d’un élève, qu’un parent voit sur le portail.

Comportement

Admin → École → Comportement. Une fiche de comportement est un incident, positif ou négatif, rattaché à un élève.

ChampRemarques
Élève et dateQui et quand.
Typepositif ou négatif. Les mérites comme les sanctions se trouvent ici.
CatégorieVos propres termes : ponctualité, tenue, entraide, perturbation…
DescriptionCe qui s’est passé.
Mesure priseCe que l’école a fait en conséquence.
Gravitéfaible, moyenne ou élevée.
Visible par le parentDésactivé, la fiche reste interne.

La personne qui a signalé l’incident est enregistrée avec lui. Les fiches apparaissent sur le dossier de l’élève, les plus récentes en premier.

Dossiers médicaux

Admin → École → Santé. Le dossier médical dont l’infirmière et le secrétariat ont besoin à portée de main.

ChampRemarques
Élève et dateQui et quand.
Typeallergie, médicament, pathologie, consultation, vaccination ou autre.
Titre et descriptionDe quoi il s’agit.
Gravitéfaible, moyenne ou élevée.
MédecinLe praticien, le cas échéant.
Pièce jointeUn certificat, une ordonnance, un carnet de vaccination.
Visible par le parentDésactivé, la fiche reste interne.
Les données de santé sont sensibles. N’accordez les permissions school.health.* qu’aux personnes qui en ont besoin, et n’oubliez pas que visible par le parent détermine ce que la famille peut lire depuis chez elle. Le groupe sanguin figure sur la fiche de l’élève elle-même, pas ici.

Documents

Admin → École → Documents. Des fichiers rattachés à un élève, un enseignant, un membre du personnel ou un responsable légal.

ChampRemarques
PropriétaireL’élève, l’enseignant, le membre du personnel ou le responsable légal auquel le document appartient.
Catégorieacte de naissance, pièce d’identité, passeport, vaccination, relevé de notes, diplôme, contrat ou autre.
Nom et descriptionLa façon dont il est listé.
FichierLe fichier téléversé lui-même. Son type et sa taille sont enregistrés.
Date d’expirationPour les papiers qui expirent, comme une pièce d’identité ou un certificat médical.
Visible par le parentSeuls les documents marqués comme visibles apparaissent sur le portail, et uniquement pour les responsables légaux de cet élève.

Les documents sont téléchargés via l’add-on et non depuis une URL publique : la vérification des permissions a donc lieu à chaque téléchargement.

Frais de scolarité et facturation

Nécessite l’add-on Billing. L’entrée de menu Frais de scolarité et ses pages n’existent que lorsque Billing est installé et actif. School Management ne possède pas de moteur de facturation propre.

Admin → École → Frais de scolarité. Un frais de scolarité relie un élève à une facture Billing. Le côté scolaire contient le contexte (quel élève, quelle école, quelle année scolaire, quelle période, un libellé, une devise et des notes) et Billing gère l’argent : les lignes, les totaux, le statut et les paiements.

Créer un frais de scolarité

  • Choisissez l’élève, l’année scolaire et la période, et donnez un libellé au frais (“Scolarité : 1er trimestre”, “Abonnement de bus”).
  • Ajoutez les lignes. Elles deviennent les lignes de la facture.
  • Enregistrez-le comme brouillon, ou envoyez-le immédiatement : la facture est créée avec le statut correspondant et la date d’échéance suit vos conditions de paiement Billing.

Suivre l’argent

  • La liste des frais se filtre par statut de facture : “ce qui reste impayé” n’est donc qu’à un clic.
  • Marquer comme payé sur une ligne solde la facture sous-jacente.
  • Le tableau de bord École affiche le total restant dû sur les factures en brouillon, envoyées, partiellement payées et en retard.
  • Supprimer un frais de scolarité supprime la facture correspondante.

Les responsables légaux voient les frais de scolarité de leurs enfants sur le portail, avec le détail de la facture et ce qu’il reste à payer.

Messages

Admin → École → Messages. Annonces et messages directs de l’école aux familles, distribués dans la boîte de réception du portail.

Type de destinataireQui le reçoit
IndividuelLes personnes que vous choisissez, une par une.
ClasseLes responsables légaux de chaque élève inscrit dans cette classe.
NiveauLes responsables légaux de chaque élève de ce niveau.
ÉcoleToutes les personnes rattachées à cette école.
RôleToutes les personnes dotées d’un rôle : tous les enseignants, tous les responsables légaux.

Un message comporte un objet, un corps et des pièces jointes facultatives. La liste des destinataires est déterminée au moment de l’envoi et enregistrée avec le message : une liste de classe qui change par la suite ne réécrit donc pas qui a reçu quoi. Les états lu et archivé sont suivis par destinataire.

Les responsables légaux lisent leurs messages sous Portail → Messages, et peuvent y répondre depuis cet endroit.

Le portail parents

L’espace front-end où les familles suivent leurs enfants, à l’adresse /portal (et /<locale>/portal dans toutes les autres langues). Il est accessible depuis le menu du compte dès que l’add-on est actif, et chaque page exige un utilisateur connecté.

Donner accès à un parent

  1. Créez le responsable légal avec une vraie adresse e-mail : une adresse fictive générée ne permet pas de se connecter.
  2. Liez l’élève à ce responsable et définissez le lien de parenté.
  3. Indiquez au parent d’utiliser la procédure habituelle de mot de passe oublié du site pour définir son propre mot de passe : les comptes créés depuis le panneau d’administration ont un mot de passe aléatoire et une adresse e-mail déjà vérifiée.

Un utilisateur connecté sans fiche de responsable légal, ou un responsable sans enfant lié, voit une courte page “pas encore lié” plutôt qu’une erreur.

Ce que voient les parents

PageContenu
Tableau de bordUne carte par enfant, avec le taux de présence, la moyenne des notes publiées et ce qui reste dû sur les frais de scolarité.
Dossier de l’enfantLa classe de l’enfant, son inscription et les raccourcis vers tout ce qui suit.
PrésencesChaque enregistrement avec son statut, ainsi que les totaux de l’année.
NotesLes notes publiées regroupées par matière, avec une moyenne par matière et une moyenne générale.
BulletinLes notes publiées de la période en cours, matière par matière.
DevoirsLes devoirs publiés avec leurs dates limites et leurs pièces jointes.
Emploi du tempsLa grille hebdomadaire de la classe de l’enfant.
ComportementLes incidents marqués comme visibles par les parents.
SantéLes fiches médicales marquées comme visibles par les parents.
DocumentsLes documents marqués comme visibles par les parents, téléchargeables.
Frais de scolaritéLes factures et ce qu’il reste à payer. Uniquement lorsque l’add-on Billing est actif.
MessagesLa boîte de réception, l’affichage d’un message et un formulaire de réponse.
ProfilLes informations personnelles du responsable légal.
Un parent ne peut jamais accéder qu’à ses propres enfants. Chaque page enfant vérifie le lien responsable → élève avant de s’afficher et refuse tout le reste : une adresse devinée dans la barre d’adresse ne mène donc nulle part.

Contrôler la visibilité

La visibilité fonctionne à deux niveaux.

Par fiche, réglée là où la fiche est créée :

  • Publiée sur une note : les notes non publiées sont invisibles et exclues des moyennes.
  • Publié sur un devoir : les brouillons restent dans le panneau d’administration.
  • Visible par le parent sur une fiche de comportement, une fiche médicale et un document.

Rien d’autre n’est filtré à ce niveau : présences, emploi du temps, frais de scolarité et messages sont affichés tels qu’ils sont enregistrés.

Par section, sous École → Paramètres → Portail parents : un interrupteur pour chacune des sections Présences, Notes, Bulletin, Devoirs, Emploi du temps, Comportement, Santé, Documents, Frais de scolarité et Messages. Une section masquée disparaît du dossier de l’enfant et sa page répond “page introuvable”. Désactiver un module sous Fonctionnalités supprime aussi sa section du portail.

Notifications

L’add-on informe les familles de ce qui s’est passé sans que personne n’ait à les appeler. Six avis sont envoyés par e-mail et dans la boîte de réception interne du destinataire :

AvisDestinatairesEnvoyé lorsque
Absence d’un élèveLes responsables légaux de l’enfantVous enregistrez le registre avec l’élève marqué absent. Réenregistrer le même registre n’en envoie pas un second ; corriger un élève en présent puis de nouveau en absent, si.
Nouvelle note publiéeLes responsables légaux de l’enfantUne note est publiée. Corriger une note déjà publiée n’envoie rien.
Nouveau devoirLes responsables légaux de chaque élève de la classeUn devoir est publié.
Incident de comportementLes responsables légaux de l’enfantUn incident est marqué visible par le parent.
Message reçuToutes les personnes à qui le message est adresséVous envoyez un message. L’expéditeur n’est jamais notifié de son propre message.
Nouvelle admission d’élèveLes administrateursUn élève est ajouté.

Activez-les ou désactivez-les sous Admin → Paramètres → Notifications, où ils figurent dans leur propre groupe École aux côtés des autres e-mails du site. Chaque destinataire peut aussi désactiver les siens, par avis et par canal, depuis ses préférences de notification.

Deux choses bloquent tous les avis à la fois. L’interrupteur général de cette même page, et l’absence d’adresse e-mail : un responsable légal créé sans adresse reçoit une adresse fictive générée qui ne peut pas recevoir de courrier. Donnez une vraie adresse aux responsables légaux qui doivent avoir de vos nouvelles.

Le dossier de l’élève

La page que vous ouvrez depuis la ligne d’un élève dans le panneau d’administration. Elle regroupe, pour un élève :

  • son identité, sa photo, son école et les détails de son admission ;
  • ses responsables légaux, avec le lien de parenté et les indicateurs de contact principal et d’urgence ;
  • chaque inscription, avec sa classe, son niveau et son année scolaire, ainsi que celle qui est en cours ;
  • ses documents, ses fiches médicales et ses incidents de comportement ;
  • ses frais de scolarité et les factures correspondantes, lorsque l’add-on Billing est actif.

C’est la page à garder ouverte lorsqu’un parent est au téléphone.

Widgets du tableau de bord

En plus de son propre tableau de bord sous Admin → École → Tableau de bord, l’add-on ajoute trois cartes au tableau de bord d’administration principal, pour que l’école apparaisse à côté de tout ce que le site fait tourner :

CarteContenu
Aperçu de l’écoleLes élèves actifs, les enseignants, les classes, et le nombre d’élèves admis ce mois-ci.
Présences du jourLe taux de présence du jour et le nombre de présents, absents, retards et excusés.
Admissions récentesLes cinq admissions les plus récentes, chacune renvoyant au dossier de l’élève.

Admissions récentes est affichée par défaut ; les deux autres sont masquées au départ. Ajoutez, retirez et réordonnez-les depuis le contrôle de personnalisation du tableau de bord d’administration : la disposition est enregistrée par utilisateur, chacun organise donc la sienne. Une carte n’apparaît que pour les personnes dont le rôle accorde la permission correspondante.

Paramètres

Admin → École → Paramètres. Trois onglets.

Fonctionnalités

Un interrupteur par module : Présences, Notes, Examens, Devoirs, Emploi du temps, Frais de scolarité, Messages, Documents, Santé, Comportement et Portail parents.

Désactiver un module le masque partout : son entrée quitte le menu École, ses pages d’administration répondent “page introuvable”, et il disparaît du portail parents. Rien n’est supprimé : réactivez-le et chaque fiche est là où vous l’avez laissée. C’est l’interrupteur à utiliser pour un module que votre école n’utilise pas du tout ; utilisez les rôles et permissions lorsque le module est utile mais que seules certaines personnes doivent y accéder.

Portail parents est l’interrupteur général du front-end : lorsqu’il est désactivé, /portal répond “page introuvable” et le lien du portail quitte le menu du compte.

Portail parents

Un interrupteur par section du portail : Présences, Notes, Bulletin, Devoirs, Emploi du temps, Comportement, Santé, Documents, Frais de scolarité et Messages. Une section masquée disparaît du dossier de l’enfant et sa page répond “page introuvable”.

Une section suit aussi le module dont elle dépend ; si Notes est désactivé sous Fonctionnalités, le portail n’affiche ni les notes ni le bulletin, quel que soit l’état de ces interrupteurs.

Valeurs par défaut

ParamètreRôle
Préfixe du numéro d’admissionLes lettres par lesquelles commencent les numéros d’admission. STU donne STU-2026-0001, STU-2026-0002, et ainsi de suite. Lettres et chiffres uniquement ; les numéros déjà attribués ne sont jamais renommés.
Devise par défautLa devise dans laquelle sont exprimés les frais de scolarité lorsque rien de plus précis ne s’applique.
Fuseau horaireLe fuseau horaire dans lequel les dates et heures sont interprétées. Se rabat sur le fuseau horaire de l’application.
Les envois se règlent ailleurs. Les alertes d’absence, les annonces de notes et de devoirs, les avis de comportement, les alertes de message et les avis de nouvelle admission s’activent et se désactivent sous Admin → Paramètres → Notifications, aux côtés des autres e-mails du site. Chaque destinataire peut aussi désactiver les siens, depuis ses préférences de notification.

Rôles et permissions

L’activation de l’add-on enregistre une permission par section et par action (school.students.view, school.grades.create, school.attendance.edit et ainsi de suite) et crée les quatre rôles avec lesquels il fonctionne.

RôleCe à quoi il accède
adminTout, comme toujours.
staffLa gestion scolaire au sens large : toutes les sections sauf la création, la modification et la suppression des écoles elles-mêmes.
teacherLes tâches d’enseignement : présences, notes, examens et devoirs (création et modification), ainsi qu’un accès en lecture aux élèves, aux classes, aux matières, à l’emploi du temps, au comportement, à la santé et aux documents.
guardianAucun accès à l’administration : le portail uniquement.
studentAucun accès à l’administration.

Les permissions sont attribuées de manière cumulative : un rôle ne perd jamais ce qu’il détient par ailleurs. Ajustez tout cela sous Admin → Utilisateurs → Rôles : les valeurs par défaut ci-dessus sont un point de départ, pas une contrainte.

Multilingue

Chaque libellé du panneau d’administration et du portail passe par les fichiers de traduction, et l’add-on est fourni avec 30 langues. Les noms des niveaux et des matières sont traduisibles par langue : une école fonctionnant en deux langues les nomme donc une fois par langue.

Pour ajuster une formulation, modifiez extensions/addons/school/resources/lang/<locale>/school.php. Changez les valeurs, jamais les clés. L’anglais est le fichier de référence ; les langues qui n’ont pas encore été traduites contiennent les chaînes anglaises en guise de valeurs provisoires.

Mise à jour

  1. Téléchargez le dernier ZIP de l’add-on.
  2. Allez dans Panneau d’administration → Add-ons et cliquez sur Téléverser.
  3. Sélectionnez ou faites glisser le ZIP dans la zone de téléversement. Une demande de confirmation affiche le numéro de la version actuelle et celui de la nouvelle : cliquez sur Remplacer.
  4. Exécutez les migrations en attente :
    php artisan migrate
  5. Videz les caches :
    php artisan config:clear
    php artisan route:clear
    php artisan view:clear

Vos données et vos paramètres se trouvent dans la base de données et ne sont pas affectés par un remplacement de fichiers.

Désinstallation

Éteindre un add-on sans rien perdre, c’est le désactiver : allez dans Panneau d’administration → Add-ons, trouvez School Management et cliquez sur Désactiver.

  • Ses routes, ses vues, ses entrées de menu d’administration et ses permissions cessent d’être enregistrées, et le portail parents ne répond plus.
  • Ses tables de base de données et toutes les données qu’elles contiennent sont conservées, et ses fichiers restent dans extensions/addons/school/. Rien n’est supprimé.
  • Le code d’achat enregistré lors de l’activation est conservé lui aussi : réactiver l’add-on ne le redemande pas.
  • La désactivation est refusée tant qu’un autre add-on actif dépend de celui-ci : désactivez d’abord cet add-on.

Cliquez sur Activer sur la même carte pour le rallumer. Les migrations en attente sont rejouées, les assets republiés, et l’add-on reprend exactement là où il s’était arrêté.

Suppression

La suppression est définitive et détruit les données de l’add-on. Le bouton Supprimer n’apparaît que sur un add-on désactivé : la suppression se fait donc toujours en deux temps :

  1. Désactivez School Management (voir Désinstallation).
  2. Cliquez sur Supprimer sur sa carte et confirmez la demande.

Le panneau d’administration, en une seule passe :

  • exécute le hook de désinstallation de l’add-on, s’il en fournit un, tant que son code est encore sur le disque ;
  • révoque les permissions déclarées dans son addon.json ;
  • annule ses migrations (ce qui supprime ses tables de base de données et toutes les lignes qu’elles contiennent) et purge ses entrées de la table migrations, afin qu’une réinstallation ultérieure reparte de zéro ;
  • supprime ses assets publiés : public/addons/school/, public/vendor/school/ et storage/app/public/addons/school/ ;
  • supprime le dossier de l’add-on extensions/addons/school/ ;
  • supprime sa ligne dans la table addons (le code d’achat enregistré disparaît avec elle) et vide le cache de l’application.
Cette action est irréversible. Sauvegardez votre base de données avant de supprimer un add-on dont les données peuvent encore vous servir : le réinstaller plus tard crée des tables vides, pas votre ancien contenu. Supprimer School Management efface chaque élève, responsable légal, enseignant, inscription, enregistrement de présence, note, examen, devoir, fiche de comportement, fiche médicale, ligne de document et message. Les comptes utilisateurs de ces personnes ne sont pas supprimés (ils se trouvent dans la table des utilisateurs principale), mais le profil scolaire qui leur donnait leur sens, lui, l’est.

La suppression est refusée, avec un message explicatif et avant toute destruction, lorsque l’add-on est encore actif, lorsqu’un autre add-on actif en dépend, ou lorsque l’utilisateur du serveur web (PHP) ne peut pas supprimer extensions/addons/school/. Dans ce dernier cas, donnez à cet utilisateur le droit d’écriture sur le dossier et sur son parent, puis réessayez.

Supprimer le dossier en FTP ou en SSH n’est pas équivalent : les tables de l’add-on, ses entrées dans la table migrations et sa ligne addons restent en place, et sa carte reste dans la liste. Utilisez plutôt Supprimer dans le panneau d’administration.

Dépannage

L’entrée de menu Frais de scolarité est absente

  • Les frais de scolarité sont des factures Billing : la section n’est enregistrée que lorsque l’add-on Billing est installé et actif.
  • Activez Billing, puis videz le cache des routes (php artisan route:clear) et rechargez le panneau d’administration.

Un parent se connecte et voit “pas encore lié”

  • L’utilisateur connecté n’a pas de fiche de responsable légal, ou le responsable n’a aucun élève lié.
  • Ouvrez Responsables légaux, trouvez la personne et utilisez Lier un élève.
  • Vérifiez que le compte du responsable est bien celui avec lequel il s’est connecté : un responsable créé sans adresse e-mail reçoit une adresse fictive avec laquelle personne ne peut se connecter.

Un parent ne parvient pas du tout à se connecter

  • Les comptes créés depuis le panneau d’administration reçoivent un mot de passe aléatoire. Orientez le parent vers la procédure de mot de passe oublié du site.
  • Assurez-vous que le responsable légal a une vraie adresse e-mail sur sa fiche, et non une adresse fictive générée en @school.local.

Les notes sont saisies mais le portail n’affiche rien

  • Seules les notes publiées sont affichées, et uniquement pour l’inscription en cours de l’élève.
  • Vérifiez que l’élève a une inscription au statut inscrit dans l’année scolaire en cours.

Un élève apparaît dans deux classes

  • Une seule inscription par élève et par année scolaire peut être au statut inscrit ; créer une nouvelle inscription à ce statut passe automatiquement la précédente à terminé.
  • Si deux lignes sont toutes deux au statut inscrit, elles appartiennent à deux années scolaires différentes : vérifiez la colonne de l’année.

Présences enregistrées deux fois pour le même jour

  • C’est impossible : il n’y a qu’un enregistrement par inscription et par jour, et réenregistrer le registre le met à jour.
  • Ce qui ressemble à un doublon est généralement le même élève présent dans deux inscriptions. Passez l’ancienne à terminé.

La page Paramètres renvoie une erreur 403

  • Le compte a besoin de la permission school.settings.view pour ouvrir la page et de school.settings.edit pour l’enregistrer. Les administrateurs et le rôle staff possèdent les deux par défaut.
  • Accordez-les sous Admin → Utilisateurs → Rôles si vous avez personnalisé les rôles.

Une section entière a disparu du menu École

  • Son module est désactivé sous École → Paramètres → Fonctionnalités. Réactivez-le, rien n’a été supprimé.

Un parent signale qu’une page du portail est absente

  • Vérifiez la section sous École → Paramètres → Portail parents, puis le module dont elle dépend sous Fonctionnalités : masquer Notes masque aussi le bulletin.
  • Si toutes les pages sont absentes, c’est l’interrupteur Portail parents lui-même qui est désactivé.

Les parents ne reçoivent pas les e-mails d’absence ou de notes

  • Vérifiez l’interrupteur général et les types individuels sous Admin → Paramètres → Notifications.
  • Un responsable légal doté d’une adresse fictive générée ne recevra jamais rien : donnez-lui une vraie adresse e-mail.
  • Une note déclenche une notification lorsqu’elle est publiée, pas lorsqu’elle est saisie ; un devoir lorsqu’il est publié ; un incident de comportement lorsqu’il est marqué visible par le parent. Réenregistrer le même registre n’envoie pas une seconde alerte d’absence.

Les photos et les documents ne s’affichent pas

  • Exécutez php artisan storage:link depuis la racine du projet : les fichiers téléversés sont servis via le lien symbolique du stockage public.
  • Vérifiez que l’utilisateur du serveur web peut écrire dans storage/app/public/.

School Management v1.0.0 : fait partie de la plateforme CMS Larapen.

© BeDigit. Tous droits réservés.

Cet article vous a-t-il été utile ?

Merci pour votre retour !

Besoin d'aide ? Créez un ticket de support

Créer un Ticket

Guides des Modules

sept. 28, 2026