Aller au contenu
Manuel d'utilisationMasomo Mepesi Site web

Chapitre 8

Administration (Genius ICT)

Ce chapitre s'adresse surtout à Genius ICT, qui installe et entretient Masomo pour chaque groupe scolaire. Les sauvegardes concernent aussi l'administration de l'école.

Administration technique Rédigé

Installer Masomo

Mettre Masomo en service sur un hébergement : base vide importée par phpMyAdmin puis assistant web, ou commande avec SSH ; puis les premiers réglages, dans l'ordre.

  • Genius ICT

Où : Adresse du site /installation (tant que Masomo n'est pas installé)

Avec SSH : commande php artisan masomo:base-vide

À quoi ça sert

Genius ICT installe une copie de Masomo par groupe scolaire, sur un hébergement mutualisé (cPanel : PHP, MariaDB, phpMyAdmin, tâches cron). L'installation crée les tables, écrit la configuration du serveur (le fichier .env, avec la clé de chiffrement et le mot de passe de la base), charge les données communes à toutes les écoles (rôles et permissions, référentiel des bulletins officiels, calendrier vaccinal, natures de frais) et crée le seul compte de départ : le super administrateur Genius ICT. Aucune donnée de démonstration n'est chargée.

Deux voies mènent au même résultat :

  • Sans accès SSH (le cas habituel) : importer la base vide deploiement/masomo-base-vide.sql avec phpMyAdmin, puis suivre l'assistant web /installation. Il crée le compte Genius ICT, puis se verrouille.
  • Avec un accès SSH (ou sur un poste de développement) : la commande php artisan masomo:base-vide prépare la base et crée le compte.

Tout le reste se fait ensuite dans l'espace, avec le compte Genius ICT : groupe scolaire, école et sections, année, tarif de l'abonnement, classes, personnel, comptes, frais, vitrine et première sauvegarde.

Avant l'assistant Il faut : PHP 8.3 avec ses extensions, une base MariaDB 10.3+ ou MySQL 8.0.23+ et son utilisateur ajouté « avec TOUS LES PRIVILÈGES », le paquet masomo-x.y.z.zip décompressé dans le dossier du site (sans créer de .env : c'est l'assistant qui l'écrit). Le détail technique (cPanel, droits des dossiers, certificat SSL, dépannage) est dans docs/deploiement.md, livré avec le paquet.

Qui l'utilise

  • Genius ICT seul installe : la personne qui installe choisit l'identifiant et le mot de passe du compte super administrateur, connus d'elle seule.
  • L'école n'intervient pas pendant l'installation. Elle reçoit ensuite ses comptes (promoteur, administration, direction…), créés par Genius ICT ou par sa propre administration.

Pas à pas

