CORRECTIF « ROUTEUR RouterOS 6 + E-MAIL » (40 fichiers) — construit sur votre site ACTUEL ; il REMPLACE le zip « correctif e-mail » (il en contient tous les fichiers : installez celui-ci seul).
Votre fichier .env n'est PAS touché.

=== 1. « CONNEXION COUPÉE PAR LE ROUTEUR » SUR VOTRE ROUTEUR ROUTEROS 6 (RB951Ui-2HnD, via vpn2.mikhmon.dev)
 CE QUE MONTRENT VOS DEUX CAPTURES :
   - le test de connexion RÉUSSIT (RouterOS 6.49.23, 1 683 ms) ; il demande à /system/resource/print TROIS champs (version, carte, durée de marche) ;
   - après le premier correctif, le message dit « Connexion coupée par le routeur pendant « /system/resource/print » » : la lecture en direct demande DIX champs d'un coup, et c'est CETTE demande qui est coupée ;
   - le même écran lit sans problème 1 219 codes, 11 profils et 4 revendeurs sur ce routeur : il sait servir de grosses listes. Ce n'est donc ni RouterOS 6, ni la taille des listes, ni la connexion en général :
     un des champs demandés en plus fait fermer la connexion à ce routeur. Seule la lecture en direct demande ces 10 champs (toutes les autres lectures en demandent 2 ou 3 et fonctionnent).
 CE QUI CHANGE :
   1. LECTURE PAR PETITS GROUPES : la demande complète est tentée ; si le routeur la coupe, on lit l'ESSENTIEL (version, carte, durée de marche : les champs du test de connexion, qui passent chez vous), puis le reste par
      groupes (processeur et mémoire ; architecture ; disque). Un groupe coupé n'efface pas les autres : Identity, RouterOS, modèle, horloge, durée de marche, mémoire… se remplissent. Le routeur est alors noté
      « à lire par petits groupes » 30 minutes, pour ne pas payer l'échec à chaque lecture. Si même l'essentiel est coupé, c'est une vraie panne et l'erreur s'affiche.
   2. LE MESSAGE NOMME LES CHAMPS : « …pendant « /system/resource/print [champs : version,board-name,uptime] » » et la même ligne est écrite dans storage/logs/laravel.log (au plus une par minute) : on saura QUEL champ gêne.
   3. COMPTAGE DIRECT (« count-only », RouterOS 6 comme 7) du nombre d'utilisateurs et de connectés, au lieu de relire toute la liste à chaque passage (repli sur l'ancienne lecture si un routeur refusait).
   4. UNE REPRISE AUTOMATIQUE d'une lecture coupée (jamais pour une écriture, un délai dépassé ou une erreur annoncée par le routeur).
   5. ÉCRAN : si une lecture échoue juste après une réussite (moins de 5 minutes), la dernière lecture valide reste affichée ; au-delà, l'erreur s'affiche. Le nombre de connectés n'est plus plafonné à 500.
 CE QUE JE NE PEUX PAS AFFIRMER : quel champ précis fait couper votre routeur (je n'y ai pas accès). Si des cases restent à « — » après installation, ouvrez storage/logs/laravel.log : les lignes « RouterOS : Connexion coupée… [champs : …] »
 nomment le groupe coupé ; envoyez-les-moi et je retire ce champ de la lecture. Autre piste : vpn2.mikhmon.dev est un relais VPN tiers, partagé, à 1,7 s de latence.

=== 2. RÉGLAGES E-MAIL DE LA PLATEFORME ET ALERTES PAR E-MAIL (inchangé par rapport au zip précédent)
 Menu « Réglages e-mail » (super administrateur) : serveur d'envoi de l'hébergement (SMTP), sécurité 465/587, identifiant, mot de passe CHIFFRÉ jamais réaffiché, expéditeur, adresse de réponse, essai d'envoi avec erreurs
 expliquées en français ; une fois activé, TOUS les e-mails du site passent par ce serveur (alertes, envoi des lots, mots de passe oubliés).
 Paramètres de chaque espace > « Alertes par e-mail » : l'administrateur choisit (tout éteint au départ) routeur hors ligne, stock bas, résumé du jour (en direct) et, en un e-mail chaque matin à 7 h 30, soldes en retard,
 dépenses, tickets en attente d'envoi, ventes à rattacher, tâche planifiée arrêtée, rapprochement. Destinataires : les administrateurs de l'espace ayant un e-mail (option : gestionnaires). Historique avec colonne « Canal ».
 Les boutons « Enregistrer » des cartes d'alertes (WhatsApp et e-mail) étaient invisibles : corrigé.

=== 3. INSTALLATION
 1. cPanel > Gestionnaire de fichiers > « public_html » > envoyer le zip > Extraire, en remplaçant les fichiers.
 2. Dans wifi.douaweproshop.ci/bootstrap/cache : supprimer les fichiers .php (garder .gitignore).
 3. « Mettre à jour la base » (1 changement) ou : php artisan migrate --force
 4. Menu « Réglages e-mail » : remplir, enregistrer, essai, « Activer ».
 5. UNE FOIS : php artisan site:nettoyer --appliquer (déplace, sans rien supprimer, un ancien test réinstallé par un de mes zips).
 6. Ouvrir la fiche de votre routeur RB951 : « Identity », « RouterOS », « Model » doivent se remplir ; sinon suivre la section 1.

=== VÉRIFICATIONS
 Suite complète sur une copie exacte de votre site, après nettoyage. Comptage, reprise, et cas à NE PAS rejouer : testés avec de VRAIES connexions réseau vers un faux RouterOS (identification ancienne et récente, plus de 1 200
 utilisateurs, coupure d'une seule connexion, coupure permanente, délai dépassé, erreur fatale, écriture coupée). Les deux protections essentielles (reprise, pas de rejeu des écritures) cassées exprès font échouer les tests.
 NON VÉRIFIÉ : votre routeur réel et le relais vpn2.mikhmon.dev ; votre serveur de messagerie réel.