Voie sans SSH : base vide importée, puis assistant. Enchaînez les étapes 1 à 6 sans attendre (voir « Attention »).

  1. Importez la base vide avec phpMyAdmin

    Dans cPanel, ouvrez « phpMyAdmin », choisissez la base créée pour Masomo (colonne de gauche), onglet « Importer », fichier deploiement/masomo-base-vide.sql depuis votre ordinateur, puis « Exécuter ».

    La base reçoit 150 tables (InnoDB, utf8mb4) et les données communes : un seul compte, le super administrateur Genius ICT (management@mepesi.com, mot de passe par défaut « password »), aucune école, aucun élève.

  2. Ouvrez l'adresse du site : les vérifications

    Aussitôt, ouvrez l'adresse du site : toute page mène à l'assistant tant que Masomo n'est pas installé. La première étape, « Vérification du serveur », contrôle la version de PHP, les extensions et les dossiers en écriture. Chaque ligne dit « OK », « Obligatoire » ou « Conseillé ».

    Vérification du serveur (ordinateur)
    Vérification du serveur (téléphone)
    « Vérification du serveur » : PHP 8.3, extensions présentes, toutes « OK ».

    Si un point obligatoire est en rouge, corrigez-le dans cPanel puis touchez « Vérifier à nouveau ». Sinon, touchez « Continuer : base de données ».

  3. Indiquez la base de données

    Remplissez « Serveur » (presque toujours localhost), « Port » (3306), « Nom de la base », « Utilisateur de la base », « Mot de passe de l'utilisateur » et « Adresse du site » (préférez https://). Touchez « Tester et enregistrer ».

    Base de données de l'installation (ordinateur)
    Base de données de l'installation (téléphone)
    Les paramètres de la base créée dans cPanel ; cPanel préfixe souvent le nom du compte (« csalomon_masomo »).

    L'assistant vérifie la connexion, la version, le moteur InnoDB et le droit de créer des tables. Il reconnaît la base vide importée, puis écrit le fichier .env (production, débogage désactivé, clé de chiffrement, fuseau Africa/Lubumbashi, français).

  4. Mettez à jour les tables

    « Connexion réussie (MariaDB 11.5.2, InnoDB). La configuration est enregistrée. » (la version dépend de l'hébergeur)

    Création des tables (ordinateur)
    Création des tables (téléphone)
    L'étape « Tables » : la base choisie et ce qui va être chargé.

    Touchez « Créer les tables ». Avec une base vide importée, rien n'est effacé : l'assistant complète les tables et rafraîchit les référentiels. Comptez une à deux minutes ; ne fermez pas la page.

    Tables mises à jour (ordinateur)
    « Base vide importée mise à jour (tables, rôles, référentiel des bulletins, vaccins, natures de frais). »
  5. Créez le compte super administrateur

    Avec la base vide, le compte Genius ICT existe déjà : l'étape « Compte super administrateur » affiche son identifiant (« genius ») et son e-mail (« management@mepesi.com »). Choisissez son mot de passe (10 caractères au moins, confirmé) et touchez « Continuer ». Laissé vide, le mot de passe reste « password » et devra être changé à la première connexion.

    Compte super administrateur (ordinateur)
    Compte super administrateur (téléphone)
    Le seul compte de départ : le super administrateur Genius ICT. Le groupe et les écoles se créent ensuite dans l'espace.

    Installation sur une base neuve Si la base était entièrement vide (sans import), cette étape s'appelle « Compte Genius ICT et première école » : elle demande aussi le groupe scolaire, la première école (nom, code, régime, sections) et l'année scolaire.

  6. Terminez l'installation

    « Dernière étape » rappelle le compte créé et affiche la commande de la tâche cron, avec les chemins du serveur. Créez cette tâche dans cPanel (« Tâches Cron », « Une fois par minute »), puis touchez « Terminer l'installation ».

    Dernière étape de l'installation (ordinateur)
    Dernière étape de l'installation (téléphone)
    La tâche cron à créer (ici la commande d'un poste de développement ; sur l'hébergement, les chemins du serveur), puis « Ensuite ».

    « Installation terminée » : « Masomo Mepesi est installé », « L'assistant d'installation est maintenant verrouillé. » L'adresse /installation n'existe plus (page introuvable).

    Installation terminée (ordinateur)
    L'assistant verrouillé ; « Se connecter » mène à la page de connexion.
  7. Connectez-vous et renseignez le groupe scolaire

    Connectez-vous avec l'identifiant et le mot de passe choisis. Ouvrez « Établissements » : la carte « Groupe scolaire » est ouverte (« Pas encore renseigné : nom du groupe et du promoteur. ») et un cadre annonce « Aucune école pour l'instant ». Remplissez « Nom du groupe scolaire » (obligatoire), « Promoteur », « Téléphone », « E-mail », « Adresse », puis « Enregistrer ».

    Établissements sur une installation neuve (ordinateur)
    Établissements sur une installation neuve (téléphone)
    Une installation neuve : « Aucun tarif d'abonnement fixé », le groupe scolaire à renseigner, « Aucune école pour l'instant ».

    Tant qu'aucune école n'existe, les écrans qui en ont besoin ramènent ici avec un message.

    Écran Personnel sans école (ordinateur)
    Écran Personnel sans école (téléphone)
    « Personnel » ouvert trop tôt : « Aucune école n'est encore créée : commencez par créer l'école et ses sections. »
  8. Créez la première école et ses sections

    Touchez « Ajouter une école » : « Nom de l'école », « Code (2 à 6 lettres) » (Masomo propose les initiales du nom ; il préfixe les matricules), « Nom court », « Régime », ville et coordonnées, puis les « Sections de l'école » (crèche, maternelle, primaire, secondaire). Enregistrez, puis complétez l'en-tête officiel, le logo et les couleurs (voir Les établissements du groupe).

    Nouvelle école (ordinateur)
    Nouvelle école (téléphone)
    Le formulaire « Nouvelle école » : l'identité, puis les sections à cocher.
  9. Créez l'année scolaire

    Ouvrez « Calendrier » : « Aucune année scolaire ». Touchez « Créer l'année 2026-2027 » (le nom suit la date du jour) : trimestres, semestres, périodes et examens sont repris du calendrier officiel, pour chaque école ; les dates restent modifiables (voir Le calendrier scolaire).

    Tant qu'aucune année n'est ouverte, le menu affiche « Aucune année en cours » sous le nom de l'école, avec le lien « Ouvrir l'année scolaire », qui mène au « Calendrier ».

    La notification « Année 2026-2027 créée avec le calendrier officiel. » s'affiche en bas de l'écran.

  10. Fixez le tarif de l'abonnement

    Ouvrez « Abonnement » : « Aucun tarif fixé ». Touchez « Fixer le tarif » et saisissez le prix par élève et par an, la date de comptage (proposée : la fin de la 1re période), l'échéance et le délai de grâce (voir Fixer l'abonnement).

    Tarif de l'abonnement pas encore fixé (ordinateur)
    Tarif de l'abonnement pas encore fixé (téléphone)
    Sans tarif, un rappel « Aucun tarif d'abonnement fixé » s'affiche en haut des écrans de Genius ICT.
  11. Terminez les premiers réglages, dans cet ordre

    • « Classes et options » : les classes de l'année et leurs grilles (voir Classes et options) ;
    • « Personnel », puis les accès de chacun et « Comptes » : promoteur, administration, direction, secrétariat, caisse, comptable, enseignants… (voir Le personnel et Les comptes d'accès) ;
    • « Frais » et taux de change (voir Les frais scolaires) ;
    • « Vitrine », à publier seulement quand les textes sont prêts ;
    • une première « Sauvegarde », téléchargée et ouverte sur un ordinateur (voir Sauvegardes).

Autre voie : avec un accès SSH Écrivez d'abord le .env à la main (APP_ENV=production, APP_DEBUG=false, clé générée par php artisan key:generate), puis lancez php artisan masomo:base-vide --force. La commande crée les tables, charge les données communes et le compte super administrateur (--identifiant=genius par défaut, --nom=…, --email=…). Sans --mot-de-passe=… (12 caractères au moins, avec des lettres et des chiffres), le mot de passe est généré (20 caractères) et affiché une seule fois : notez-le, il devra être changé à la première connexion. L'assistant web est aussitôt verrouillé. La commande refuse une base qui contient déjà des comptes ou des écoles (sauf --vider, qui efface tout). Reprenez ensuite à l'étape 7.

La logique derrière

  • Une base vide, et rien d'autre. L'assistant accepte une base vide, ou une base vide de Masomo importée : sans aucun compte, aucune école, aucun élève. Toute autre base qui contient des tables est refusée : une installation en service n'est jamais touchée.
  • Le fichier de la base vide contient un seul compte : le super administrateur Genius ICT (identifiant « genius » ou l'e-mail « management@mepesi.com », mot de passe par défaut « password »). Ce mot de passe est connu de tous : à la première connexion, Masomo oblige à en choisir un autre, et l'assistant propose de le faire dès l'étape « Compte ».
  • L'installation n'appartient qu'à celui qui l'a commencée. Dès que la base est choisie (étape 3), seul le navigateur qui a commencé peut continuer. Depuis un autre appareil, il faut saisir le mot de passe de la base ; une base sans mot de passe ne permet pas cette reprise.
  • Chaque étape se rejoue. Si l'hébergeur coupe la création des tables, relancez : elle reprend là où elle s'était arrêtée. Importer la base vide plutôt que de laisser l'assistant créer les 137 tables évite d'ailleurs ces coupures.
  • Un verrou définitif. À la fin, un fichier marqueur (storage/app/installed.json) ferme l'assistant : plus aucun compte ne peut être créé par ce chemin. Réinstaller de zéro demande d'effacer ce fichier, le .env et la base : c'est volontairement impossible depuis le web.
  • Des réglages sûrs par défaut. Le .env écrit par l'assistant met Masomo en production, sans débogage (aucun détail technique n'est montré aux visiteurs en cas d'erreur), avec des journaux gardés 14 jours.

Cas pratique

Situation : Genius ICT installe Masomo pour le groupe scolaire Salomon chez un hébergeur cPanel, sans accès SSH. La base « csalomon_masomo » et son utilisateur viennent d'être créés.

  1. Le technicien importe masomo-base-vide.sql dans phpMyAdmin : 150 tables, avec le seul compte Genius ICT.
  2. Il ouvre aussitôt l'adresse du site : « Vérification du serveur », tout est « OK ». Il touche « Continuer : base de données ».
  3. Il tape d'abord, par erreur, le nom de l'ancienne base de test, déjà installée : « Cette base contient déjà une installation de Masomo. Choisissez une base vide (l'installateur ne modifie jamais une base existante). » Il corrige : « csalomon_masomo ».
  4. « Connexion réussie (…, InnoDB). La configuration est enregistrée. » Il touche « Créer les tables » : « Base vide importée mise à jour (…) ».
  5. Il crée le compte genius, avec un mot de passe de 16 caractères rangé dans le gestionnaire de mots de passe de Genius ICT, crée la tâche cron, puis touche « Terminer l'installation ».
  6. Il se connecte, renseigne « Groupe scolaire Salomon » (promoteur M. Salomon Kakule Mbayahi), ajoute l'école « Complexe scolaire Salomon » (code SAL, quatre sections), crée l'année 2026-2027, puis fixe le tarif de l'abonnement (2 $ par élève, comptage le 4 novembre 2026).

Résultat : en une heure, l'école a un espace vide mais prêt ; https://…/installation répond « page introuvable », et le seul compte existant est celui de Genius ICT. L'administration de l'école peut recevoir son compte et commencer les classes et le personnel. La base de l'ancienne installation, elle, n'a pas été touchée : l'assistant l'a refusée avant d'écrire quoi que ce soit.

Bonnes pratiques

  • Enchaînez l'import et l'assistant sans attendre : entre les deux, le premier visiteur du site pourrait commencer l'installation à votre place.
  • Choisissez un mot de passe solide pour le compte Genius ICT et gardez-le dans un gestionnaire de mots de passe : aucun autre compte ne peut le changer depuis l'espace.
  • Activez le certificat SSL (https) avant de donner l'adresse aux écoles ; ensuite, ajoutez SESSION_SECURE_COOKIE=true à la fin du .env et « Vider les caches » (page Maintenance).
  • Avant d'ouvrir aux écoles, passez la liste de contrôle ci-dessous.

Liste de contrôle avant d'ouvrir aux écoles

  • Sécurité : https://votre-site/.env, /vendor/, /storage/logs/ et /composer.json répondent 403 ou 404 ; /installation répond 404 ; une adresse inexistante affiche une page d'erreur simple, sans détail technique ; six essais de connexion ratés déclenchent le blocage temporaire.
  • Comptes : le compte Genius ICT a un mot de passe solide ; chaque personne a son propre compte (aucun compte partagé) ; les comptes de test sont désactivés.
  • Données : aucune donnée de démonstration ; seules les écoles, classes et personnes réelles.
  • Serveur : mot de passe de la base solide, utilisateur limité à cette base ; aucun dossier en 777.
  • Fonctionnement : tâche cron active (dernier passage visible sur la page Maintenance) ; une sauvegarde faite, téléchargée et ouverte sur un ordinateur ; tarif de l'abonnement de l'année fixé (prix par élève et date de comptage).
  • Pour chaque école : groupe scolaire, identité, sections, en-tête officiel (province, code, agrément) vérifiés sur un bulletin imprimé ; logo et couleurs ; année scolaire et calendrier relus ; classes, options, frais et taux saisis ; vitrine publiée seulement si elle est prête ; numéro du support de Genius ICT donné à la direction.

Attention

  • « Corrigez d'abord les points obligatoires signalés en rouge. » Une extension PHP ou un dossier en écriture manque : réglez-le dans cPanel (« Sélectionner une version PHP », droits des dossiers 755 ou 775, jamais 777), puis « Vérifier à nouveau ».
  • « Cette base contient déjà une installation de Masomo. Choisissez une base vide (l'installateur ne modifie jamais une base existante). » La base n'est ni vide ni une base vide de Masomo intacte. Choisissez la bonne base, ou videz celle-ci dans phpMyAdmin et réimportez masomo-base-vide.sql.
  • « Cette base n'est pas vide (… tables). Créez une base vide dans cPanel pour Masomo. » Une autre application utilise cette base : créez-en une pour Masomo.
  • « Utilisateur ou mot de passe refusé par le serveur de base de données. … » ou « La base « … » n'existe pas. … » Sur cPanel, le nom complet de la base et de l'utilisateur est souvent préfixé (« compte_masomo »).
  • « L'utilisateur n'a pas le droit de créer des tables dans cette base. … » Dans cPanel, ajoutez l'utilisateur à la base « avec TOUS LES PRIVILÈGES ».
  • « La création des tables s'est arrêtée : … — Relancez : l'installation reprend là où elle s'était arrêtée. » L'hébergeur a coupé l'opération : touchez de nouveau « Créer les tables ».
  • « Ce n'est pas le mot de passe de la base de données indiquée à l'étape 2. » Vous reprenez l'installation depuis un autre navigateur (page « Reprendre ») : saisissez le mot de passe de la base.
  • « Le texte mot de passe doit contenir au moins 10 caractères. », « La confirmation de mot de passe ne correspond pas. » ou, pour l'identifiant, « Lettres minuscules, chiffres, point, tiret : sans espace ni accent. » Corrigez le compte Genius ICT.
  • Page introuvable sur /installation : Masomo est déjà installé. C'est normal après l'installation.
Base refusée par l'assistant (ordinateur)
Base refusée par l'assistant (téléphone)
Une base déjà installée est refusée : rien n'est écrit, rien n'est effacé.

Questions fréquentes

J'ai perdu le mot de passe du compte Genius ICT. Que faire ?

Par protection, aucun autre compte ne peut modifier un compte Genius ICT depuis l'espace. Avec SSH, Genius ICT peut le réinitialiser sur le serveur. Sans SSH, sur une base de test encore vide, la seule voie est de tout recommencer (effacer storage/app/installed.json et le .env, vider la base, réimporter la base vide). D'où l'importance de garder ce mot de passe dans un gestionnaire de mots de passe.

Peut-on installer sans importer la base vide ?

Oui : avec une base entièrement vide, l'assistant crée lui-même les tables, puis demande à l'étape « Compte » le groupe scolaire, la première école et l'année. La base vide importée est conseillée sur un hébergement qui coupe les opérations longues.

Faut-il créer le fichier .env avant l'assistant ?

Non. C'est l'assistant qui l'écrit, avec une clé de chiffrement neuve et le mot de passe de la base. Seule la voie SSH demande de l'écrire à la main.

Une installation par école ?

Non : une installation par groupe scolaire (promoteur). Un groupe peut compter plusieurs écoles ; chacune reçoit sa propre facture d'abonnement, selon son effectif.

Administration technique Rédigé

Fixer l'abonnement

Fixer le prix par élève et la date de comptage de l'année, laisser Masomo facturer chaque école selon son effectif, enregistrer les paiements.

  • Genius ICT
  • Administration
  • Promoteur

Où : Établissement Abonnement

À quoi ça sert

L'abonnement Masomo est facturé selon l'effectif : un prix par élève et par an (de 1 à 5 USD selon le cadrage), le même pour toutes les écoles de l'installation. Genius ICT fixe ce prix et une date de comptage pour l'année (par exemple la fin de la 1re période). Avant cette date, l'utilisation est libre. Le lendemain, Masomo compte les élèves inscrits et réinscrits actifs de chaque école et émet une facture par école. Une facture complémentaire suit la fin de la 2e période de chaque école, pour les élèves arrivés depuis ; ensuite, plus rien pour l'année.

Genius ICT enregistre les paiements reçus, corrige ou annule une facture avec un motif. L'école, elle, consulte ses factures et les imprime (voir L'abonnement).

Qui l'utilise

  • Genius ICT seul fixe le tarif et gère les factures : « Fixer le tarif », « Aperçu », « Calculer maintenant », « Paiement », « Corriger » et « Annuler » n'existent que pour lui.
  • L'administration et le promoteur voient l'état de l'abonnement de leur école, le tarif, leurs factures (et seulement les leurs) et les impriment en PDF.

Pas à pas

  1. Ouvrez « Abonnement »

    Le bandeau donne l'état de l'école courante : « Utilisation libre jusqu'au comptage », « À jour », « Facture à payer », « Facture échue, délai de grâce », « Facture impayée, consultation seule », ou « Aucun tarif fixé ». Dessous : « Tarif 2026-2027 », « Comptage des élèves » (Genius ICT), « Factures » et, s'il y en a, « Anciens abonnements forfaitaires ». Avec plusieurs écoles, « État par école » donne l'état de chacune. La carte « Crédits de messages (SMS et WhatsApp) » donne le solde de l'école (quota du paquet de l'année, recharges), avec le bouton « Consommation et recharges des écoles » (voir Fournisseurs SMS et WhatsApp).

    Abonnement vu par Genius ICT (ordinateur)
    Abonnement vu par Genius ICT (téléphone)
    L'écran « Abonnement » vu par Genius ICT : état de l'école, tarif de l'année, comptage et factures.
  2. Fixez le tarif de l'année

    Touchez « Fixer le tarif » (« Modifier » s'il existe déjà) et saisissez : « Prix par élève et par an (USD) », « Date de comptage » (Masomo propose la fin de la 1re période), « Échéance (jours après la facture) » (30 par défaut), « Délai de grâce (jours après l'échéance) » (15 par défaut) et des « Notes ». Touchez « Enregistrer le tarif ».

    La notification « Tarif 2026-2027 enregistré : comptage des élèves le 4 novembre 2026. » s'affiche en bas de l'écran.

    Tarif de l'année (ordinateur)
    Tarif de l'année (téléphone)
    Le tarif : prix par élève, date de comptage, échéance et délai de grâce.

    Quand l'année suivante est en préparation, un bouton « Tarif 2027-2028 » permet de fixer son tarif à l'avance.

  3. Vérifiez l'aperçu, puis laissez Masomo compter

    « Aperçu » montre, pour chaque école, le prochain comptage (« Comptage de l'année » ou « Complément »), sa date et l'effectif si l'on comptait aujourd'hui. La tâche du matin émet les factures toute seule. « Calculer maintenant » applique la même règle tout de suite : rien n'est émis avant la date de comptage.

    Aperçu du comptage (ordinateur)
    Aperçu du comptage (téléphone)
    L'aperçu du comptage, école par école.
  4. Enregistrez les paiements

    Sur une facture, touchez « Paiement » : « Date », « Montant » (le reste à payer est proposé), « Mode » (espèces, banque, mobile money, autre), « Référence » (obligatoire, sauf en espèces) et des notes. Une facture peut être payée en plusieurs fois. « Détail » montre l'effectif par section et par classe et les paiements reçus ; « PDF » imprime la facture, avec en annexe la liste des élèves comptés.

    La notification « Paiement enregistré sur facture AB26-0001 : reste 578 $. » s'affiche en bas de l'écran.

    Factures et paiements (ordinateur)
    Factures et paiements (téléphone)
    Une facture payée en partie : payé, reste à payer, détail et PDF.
  5. Corrigez ou annulez si nécessaire

    « Corriger » change le montant dû (remise, erreur) avec un motif : le montant calculé reste affiché. « Annuler » retire la facture avec un motif ; elle reste visible, barrée, et le comptage est refait au passage suivant (le lendemain matin, ou « Calculer maintenant »). Un paiement erroné s'annule de même, avec un motif, depuis « Détail ».

La logique derrière

  • Un tarif par année, pour toute l'installation. Le prix et la date de comptage valent pour toutes les écoles. Une fois des factures émises, ils ne changent plus : on corrige les factures.
  • Qui est compté. Chaque élève inscrit dans une classe de l'année, inscrit au plus tard à la date de comptage et encore actif ce jour-là (un élève sorti après cette date est compté). Une réinscription encore « à confirmer » (paiement attendu) n'est pas comptée : si elle est confirmée ensuite, l'élève entre dans le complément. Un élève seulement identifié, sans classe, n'est pas compté. Un élève n'est facturé qu'une fois par an, même s'il change d'école dans l'installation.
  • Quand. La tâche du matin (06 h 30) compte le lendemain de la date de comptage, puis, pour chaque école, le lendemain de la fin de sa 2e période (trimestres pour la maternelle et le primaire, semestres pour le secondaire : la plus tardive si l'école a les deux). Le complément ne compte que les élèves en plus : il n'est jamais négatif, et un élève compté puis parti reste facturé. Un comptage sans élève à facturer est noté « Rien à payer », sans numéro.
  • Une facture figée. Numéro continu (AB26-0001, AB26-0002…), date, échéance, effectif, prix, montant, détail par section et classe, liste des élèves comptés : rien ne change ensuite, sauf par « Corriger » ou « Annuler », avec motif.
  • Règle D7, école par école. Rappels (bandeau, courriel le jour de la facture, puis 15, 7, 3 et 1 jour(s) avant l'échéance et le jour même) ; après l'échéance, le délai de grâce ; ensuite la consultation seule de l'école concernée, jusqu'au paiement complet. Une école à jour n'est jamais bloquée par l'impayé d'une autre. L'appel, le scan des cartes et le retrait des enfants restent toujours possibles. Rien n'est jamais effacé.
  • Genius ICT n'est jamais bloqué, même quand une école est en consultation seule.
  • Sans tarif. Tant que Genius ICT n'a pas fixé le tarif de l'année, un bandeau le lui rappelle ; les écoles restent modifiables jusqu'à la fin de la 1re période + 30 jours (jamais moins de 30 jours après l'installation, ni avant la fin d'un ancien forfait et de son délai de grâce), puis passent en consultation seule jusqu'à la saisie du tarif.
  • Anciens abonnements forfaitaires. Ils restent affichés en historique. Tant qu'aucun tarif par élève n'est fixé pour l'année, un forfait en cours couvre encore les écoles, avec ses plafonds d'écoles et d'élèves ; dès qu'un tarif est fixé, il le remplace et les plafonds ne s'appliquent plus.
  • Crédits de messages. Le paquet comprend aussi, pour chaque école et chaque année, un quota de crédits pour les SMS et WhatsApp automatiques (10 000 par défaut, réglé dans « Fournisseurs SMS et WhatsApp »). Ce quota expire en fin d'année scolaire ; les recharges payées en plus par l'école sont reportées. Ces recharges ne passent pas par les factures d'abonnement : Genius ICT les enregistre dans Fournisseurs SMS et WhatsApp.
  • Tout est tracé. Tarif, factures émises, paiements, corrections et annulations (avec leur motif) vont au journal d'audit.

Cas pratique

Situation : CS SALOMON, une seule école, compte 539 élèves actifs début novembre 2026. Genius ICT a convenu avec le promoteur d'un prix de 2 $ par élève et par an.

  1. En octobre, Genius ICT ouvre « Abonnement », touche « Fixer le tarif » : 2 $, comptage le 4 novembre 2026 (fin de la 1re période), échéance 30 jours, grâce 15 jours.
  2. Le 5 novembre au matin, Masomo émet la facture AB26-0001 : 539 élèves × 2 $ = 1 078 $, à payer avant le 5 décembre 2026. L'administration et le promoteur reçoivent le courriel et voient le bandeau.
  3. Le 20 novembre, le promoteur paie 500 $ par mobile money : Genius ICT touche « Paiement », mode « Mobile money », référence de la transaction. La facture est « Payée en partie », reste 578 $.
  4. Le 1er décembre, le solde de 578 $ arrive par la banque (bordereau noté en référence) : la facture est « Payée ».
  5. Entre le 5 novembre et la fin de la 2e période (8 février 2027, l'école ayant un secondaire), 12 élèves sont inscrits et un élève compté quitte l'école. Le 9 février 2027, Masomo émet le complément AB26-0002 : 12 élèves × 2 $ = 24 $, à payer avant le 11 mars 2027.

Résultat : CS SALOMON paie 1 078 $ + 24 $ = 1 102 $ pour 2026-2027, soit 551 élèves comptés une fois chacun ; l'élève parti reste sur la première facture. Sans paiement de AB26-0002, l'école passerait en consultation seule le 27 mars 2027 (11 mars + 15 jours de grâce, puis le lendemain).

Bonnes pratiques

  • Fixez le tarif dès l'installation, ou dès que l'année suivante est en préparation.
  • La veille du comptage, ouvrez « Aperçu » et rappelez aux écoles de terminer les inscriptions et les confirmations de réinscription.
  • Notez toujours la référence du paiement (bordereau, transaction mobile money) : elle répond aux questions du promoteur.
  • Pour une remise, utilisez « Corriger » (avec le motif) plutôt qu'« Annuler » : l'effectif compté reste la preuve.

Attention

  • « Des factures sont déjà émises pour 2026-2027 : le prix et la date de comptage ne changent plus. Corrigez ou annulez les factures concernées. » Seuls l'échéance, le délai de grâce et les notes restent modifiables.
  • « La date de comptage doit tomber dans l'année 2026-2027. » Choisissez une date entre le début et la fin de l'année.
  • « Le montant doit être compris entre 0,01 et le reste à payer (…). » Un paiement ne dépasse jamais le reste à payer.
  • « Indiquez la référence (bordereau, transaction mobile money…). » La référence est obligatoire, sauf en espèces.
  • « Des paiements sont enregistrés sur cette facture : annulez-les d'abord. » Annulez les paiements (avec motif) avant la facture.
  • « Le montant ne peut pas être inférieur au déjà payé (…). » Une correction ne descend pas sous les paiements reçus.
  • « Aucune facture à émettre aujourd'hui (date de comptage pas encore passée, ou factures déjà émises). » « Calculer maintenant » ne devance jamais la date de comptage.

Questions fréquentes

Que se passe-t-il pour l'école pendant la consultation seule ?

Tout se consulte et s'imprime (bulletins, reçus, listes), mais aucune modification n'est enregistrée, avec le message « Abonnement non réglé : l'école est en consultation seule. … ». L'appel, le scan des cartes et le retrait des enfants continuent. Dès le paiement complet enregistré par Genius ICT, tout redevient modifiable.

Une école à jour peut-elle être bloquée à cause d'une autre ?

Non. Chaque école a sa facture et son état. Un compte qui travaille dans plusieurs écoles est bloqué seulement quand l'école choisie dans le sélecteur est en consultation seule.

Et si aucun tarif n'est fixé ?

Un bandeau « Aucun tarif d'abonnement fixé » s'affiche pour Genius ICT ; l'espace reste modifiable jusqu'à la date indiquée, puis passe en consultation seule jusqu'à la saisie du tarif.

L'école peut-elle voir ses factures ?

Oui : l'administration et le promoteur les consultent et les impriment dans « Abonnement », sans pouvoir les modifier. Une école ne voit jamais les factures d'une autre.

Administration technique Rédigé

Sauvegardes

Créer et télécharger une sauvegarde complète ; importer, restaurer ou supprimer (Genius ICT) ; la sauvegarde automatique de chaque nuit.

  • Administration
  • Genius ICT

Où : Établissement Sauvegardes

À quoi ça sert

Une sauvegarde est une archive masomo-AAAAMMJJ-HHMMSS-type.zip qui contient tout ce qu'il faut pour remettre l'école dans l'état exact du moment : l'export de la base (élèves, cotes, paiements, comptes…), les pièces des dossiers des élèves, les photos et les logos, et une fiche de contrôle (date, version, nombre de lignes par table, empreinte de l'export).

Masomo en fait une automatiquement chaque nuit (si la tâche cron tourne), et à la demande. Elles restent sur le serveur, à l'abri du web ; il faut en télécharger régulièrement une copie, car une sauvegarde restée chez l'hébergeur disparaît avec lui.

Qui l'utilise

  • L'administration du groupe (Mme Clarisse Kahindo Salama, qui couvre tout le groupe) voit la liste, crée une sauvegarde et la télécharge. Une administration limitée à une seule école n'a pas cet écran : une sauvegarde contient les données de toutes les écoles du groupe.
  • Genius ICT fait de même et, lui seul, supprime une sauvegarde, en importe une depuis l'ordinateur et restaure.
  • Les autres rôles n'ont pas accès à cet écran.

Pas à pas

  1. Ouvrez « Sauvegardes »

    Le bandeau bleu indique la « Dernière sauvegarde » et l'heure de la sauvegarde automatique (« Automatique chaque nuit à 02:30 si la tâche cron est active »), avec le dernier passage du cron. Touchez « Sauvegarder maintenant » pour en créer une tout de suite.

    Sauvegardes vues par Genius ICT (ordinateur)
    Sauvegardes vues par Genius ICT (téléphone)
    Une sauvegarde manuelle du 2 octobre 2026 à 16:00 : 1,6 Mo, toutes les tables, 53 637 lignes, 63 fichiers.

    La notification « Sauvegarde créée : masomo-20261002-160000-manuelle.zip (1,6 Mo). Téléchargez-la et gardez-en une copie hors du serveur. » s'affiche en bas de l'écran.

  2. Téléchargez une copie

    Dans « Sauvegardes disponibles », touchez « Télécharger » sur la ligne voulue. Chaque ligne montre la date, le type (« Automatique », « Manuelle », « Importée », « Avant mise à jour », « Avant restauration »), la taille, le nombre de tables, de lignes et de fichiers, et la version. Rangez l'archive hors du serveur : clé USB, Google Drive.

    Sauvegardes vues par l'administration (ordinateur)
    Sauvegardes vues par l'administration (téléphone)
    L'administration voit, crée et télécharge ; ni suppression, ni restauration.
  3. Restaurer une sauvegarde (Genius ICT)

    Dans « Restaurer une sauvegarde », choisissez la « Sauvegarde à restaurer », recopiez « RESTAURER » en majuscules, saisissez « Votre mot de passe », puis touchez « Restaurer cette sauvegarde » et confirmez.

    Restauration d'une sauvegarde (ordinateur)
    Restauration d'une sauvegarde (téléphone)
    La restauration exige de recopier « RESTAURER » et le mot de passe du compte Genius ICT.

    Tout le monde est déconnecté, vous compris. Sur la page de connexion, la notification « Sauvegarde du 02/10/2026 à 16:00 restaurée. L'état d'avant a été gardé dans « … ». Reconnectez-vous. » s'affiche en bas de l'écran.

  4. Ajoutez une sauvegarde depuis l'ordinateur (Genius ICT)

    « Ajouter une sauvegarde depuis l'ordinateur » : choisissez une archive « masomo-….zip » téléchargée auparavant (ou venant d'un autre serveur) et touchez « Envoyer ». La taille maximale dépend de l'hébergement (ici 100,0 Mo) ; au-delà, déposez l'archive avec le gestionnaire de fichiers de cPanel dans storage/app/backups.

    Ajouter une sauvegarde depuis l'ordinateur (ordinateur)
    Ajouter une sauvegarde depuis l'ordinateur (téléphone)
    L'import, puis le lien « Maintenance et mises à jour ».

    La notification « Sauvegarde ajoutée à la liste : … Vous pouvez maintenant la restaurer. » s'affiche en bas de l'écran.

La logique derrière

  • Tout, en une archive. L'export SQL complet (produit par Masomo, sans outil du serveur, importable tel quel dans phpMyAdmin), les pièces des dossiers et les images. Les sessions et le cache ne sont sauvegardés qu'en structure.
  • Le mot de passe à chaque téléchargement. Télécharger une sauvegarde demande de retaper « Votre mot de passe », chaque fois : une session laissée ouverte ne suffit pas à emporter toute l'école.
  • Sauvegarde automatique. Si la tâche cron tourne : la base chaque nuit, les fichiers (pièces, photos) une fois par semaine. Un bandeau rouge prévient quand la dernière sauvegarde a plus de 48 heures, quand le cron est arrêté ou quand une sauvegarde a échoué. Le total des sauvegardes est plafonné (5 Go par défaut) : au-delà, les plus anciennes sont supprimées. La clé de l'application n'est volontairement pas dans les sauvegardes : Genius ICT la garde à part (déménagement du site).
  • Rotation. Masomo garde 14 sauvegardes automatiques, 20 manuelles, 10 importées et 5 de chaque autre type ; à chaque nouvelle sauvegarde, la plus ancienne de son type est supprimée. Les sauvegardes « Avant mise à jour » et « Avant restauration » sont faites toutes seules.
  • Une restauration sûre. Pendant la restauration, le site est en maintenance. La base en service n'est remplacée qu'à la toute fin, d'un seul coup : si l'hébergeur coupe l'opération avant, rien n'a changé ; après, un bouton « Reprendre la restauration » (ou la page de secours) termine le travail. Les fichiers cachés et les scripts d'une archive ne sont jamais restaurés. Une archive d'une version plus récente que le logiciel est refusée ; une archive d'une autre installation demande de cocher « Je connais l'origine de cette sauvegarde ». Le journal d'audit est vérifié après la restauration.
  • Une restauration se défait. Avant de remplacer quoi que ce soit, Masomo vérifie l'archive (format, empreinte de l'export), puis sauvegarde l'état actuel (« Avant restauration »). En cas d'échec, l'état précédent est rétabli automatiquement.
  • Restaurer remplace tout. La base et les fichiers sont entièrement remplacés : tout ce qui a été saisi depuis la sauvegarde (paiements, cotes, inscriptions) disparaît. C'est pourquoi l'action est réservée à Genius ICT, avec une confirmation forte et le mot de passe.
  • Données sensibles. Une archive contient les données personnelles des élèves et les empreintes des mots de passe : rangez les copies en lieu sûr.
  • Tracé. Création, téléchargement, suppression, import et restauration sont inscrits au journal d'audit (la restauration, dans la base restaurée).

Cas pratique

Situation : vendredi 2 octobre 2026 à 16 h, avant un week-end de travaux électriques à l'école, Mme Clarisse Kahindo Salama veut une copie complète de CS SALOMON hors du serveur.

  1. Elle ouvre « Sauvegardes » et touche « Sauvegarder maintenant ».
  2. « Sauvegarde créée : masomo-20261002-160000-manuelle.zip (1,6 Mo). » La ligne indique aussi le nombre de tables, de lignes (53 637) et de fichiers (63).
  3. Elle touche « Télécharger », copie l'archive sur une clé USB et dans le Google Drive de l'école, puis ouvre le zip sur son ordinateur pour vérifier qu'il se lit.
  4. Lundi, le serveur va bien : rien à faire. Si l'hébergement avait été perdu, Genius ICT aurait installé Masomo ailleurs, importé l'archive avec « Ajouter une sauvegarde depuis l'ordinateur », puis l'aurait restaurée.

Résultat : l'école a une copie datée de 16 h 00. Restaurée, elle remettrait CS SALOMON exactement dans cet état : tout ce qui aurait été saisi après 16 h 00 serait perdu, mais l'état d'avant la restauration serait d'abord gardé dans une sauvegarde « Avant restauration ». Comme c'est la 1re sauvegarde manuelle, aucune ancienne n'est supprimée ; à partir de la 21e, la plus ancienne manuelle l'est.

Bonnes pratiques

  • Téléchargez une sauvegarde au moins chaque semaine, et toujours avant une clôture d'année ou une mise à jour.
  • Ouvrez de temps en temps une archive téléchargée sur un ordinateur : une sauvegarde qu'on n'a jamais ouverte n'est pas une sauvegarde sûre.
  • Vérifiez que la sauvegarde automatique tourne : « dernier passage » du cron récent (voir Maintenance).

Attention

  • « cron jamais exécuté : les sauvegardes automatiques ne sont pas faites. » La tâche cron n'est pas créée ou ne tourne pas : voir la page Maintenance.
  • « La sauvegarde a échoué : … » Souvent un manque de place ou de temps chez l'hébergeur : réessayez, puis appelez Genius ICT.
  • « Recopiez exactement « RESTAURER » en majuscules. » ou « Mot de passe incorrect. » Corrigez la confirmation ou le mot de passe.
  • « Format de fichier refusé : choisissez un fichier zip. » Seule une archive « masomo-….zip » s'importe.
  • Mention « archive illisible » sur une ligne : l'archive est abîmée ou n'est pas une sauvegarde Masomo ; ne la restaurez pas.

Questions fréquentes

Une sauvegarde contient-elle les photos et les pièces des élèves ?

Oui : les pièces des dossiers, les photos et les logos sont dans l'archive, avec la base. Elle peut donc être lourde : téléchargez-la sur une bonne connexion.

Pourquoi la direction ne voit-elle pas cet écran ?

Les sauvegardes contiennent toutes les données de l'école et les empreintes des mots de passe : elles sont réservées à l'administration et à Genius ICT.

Peut-on restaurer seulement un élève ou un reçu ?

Non : une restauration remplace toute l'école. Pour une erreur isolée, corrigez-la dans l'écran concerné (annulation de reçu, correction de cote) : la correction est tracée.

Administration technique Rédigé

Maintenance et mises à jour

Appliquer une nouvelle version, vider les caches, vérifier la tâche cron et l'intégrité du journal d'audit.

  • Genius ICT

Où : Établissement Maintenance

Aussi : lien « Maintenance et mises à jour » en bas de « Sauvegardes », ou l'adresse /espace/maintenance

À quoi ça sert

Quand Genius ICT publie une nouvelle version, il la téléverse sur l'hébergement puis la met en service depuis cette page, sans ligne de commande : mise à jour de la base, rôles et référentiels, caches. La page montre aussi la version installée, la dernière sauvegarde, la tâche cron et les informations du serveur.

Elle a son propre gabarit : elle reste utilisable même si une mise à jour en attente empêche le reste de l'espace de s'afficher.

« Mise à jour de la base à appliquer ». Si les fichiers d'une nouvelle version ont été téléversés sans « Appliquer la mise à jour », un écran qui a besoin d'une table ou d'une colonne nouvelle n'affiche plus d'erreur technique : il affiche cette page, avec le nombre de migrations en attente. Genius ICT et les comptes qui gèrent la maintenance y trouvent le bouton « Ouvrir Maintenance » ; les autres comptes lisent « Prévenez l'administration ou Genius ICT, puis réessayez dans quelques minutes ». Lancez alors « Appliquer la mise à jour » ici, puis touchez « Réessayer ».

Qui l'utilise

  • Genius ICT seul. L'administration de l'école n'a pas accès à cette page.

Pas à pas

  1. Ouvrez la page de maintenance

    En haut : « Version installée : … » et un badge, « Base à jour » ou « … mise(s) à jour de la base en attente » avec leur liste. Dessous : « Sauvegardes » (la dernière, et le lien « Gérer les sauvegardes »), « Tâches planifiées (cron) » et « Serveur ».

    Page de maintenance (ordinateur)
    Page de maintenance (téléphone)
    La mise à jour en deux étapes : « 1. Préparer » (maintenance et sauvegarde), puis « 2. Appliquer la mise à jour » ; ici « Base à jour » sur un poste de test.
  2. Mettez à jour après un téléversement

    Après avoir téléversé et décompressé le paquet de mise à jour (masomo-x.y.z-mise-a-jour.zip, en écrasant les fichiers : le .env, les .htaccess, les fichiers des écoles et le marqueur d'installation ne sont pas dans ce paquet, rien n'est remplacé ; le paquet d'installation, lui, remplacerait les .htaccess et la version PHP choisie dans cPanel), la mise à jour se fait en deux étapes :

    1. « 1. Préparer » : laissez cochée « Sauvegarder la base et les fichiers avant » et touchez « Mettre le site en maintenance et sauvegarder ». Le site affiche une page de maintenance aux utilisateurs pendant l'opération.
    2. « 2. Appliquer la mise à jour » : touchez « Mettre à jour maintenant ». Les tables, les rôles, les référentiels et les caches sont mis à jour, les .htaccess de la nouvelle version sont appliqués en gardant la version PHP réglée dans cPanel, puis le site rouvre. Les fichiers devenus inutiles de l'ancienne version ne sont pas retirés à cette étape : voyez ensuite la section « Fichiers d'anciennes versions » (bouton « Supprimer ces fichiers », après lecture de la liste). Si l'étape 1 n'a pas été faite, l'écran prévient : « L'étape 1 n'a pas été faite dans cette session : la mise à jour se fera sans sauvegarde ni mode maintenance. »

    La notification « … mise(s) à jour de la base appliquée(s). Sauvegarde préalable : masomo-…-avant-maj.zip. Le site est rouvert. » (ou « La base était déjà à jour ; données de référence et caches rafraîchis. ») s'affiche en bas de l'écran. Un « Compte rendu » détaille l'opération.

  3. Vérifiez la tâche cron

    « Tâches planifiées (cron) » rappelle la commande à créer dans cPanel (« Tâches Cron », « Une fois par minute »), avec les chemins du serveur, et la date du « Dernier passage du cron ». Sans passage récent, les sauvegardes automatiques ne sont pas faites.

    Dessous, « Exécution des tâches » dit si la fonction PHP proc_open est disponible pour le cron et comment les tâches tournent (chacune dans son processus, ou dans le processus du cron quand l'hébergeur la désactive : rien à régler). Un tableau donne, pour chaque tâche (sauvegarde de nuit, vérification du journal, purges, alertes, envoi des courriels…), sa dernière exécution réelle, sa durée, son résultat (« réussie » ou « échec » avec le message) et sa dernière réussite. « Pas lancée à l'heure prévue » signale une tâche qui n'a pas tourné.

    Tâche cron et dernier passage (ordinateur)
    Tâche cron et dernier passage (téléphone)
    « Dernier passage du cron : 02/10/2026 à 16:00 » : la tâche tourne.
    Exécution des tâches planifiées (ordinateur)
    Exécution des tâches planifiées (téléphone)
    « Exécution des tâches » : proc_open disponible, chaque tâche dans son processus ; la sauvegarde de nuit a tourné à 02:30 (27,9 s), la vérification du journal à 02:50… La vérification complète du dimanche n'a encore jamais tourné (« jamais ») : ce n'est pas une erreur, elle n'était pas encore prévue.
  4. Lisez les informations du serveur

    « Serveur » donne la version de PHP et de Laravel, la base de données, la mémoire, la taille maximale des envois, l'environnement et la date d'installation. « Vider les caches » sert après une modification du .env (adresse du site, passage en https).

    Informations du serveur (ordinateur)
    Informations du serveur (téléphone)
    Sur un poste de test : « local (débogage ACTIVÉ) ». En service, l'environnement doit être « production », sans débogage. La ligne « Fuseau horaire » donne l'heure du site et celle de la base ; « Clé du journal », l'empreinte de la clé qui signe le journal.
  5. Vérifiez l'intégrité du journal d'audit

    Le journal d'audit se vérifie depuis l'espace (« Journal d'audit », bouton « Vérifier l'intégrité » : voir Le journal d'audit). Avec un accès SSH, Genius ICT peut aussi lancer sur le serveur :

    php artisan masomo:journal-verifier

    « Journal intact : … trace(s) vérifiée(s). » avec l'empreinte de la dernière trace, ou « Rupture à l'entrée n° … » suivi de l'explication. La commande se termine en succès si le journal est intact, en échec sinon ; la vérification est elle-même inscrite au journal (auteur : Masomo, appareil : « Ligne de commande »).

La logique derrière

  • Toujours une sauvegarde avant. La case « Sauvegarder la base et les fichiers avant » crée une sauvegarde « Avant mise à jour » : en cas de problème, on réextrait l'ancien paquet et on restaure cette sauvegarde.
  • Deux étapes, deux requêtes courtes. Sur un hébergement mutualisé, une requête trop longue est coupée : la mise en maintenance et la sauvegarde d'abord, les migrations ensuite. Si la page ne répond plus pendant une mise à jour, la page de secours prend le relais.
  • La page de secours. Une adresse secrète, /secours/ suivie du jeton MASOMO_MAINTENANCE_TOKEN du fichier .env (48 caractères), fonctionne même quand le site est en maintenance ou que l'espace école ne s'ouvre plus : elle permet de terminer une mise à jour, de reprendre une restauration ou de lever la maintenance, sans compte. Tant que le jeton n'est pas dans le .env, l'écran l'indique (« Page de secours désactivée »). Si le mot de passe Genius ICT est perdu, la page /secours-genius demande de déposer un fichier vide avec cPanel (preuve d'accès à l'hébergement, valable 1 heure), puis de choisir un nouveau mot de passe ; l'opération est tracée.
  • Le fuseau horaire. Masomo travaille à l'heure de la RDC choisie à l'installation (Kinshasa ou Lubumbashi) ; la rubrique « Serveur » affiche le fuseau, l'heure du site et celle de la base. Il se change dans le fichier .env (APP_TIMEZONE=Africa/Kinshasa ou Africa/Lubumbashi), puis « Vider les caches ».
  • Un journal signé. Les empreintes du journal d'audit sont signées avec une clé gardée hors de la base (« Clé du journal ») : elle doit rester la même après un déménagement du site. L'empreinte de tête est notée chaque jour (et envoyée par courriel si un envoi est configuré) ; le journal est vérifié chaque nuit, une chaîne par école.
  • Ce que fait la mise à jour : les tables nouvelles ou modifiées (migrations), le rechargement des rôles et permissions et des référentiels (bulletins, vaccins, natures de frais), puis le vidage des caches (configuration, adresses, pages, permissions, OPcache).
  • Domaine propre d'une école. Une école peut avoir sa vitrine sur son propre nom de domaine (ex. csamani.cd) au lieu de /ecole/…. Genius ICT le prépare dans cPanel : « Domaines » (ou « Alias » / « Domaines supplémentaires » selon la version) → ajouter le domaine sur la même racine de document que Masomo (le dossier public, ou celui de Masomo), sans créer de nouveau dossier ; faire pointer le DNS du domaine vers l'hébergement ; puis « SSL/TLS Status » → « Run AutoSSL » jusqu'au cadenas vert (la vitrine est annoncée en https://). Ensuite seulement, l'école saisit le domaine dans « Vitrine » → « Mise en ligne et adresse » → « Nom de domaine de l'école ». Vérifier que https://csamani.cd affiche la vitrine. Ne pas toucher APP_URL ni SESSION_DOMAIN : l'espace école et la connexion restent sur l'adresse principale de Masomo (docs/deploiement.md, § 8.4).
  • Une page qui ne dépend pas du reste. Juste après un téléversement, l'accueil peut afficher une erreur tant que la base n'est pas à jour : tapez directement /espace/maintenance.
  • Le cron fait le travail de nuit : sauvegarde automatique à 02 h 30 avec rotation, nettoyage des fichiers temporaires à 03 h 30, purge des jetons expirés, alertes par courriel à 07 h 00 (sauvegardes, rappels d'abonnement), et chaque minute l'envoi des courriels en file. Chaque passage laisse un témoin, affiché ici. Le témoin ne suffit pas : chaque tâche note sa dernière exécution réelle, et l'accueil de Genius ICT signale une tâche en échec, une tâche qui n'a pas tourné à l'heure prévue ou des courriels qui attendent depuis plus de 15 minutes.
  • Le journal se vérifie de bout en bout. Chaque trace porte une empreinte liée à la précédente ; la vérification recalcule toute la chaîne. La commande peut être lancée par une tâche planifiée : son code de sortie dit si le journal est intact.

Cas pratique

Situation : Genius ICT publie la version 1.1.0 et doit l'installer chez CS SALOMON, un samedi à 7 h, avant l'arrivée de la caisse.

  1. Dans « Sauvegardes », il touche « Sauvegarder maintenant », puis « Télécharger » : l'archive est sur son ordinateur.
  2. Dans le gestionnaire de fichiers de cPanel, il téléverse masomo-1.1.0-mise-a-jour.zip (le paquet de mise à jour, sans .htaccess) dans le dossier de Masomo, l'extrait en écrasant les fichiers, puis supprime l'archive.
  3. Il ouvre /espace/maintenance : « Version installée : 1.1.0 » et, par exemple, « 2 mise(s) à jour de la base en attente », avec leur liste.
  4. Il laisse cochée « Sauvegarder la base et les fichiers avant » et touche « Mettre à jour maintenant » : « 2 mise(s) à jour de la base appliquée(s). Sauvegarde préalable : masomo-…-avant-maj.zip. »
  5. Il vérifie l'accueil, la liste des élèves et la caisse, puis, en SSH, lance php artisan masomo:journal-verifier : « Journal intact ».

Résultat : à 7 h 20, CS SALOMON tourne en 1.1.0, sans aucune donnée perdue : le paquet ne contient ni le .env, ni les fichiers des écoles. Si une vérification avait échoué, il aurait réextrait le paquet 1.0.0 et restauré la sauvegarde « Avant mise à jour » : l'école serait revenue à 7 h 00 exactement.

Bonnes pratiques

  • Mettez à jour hors des heures de caisse et de saisie des cotes.
  • Téléchargez la sauvegarde d'avant mise à jour sur votre ordinateur avant de commencer.
  • Après chaque mise à jour, vérifiez trois écrans : l'accueil, les élèves, la caisse.
  • Vérifiez le dernier passage du cron chaque semaine : moins de 2 minutes.

Attention

  • « La mise à jour s'est arrêtée : … — Sauvegarde d'avant la mise à jour : … » Relancez « Mettre à jour maintenant » ; si l'erreur persiste, réextrayez l'ancien paquet et restaurez la sauvegarde indiquée.
  • « Le cron n'a encore jamais tourné : les sauvegardes automatiques ne sont pas faites. » Créez ou corrigez la tâche cron (chemin de PHP 8.3 et chemin d'artisan) ; le courriel d'erreur de cPanel aide à trouver la cause.
  • « Environnement : … (débogage ACTIVÉ) » sur un serveur en service : corrigez le .env (APP_DEBUG=false), puis « Vider les caches ».
  • « Rupture à l'entrée n° … » à la vérification du journal : prévenez aussitôt le promoteur et l'administration ; comparez avec l'empreinte du dernier PDF du journal, et cherchez qui a eu accès à la base.

Questions fréquentes

La page affiche une erreur juste après le téléversement : est-ce grave ?

Non, c'est le cas attendu tant que la base n'est pas à jour : ouvrez /espace/maintenance et lancez la mise à jour.

Peut-on revenir à la version précédente ?

Oui : réextrayez l'ancien paquet, puis restaurez la sauvegarde « Avant mise à jour » (page Sauvegardes).

À quoi sert « Vider les caches » ?

Après une modification du .env (adresse du site, passage en https, cookie sécurisé), ou si une page garde un ancien affichage. Rien n'est effacé des données de l'école.

Administration technique Rédigé

Courriels

Régler le serveur d'envoi des courriels (mot de passe oublié, approbations, alertes, reçus, bulletins…) et suivre le journal d'envoi.

  • Genius ICT
  • Administration (journal, en lecture)

Où : Établissement Courriels

Aussi : étape facultative à la fin de l'installation, ou l'adresse /espace/courriels

À quoi ça sert

Masomo envoie des courriels dans quatre catégories : comptes et sécurité (compte créé, mot de passe changé ou réinitialisé, compte verrouillé, connexion depuis un nouvel appareil : un autre navigateur ou un autre système, pas un simple changement de réseau, wifi ou données mobiles), approbations (demandes à approuver et décisions), alertes d'exploitation (sauvegardes, cron, journal d'audit, mises à jour, abonnement) et familles et personnel (reçus, bulletins, préinscriptions, congés, bulletins de paie).

Aucun courriel n'est envoyé tant que le serveur d'envoi n'est pas réglé : le journal d'envoi note alors « Non envoyé », pour voir ce qui serait parti.

Qui l'utilise

  • Genius ICT règle le serveur d'envoi, envoie l'e-mail de test et relance les échecs.
  • L'administration consulte le journal d'envoi de ses écoles, en lecture seule.
  • Chaque utilisateur ajoute son adresse e-mail et choisit ses catégories dans « Mon profil », rubrique « Notifications par courriel ». Les alertes de sécurité importantes sont toujours envoyées.

Pas à pas

  1. Réglez le serveur d'envoi

    Onglet « Réglage » : saisissez le serveur SMTP (par exemple mail.votre-domaine.cd dans cPanel, « Comptes de messagerie » › « Connecter les appareils »), le port (465 avec SSL ou 587 avec TLS), l'utilisateur (souvent l'adresse complète), le mot de passe, l'adresse et le nom d'expéditeur. Touchez « Enregistrer ».

    Le mot de passe est chiffré dans la base et n'est jamais réaffiché : laissez le champ vide pour garder l'ancien.

    Réglage du serveur d'envoi (ordinateur)
    Réglage du serveur d'envoi (téléphone)
    Le serveur d'envoi de CS SALOMON : mail.cs-salomon.cd, port 465 avec SSL, expéditeur masomo@cs-salomon.cd. En haut, le rappel « Envoi des courriels actif » avec la date du dernier e-mail de test réussi.
  2. Envoyez un e-mail de test

    Saisissez votre adresse sous « Envoyer un e-mail de test à » et touchez « Envoyer un e-mail de test ». Il part tout de suite avec les valeurs de l'écran, même avant de les enregistrer. En cas d'erreur, le message explique la cause (serveur, port, identifiants refusés…).

    Envoi d'un e-mail de test (ordinateur)
    Envoi d'un e-mail de test (téléphone)
    « Envoyer un e-mail de test à » : l'adresse de Genius ICT est proposée ; le test part avec les valeurs affichées, même avant « Enregistrer ».
  3. Suivez le journal d'envoi

    Onglet « Journal d'envoi » : chaque courriel avec sa catégorie, son destinataire, son objet et son statut (« En file », « Envoyé », « Échec », « Non envoyé »), filtrable par statut, catégorie et école. Un courriel en échec est réessayé trois fois ; ensuite, « Relancer les échecs » le remet en file.

    Journal d'envoi des courriels (ordinateur)
    Journal d'envoi des courriels (téléphone)
    Le journal du 2 octobre : les compteurs des 30 derniers jours (en file, envoyés, en échec, non envoyés), puis chaque courriel avec sa catégorie et son statut. Les deux premiers, du 29 septembre, sont « Non envoyé » : le serveur d'envoi n'était pas encore réglé.

La logique derrière

Les courriels ne partent pas pendant l'action : ils sont mis en file d'attente puis envoyés par la tâche cron, chaque minute. Une panne du serveur d'envoi ne bloque donc jamais un encaissement, une approbation ou une connexion. Il faut pour cela QUEUE_CONNECTION=database dans le .env (valeur écrite par l'installation depuis la version 1.1) ; avec l'ancienne valeur « sync », l'écran le signale et les courriels partent pendant l'action, plus lentement.

Aucun mot de passe n'est jamais envoyé par courriel : à la création d'un compte, seul l'identifiant est donné ; le mot de passe provisoire est remis par l'école.

Attention

  • « Aucun courriel n'est envoyé tant que ce réglage n'est pas fait. » Le serveur d'envoi n'est pas réglé : rien ne part, et le « mot de passe oublié » renvoie vers l'école.
  • Des courriels restent « En file » : vérifiez la tâche cron (voir Maintenance).
  • Après un changement de la clé de l'application (APP_KEY), le mot de passe SMTP enregistré n'est plus lisible : saisissez-le de nouveau.

Questions fréquentes

Les courriels arrivent dans les indésirables. Que faire ?

Utilisez une adresse d'expéditeur du domaine de l'école, et activez SPF et DKIM dans cPanel (« Délivrabilité des e-mails »).

Un parent ne reçoit rien.

Vérifiez son adresse dans la fiche parent ou dans son compte, puis cherchez-la dans le journal d'envoi : « Échec » donne la raison.

Administration technique Rédigé

Fournisseurs SMS et WhatsApp

Régler les comptes d'envoi de Genius ICT (SMS et WhatsApp Business), fixer les coûts et le quota de crédits, enregistrer les recharges des écoles et suivre leur consommation.

  • Genius ICT

Où : Établissement Fournisseurs SMS et WhatsApp

Aussi : Abonnement « Consommation et recharges des écoles »

À quoi ça sert

Les écoles n'ont pas de compte chez un fournisseur de SMS ou de WhatsApp : c'est Genius ICT qui a les comptes et revend des crédits de messages. Cet écran règle ces comptes, le prix des messages en crédits, le quota compris dans le paquet de chaque école, les recharges payées par les écoles, et montre la consommation de toutes les écoles. Chaque école choisit ensuite ses messages automatiques (voir La messagerie automatique).

Qui l'utilise

Genius ICT seul. L'administration de l'école voit son solde dans « Messagerie automatique » et dans « Abonnement », jamais les clés ni les autres écoles.

Pas à pas

  1. Réglez les fournisseurs

    Onglet « Fournisseurs ». Pour les SMS, choisissez le « Fournisseur » : « Aucun (liens WhatsApp manuels) », « Africa's Talking » ou « Journal (factice, aucun envoi réel) ». Avec Africa's Talking : « Nom d'utilisateur », « Clé API », « Nom d'expéditeur » (facultatif, à faire approuver pour la RDC) et, pour les essais, « Bac à sable (sandbox) ». Pour WhatsApp, « WhatsApp Business (Cloud API de Meta) » : « Identifiant du numéro (Phone number ID) », « Version de l'API Graph », « Jeton d'accès » (permanent), « Secret de l'application » et « Jeton de vérification du webhook ». Touchez « Enregistrer les fournisseurs ».

    Copiez ensuite chez le fournisseur l'adresse affichée : « Adresse des accusés de remise (Delivery Reports) » pour Africa's Talking, « Adresse du webhook (accusés de remise et de lecture) » pour Meta. Sans elle, les messages restent « Envoyé » et ne passent jamais « Remis » ni « Lu ».

    Réglage du fournisseur SMS (ordinateur)
    Réglage du fournisseur SMS (téléphone)
    « Africa's Talking » choisi pour les SMS : nom d'utilisateur, clé API, nom d'expéditeur et bac à sable.

    La notification « Fournisseurs enregistrés. Les messages partent par la file d'attente (cron chaque minute). » s'affiche en bas de l'écran. Les coûts et les recharges confirment de la même façon.

  2. Envoyez un message d'essai

    Toujours dans l'onglet « Fournisseurs », sous « Enregistrer les fournisseurs », bloc « Envoyer un message d'essai » : choisissez le « Canal » (SMS ou WhatsApp), saisissez le « Numéro » avec l'indicatif du pays et, pour WhatsApp, le « Modèle Meta » et la « Langue du modèle » (par défaut masomo_message en fr ; pour un premier essai sur un compte de test Meta, hello_world en en_US). Touchez « Envoyer l'essai ».

    Le message part tout de suite avec les clés enregistrées, sans consommer de crédits d'école. « Essais récents » montre ensuite l'état reçu du fournisseur (« Envoyé », « Remis », « Lu » ou « Échec ») ; touchez « Actualiser les accusés » pour le mettre à jour.

    « Accepté » avec l'identifiant donné par le fournisseur, ou « Refusé » avec son message et son code (par exemple « code 190 » : jeton Meta refusé ou expiré).

  3. Fixez les coûts et le quota

    Onglet « Coûts » : « Crédits par segment SMS », « Crédits par message WhatsApp », « Crédits en plus pour un PDF joint » (1 par défaut), « Quota du paquet (par école et par année) » (10 000 par défaut), « Alerte de solde bas (crédits) » (500 par défaut) et « Prix d'un crédit (USD) ». Touchez « Enregistrer les coûts ».

    Coûts en crédits et quota du paquet (ordinateur)
    Coûts en crédits et quota du paquet (téléphone)
    Les coûts en crédits, le quota du paquet (10 000 par école et par année), l'alerte de solde bas et le prix d'un crédit.
  4. Associez les modèles Meta

    Onglet « Modèles Meta » : pour chaque événement (ou « Par défaut (tous les messages) »), le « Nom du modèle » approuvé par Meta, ses « Paramètres dans l'ordre » (par exemple ecole, message), le code de langue Meta par langue du parent et, pour les résultats, un « Modèle avec PDF ». Sans réglage, tout part par le modèle masomo_message. Touchez « Enregistrer les modèles ».

    Modèles Meta (ordinateur)
    Modèles Meta (téléphone)
    Pour chaque événement, le modèle approuvé par Meta, ses paramètres et le code de langue de chaque langue du parent.
  5. Enregistrez une recharge

    Onglet « Crédits des écoles » : choisissez l'« École », le « Type » (« Recharge », « Ajustement », ou « Quota du paquet de l'année (remplace) »), les « Crédits », le « Montant payé » et sa devise, la « Référence du paiement » et la « Date ». Un ajustement demande un « Motif » (crédits négatifs pour retirer). Touchez « Enregistrer ». La liste dessous garde chaque recharge, avec son auteur.

    Enregistrer des crédits (ordinateur)
    Enregistrer des crédits (téléphone)
    Le formulaire de recharge, puis la liste des crédits déjà accordés (ici le quota du paquet 2026-2027 de CS SALOMON).

    « Recharge enregistré(e) : 5 000 crédits. »

  6. Suivez la consommation

    Onglet « Consommation » : pour chaque école, le quota de l'année et les recharges (reste / reçu), le total consommé, les SMS et WhatsApp du mois (dont ceux en échec), et le « Solde » en vert, orange (bas) ou rouge (épuisé). « Recharger » et « Quota » ouvrent l'onglet des crédits pour cette école.

    Consommation des crédits par école (ordinateur)
    Consommation des crédits par école (téléphone)
    Pour chaque école, le quota, les recharges, le total consommé et le solde, avec « Recharger » et « Quota ».

La logique derrière

  • Des comptes centraux. Un seul compte SMS et un seul compte WhatsApp pour toute l'installation ; les écoles consomment des crédits. Les clés sont chiffrées et jamais réaffichées : un champ laissé vide garde la clé enregistrée, « Effacer » la retire. Le journal d'audit note « clé modifiée » ou « clé effacée », jamais la clé.
  • Quota, puis recharges. Le quota du paquet est accordé automatiquement à chaque école pour l'année en cours (« Quota » le remplace pour une école). Il expire en fin d'année scolaire ; les recharges ne se perdent jamais et sont reportées. Le quota est consommé en premier, puis les recharges, les plus anciennes d'abord. Un ajustement négatif se retire dans le même ordre.
  • Modèles WhatsApp obligatoires. Un message que l'école envoie la première doit utiliser un modèle approuvé par Meta (catégorie « Utilité »), dans chaque langue déclarée. Le kiswahili utilise sw ; le français, le lingala, le kikongo et le tshiluba utilisent fr par défaut.
  • Accusés vérifiés. Les accusés de Meta sont vérifiés par leur signature (secret de l'application) ; l'adresse des accusés d'Africa's Talking contient un jeton secret. Un WhatsApp non remis rend ses crédits à l'école.
  • Démonstration. Sur l'installation de démonstration, rien ne part réellement (pilote « Journal ») et le réglage des fournisseurs est refusé ; un message d'essai est seulement noté.
  • Tout est tracé. Fournisseurs, coûts, modèles, quotas, recharges, ajustements et messages d'essai vont au journal d'audit, jamais une clé.

Cas pratique

Situation : en mars 2027, CS SALOMON a presque épuisé son quota de 10 000 crédits ; « À traiter » affiche « Crédits de messages bas : 120 ». Le promoteur paie 50 $ par mobile money pour 5 000 crédits.

  1. Genius ICT ouvre « Fournisseurs SMS et WhatsApp », onglet « Consommation » : CS SALOMON est en orange, « Solde 120 ».
  2. Il touche « Recharger » sur sa ligne : l'école est choisie, le type est « Recharge ».
  3. Il saisit 5 000 crédits, 50 USD, la référence de la transaction et la date, puis touche « Enregistrer ».
  4. Le solde passe à 120 + 5 000 = 5 120 crédits ; l'alerte de l'école disparaît.

Résultat : l'école consomme d'abord les 120 crédits restants du quota 2026-2027, puis la recharge. Ce qui restera de la recharge en fin d'année sera reporté sur 2027-2028 ; le reste du quota, lui, expirera.

Bonnes pratiques

  • Essayez d'abord avec « Bac à sable (sandbox) » ou le fournisseur « Journal », puis passez au compte réel ; à chaque changement de clé, envoyez un message d'essai avant de laisser partir les messages des écoles.
  • Faites approuver les modèles Meta avant d'activer WhatsApp : un modèle refusé fait échouer les envois.
  • Notez toujours la référence du paiement d'une recharge.

Attention

  • « Réglage enregistré, mais il manque la clé API Africa's Talking : ce canal ne part pas tant qu'elle n'est pas saisie. » Saisissez la clé (ou le jeton d'accès Meta), puis enregistrez de nouveau.
  • « Nom d'expéditeur : 11 lettres ou chiffres au plus (approuvé par Africa's Talking). » Raccourcissez le nom, ou laissez-le vide.
  • « Indiquez la référence du paiement (bordereau, transaction mobile money…). » Une recharge avec un montant demande sa référence.
  • « Indiquez le motif de l'ajustement. » Un ajustement se justifie toujours.

Questions fréquentes

Une école peut-elle avoir son propre compte SMS ?

Non. Les comptes sont ceux de Genius ICT ; l'école achète des crédits.

Les messages restent « Envoyé » et ne passent jamais « Remis ».

L'adresse des accusés n'est pas réglée chez le fournisseur : copiez celle de l'onglet « Fournisseurs » dans Africa's Talking ou dans Meta.

Administration technique Rédigé

Le référentiel officiel

Importer une nouvelle version des bulletins officiels (nouvelle circulaire), applicable à partir d'une année, après l'aperçu des différences.

  • Genius ICT

Où : Établissement Référentiel officiel

Aussi : lien « Maintenance » en haut de l'écran

À quoi ça sert

Le référentiel officiel contient les 107 modèles de bulletins nationaux : pour chaque niveau et chaque option, les branches, leur ordre, leurs domaines, leurs sous-totaux et leurs maxima. Chaque nouvelle classe reçoit sa grille de là.

Quand le ministère publie une circulaire qui change des bulletins, Genius ICT l'importe comme une nouvelle version, applicable à partir d'une année scolaire. Les classes déjà créées gardent leur grille ; les années passées ne changent pas.

Qui l'utilise

  • Genius ICT seul importe et retire une version (il prépare le fichier au format du référentiel d'origine).
  • Les directions en voient l'effet : les nouvelles classes de l'année concernée reçoivent la nouvelle grille, et « Grilles de l'année suivante » compare leurs grilles à la grille officielle applicable.

Pas à pas

  1. Ouvrez « Référentiel officiel »

    « Versions » liste chaque version : son année de départ, son nombre de modèles et de classes qui l'utilisent, qui l'a importée et quand, et les badges « version initiale » et « en vigueur cette année ».

    Versions du référentiel (ordinateur)
    Versions du référentiel (téléphone)
    Une seule version : « Référentiel 2026-2027 (version initiale) », 107 modèles, utilisée par 50 classes.
  2. Envoyez le fichier et voyez les différences

    Dans « Importer une nouvelle version », choisissez le « Fichier du référentiel (.json) » et l'année « Applicable à partir de », puis touchez « Voir les différences ».

    Aperçu avant l'import (ordinateur)
    Aperçu avant l'import (téléphone)
    107 modèles et 2184 branches comparés à la version initiale : 0 nouveau, 2 modifiés, 0 retiré, 105 identiques.

    « Aperçu avant l'import » : le nombre de modèles et de branches, puis les badges « nouveau », « modifiés », « retiré », « identiques ».

  3. Ouvrez chaque modèle modifié

    Touchez un modèle modifié (« Primaire · 5e année · 1 branche ajoutée · 1 branche modifiée ») : chaque branche « nouvelle », « retirée » ou « modifiée » s'affiche, avec ses maxima avant et après. Les « Nouveaux bulletins » et les « Bulletins absents de la nouvelle version » sont listés à part.

    Détail d'un modèle modifié (ordinateur)
    Détail d'un modèle modifié (téléphone)
    5e primaire : « Éducation numérique » nouvelle (période 10, examen 20) ; « Technologie » modifiée (période 10 → 20, examen 20 → 40).
  4. Nommez et enregistrez la version

    Vérifiez « Applicable à partir de », tapez le « Nom de la version » (« Circulaire 2027 : éducation numérique ») et, si besoin, des « Remarques ». Touchez « Enregistrer la version ».

    Version enregistrée (ordinateur)
    « Version « Circulaire 2027 : éducation numérique » enregistrée : elle s'applique aux classes créées à partir de 2027-2028. »

    Une version que personne n'utilise encore se retire avec « Retirer ».

    Deux versions du référentiel (ordinateur)
    Deux versions du référentiel (téléphone)
    La circulaire, à partir de 2027-2028 (0 classe, « Retirer » possible), au-dessus de la version initiale.

La logique derrière

  • Une version par circulaire, applicable à partir d'une année. Le modèle d'une classe est cherché dans la version applicable à son année (la plus récente dont l'année de départ n'est pas postérieure) ; à défaut, dans les versions précédentes.
  • Les classes existantes ne bougent jamais. Leur grille est une copie. Pour une classe de l'année suivante déjà créée avant l'import, la direction choisit « Appliquer la grille officielle » dans « Grilles de l'année suivante », tant que la classe n'a pas de cotes.
  • Une année ne prend qu'une version. « Applicable à partir de » ne propose que l'année en cours et les suivantes qui n'ont pas encore de version : 2027-2028 prise, le choix suivant devient 2028-2029.
  • Rien sans aperçu. Le fichier est contrôlé (format, code de chaque modèle, cycle, années, branches) et comparé à la version qu'il remplace avant tout enregistrement ; un fichier incomplet est refusé avec la liste des problèmes.
  • Retrait limité. La version initiale ne se retire jamais ; une version déjà utilisée par une classe non plus.
  • Tracé. Import et retrait sont inscrits au journal d'audit.
  • Options à confirmer. En plus des 107 modèles officiels, le référentiel contient des options des humanités absentes de la bibliothèque du client (Commerciale et gestion, Informatique de gestion, Électronique, Mécanique générale, Coupe et couture, Imprimerie, Chimie industrielle, Pétrochimie, ainsi que Biochimie et Mathématiques-physique (anciennes options remplacées par « Scientifique » depuis 2021-2022, gardées pour les écoles qui utilisent encore ce libellé), et la 4e scientifique), préconfigurées d'après des sources en ligne. Le bloc « Options à confirmer » les liste avec leurs années, leur nombre de branches, leur confiance (officiel, source secondaire, déduit), le nombre de classes qui les utilisent et leurs sources (liens). « Recharger » relit le fichier du logiciel après une mise à jour : rien n'est dupliqué, les classes existantes gardent leur grille, et un modèle officiel du même bulletin n'est jamais remplacé. Une nouvelle version importée sans ces options ne les retire pas : elles restent disponibles. Le rechargement est inscrit au journal d'audit.

Cas pratique

Situation : une circulaire (fictive, pour l'exemple) fixe à partir de 2027-2028 la Technologie sur 20 et ajoute la branche « Éducation numérique » en 5e et 6e primaire. Genius ICT la prépare au format du référentiel.

  1. Il ouvre « Référentiel officiel », choisit le fichier referentiel-circulaire-2027.json et « 2027-2028 », puis touche « Voir les différences ».
  2. Aperçu : 107 modèles, 2184 branches ; « 0 nouveau », « 2 modifiés », « 0 retiré », « 105 identiques ».
  3. Il ouvre « Primaire · 5e année » : « Éducation numérique » nouvelle, période 10 · examen 20 ; « Technologie » modifiée, période 10 → 20, examen 20 → 40. Même chose en 6e année.
  4. Il nomme la version « Circulaire 2027 : éducation numérique » et touche « Enregistrer la version ».
  5. Il prévient le directeur, M. Jean-Pierre Paluku : les 5e primaire A et B de 2027-2028 avaient été préparées avant l'import.

Résultat : les classes de 5e et 6e primaire créées à partir de 2027-2028 recevront la nouvelle grille : chaque période y pèse 10 + 10 = 20 points de plus (Technologie +10, Éducation numérique +10). Les classes de 2026-2027 ne changent pas. Pour les classes de 2027-2028 déjà préparées, le directeur touche « Appliquer la grille officielle » dans « Grilles de l'année suivante » : possible tant qu'aucune cote n'y est saisie.

Bonnes pratiques

  • Importez une circulaire avant la préparation de l'année suivante : les nouvelles classes recevront directement la bonne grille.
  • Ouvrez chaque modèle « modifié » de l'aperçu et comparez avec le texte de la circulaire avant d'enregistrer.
  • Donnez un nom parlant à la version (numéro et date de la circulaire) : les directions le verront.

Attention

  • « Le fichier n'est pas importable : » suivi de la liste des problèmes (« Fichier illisible : ce n'est pas un fichier JSON valide. », « … : code manquant ou invalide … », « … : option manquante pour un bulletin des humanités. »…). Corrigez le fichier et renvoyez-le.
  • « Format de fichier refusé : choisissez un fichier json. » Seul un fichier .json est accepté (5 Mo au plus).
  • « Envoyez de nouveau le fichier : l'aperçu a expiré. » L'aperçu se garde une heure : recommencez.
  • « La version initiale du référentiel ne peut pas être retirée. » ou « 3 classes utilisent déjà cette version : elle ne peut plus être retirée. » (le nombre varie) Une version en service reste.
  • « Une version ne peut s'appliquer qu'à l'année en cours ou à une année suivante, pas encore couverte par une autre version. » Choisissez une autre année de départ.

Questions fréquentes

La nouvelle version change-t-elle les bulletins déjà imprimés ?

Non. Ni les bulletins émis, ni les grilles des classes existantes, ni les années passées ne changent.

Et si la circulaire s'applique dès cette année ?

Choisissez l'année en cours : les nouvelles classes de l'année prennent la nouvelle grille. Pour une classe existante, la direction corrige sa grille (ou tout le niveau) avec la conversion des cotes, voir Maxima et ordre par niveau.

Où trouver le format du fichier ?

C'est celui du référentiel d'origine livré avec Masomo (database/data/referentiel.json) : une liste « templates » de modèles, chacun avec son code, son cycle, ses années, son option et ses branches.

Administration technique Rédigé

Rouvrir une année clôturée

Corriger une année déjà clôturée : la rouvrir avec un motif, laisser la direction corriger, puis la refermer.

  • Genius ICT

Où : Établissement Clôture de l'année « Années passées »

À quoi ça sert

Une année clôturée est en lecture seule définitive : plus personne n'y modifie rien. Si une erreur grave est découverte après coup (une cote mal recopiée signalée par l'inspection, une décision de délibération erronée), Genius ICT peut rouvrir cette année seule, le temps de la correction, puis la refermer.

L'année en cours ne change pas : inscriptions, cotes et caisse continuent normalement pendant ce temps.

Qui l'utilise

  • Genius ICT seul rouvre et referme, avec un motif obligatoire.
  • La direction fait la correction dans l'année rouverte, consultée avec le sélecteur d'année : correction motivée d'une cote, reprise de la délibération (la rouvrir, décider, signer de nouveau).
  • L'administration voit l'année « Rouverte » dans « Années passées », sans bouton.

Pas à pas

  1. Ouvrez « Clôture de l'année », bloc « Années passées »

    Tout en bas, chaque année passée indique sa date de clôture et son auteur, avec le badge « Lecture seule ». Genius ICT y voit le bouton « Rouvrir ».

    Années passées (ordinateur)
    Années passées (téléphone)
    2025-2026, « Clôturée le 28/08/2026 par Mme Clarisse Kahindo Salama », en lecture seule.
  2. Écrivez le motif de la réouverture

    Touchez « Rouvrir » : le cadre orange demande le « Motif de la réouverture de 2025-2026 » (10 caractères au moins) et rappelle qu'il sera « Tracée dans le journal d'audit (date, auteur, motif). 2026-2027 reste l'année en cours. » Touchez « Rouvrir 2025-2026 ».

    Motif de la réouverture (ordinateur)
    Motif de la réouverture (téléphone)
    Le motif, précis : quelle erreur, quelle classe, qui corrige.
  3. Laissez la direction corriger

    La notification « Année 2025-2026 rouverte : elle redevient modifiable (corrections), mais l'année en cours ne change pas. Refermez-la une fois les corrections faites. » s'affiche en bas de l'écran. L'année porte le badge « Rouverte », avec la date, l'auteur et le motif.

    Année rouverte (ordinateur)
    Année rouverte (téléphone)
    2025-2026 « Rouverte » le 02/10/2026 par Support Genius ICT, avec son motif, et le bouton « Refermer ».

    La direction choisit 2025-2026 dans le sélecteur d'année, rouvre la délibération de la classe concernée, corrige la cote (correction motivée dans « Validation »), décide et signe de nouveau (voir Délibérations). Les bulletins concernés se réimpriment ensuite.

  4. Refermez l'année

    Une fois les corrections faites, touchez « Refermer » et confirmez.

    Année refermée (ordinateur)
    Année refermée (téléphone)
    2025-2026 de nouveau « Lecture seule », clôturée le 02/10/2026 par Support Genius ICT.

    La notification « Année 2025-2026 refermée : lecture seule définitive. » s'affiche en bas de l'écran.

La logique derrière

  • L'année en cours ne bouge pas. Rouvrir 2025-2026 ne change ni l'année en cours, ni ses inscriptions, ni sa caisse : seule l'année passée redevient modifiable.
  • Seulement des corrections. Dans l'année rouverte, consultée avec le sélecteur d'année, ce qui reste permis est limité : la correction motivée d'une cote par la direction et la reprise d'une délibération ou d'un repêchage (rouvrir, décider, signer de nouveau). Le reste de l'année passée reste en lecture seule.
  • Motif obligatoire et tracé. 10 caractères au moins ; la réouverture et la fermeture sont inscrites au journal d'audit (date, auteur, motif).
  • Refermer met tout en ordre. Les périodes restées ouvertes de cette année sont clôturées, et l'année repasse en lecture seule définitive, à la date du jour.
  • Un bulletin délivré garde sa trace. Après correction, la réimpression crée une nouvelle version ; l'ancienne reste dans les archives.

Cas pratique

Situation : le 2 octobre 2026, l'inspection signale une erreur de cote d'examen du 2e semestre 2025-2026 en 3e Élec. L'année 2025-2026 a été clôturée le 28 août par Mme Clarisse Kahindo Salama.

  1. Genius ICT ouvre « Clôture de l'année », touche « Rouvrir » sur 2025-2026 et écrit : « Erreur de cote signalée par l'inspection : 3e Élec, examen du 2e semestre, à corriger par le préfet. »
  2. Il touche « Rouvrir 2025-2026 » : l'année porte « Rouverte » ; 2026-2027 reste l'année en cours.
  3. Le préfet, M. Désiré Mumbere Kyaviro, choisit 2025-2026 dans le sélecteur d'année, rouvre la délibération de la 3e Élec avec un motif, corrige la cote dans « Validation » (correction motivée), décide et signe de nouveau le procès-verbal.
  4. Le bulletin corrigé se réimprime : c'est une nouvelle version, l'ancienne reste archivée.
  5. Genius ICT touche « Refermer » : « Année 2025-2026 refermée : lecture seule définitive. »

Résultat : la correction est faite en une matinée, sans toucher à 2026-2027. Le journal d'audit garde toute l'histoire : réouverture (motif), réouverture de la délibération, ancienne et nouvelle cote, nouvelle signature, fermeture. L'inspection peut le vérifier.

Bonnes pratiques

  • Écrivez un motif qui dit quoi, où et qui corrige : il sera lu par l'inspection.
  • Prévenez la direction avant de rouvrir, et refermez dès que la correction est faite : une année ne doit pas rester rouverte.
  • Faites une sauvegarde avant la réouverture.

Attention

  • « Le texte motif doit contenir au moins 10 caractères. » Détaillez le motif.
  • Pas de bouton « Rouvrir » : votre compte n'est pas celui de Genius ICT. L'administration de l'école fait appel à Genius ICT, avec le motif.
  • Une année rouverte et oubliée reste modifiable par la direction : vérifiez le bloc « Années passées » ; aucune année ne doit y rester « Rouverte ».

Questions fréquentes

Pendant la réouverture, les enseignants peuvent-ils modifier leurs cotes de l'an passé ?

Non. Seule la direction corrige, par une correction motivée, et reprend la délibération. Le reste de l'année passée reste en lecture seule.

L'année rouverte redevient-elle l'année en cours ?

Non. 2026-2027 reste l'année en cours ; 2025-2026 se consulte avec le sélecteur d'année.

Peut-on rouvrir plusieurs fois ?

Oui, chaque fois avec un motif ; chaque réouverture et chaque fermeture sont tracées.

Masomo Mepesi — « les études, facilement » · Genius ICT, Goma.