LOT 35 — synchronisation automatique, « Créer 1 utilisateur », changement de routeur
=====================================================================================

INSTALLATION
  Décompressez ce zip à la racine du site (wifi.douaweproshop.ci) en conservant les dossiers,
  en remplaçant les 9 fichiers ci-dessous. Aucune migration, aucune route à ajouter.
  Ensuite : php artisan view:clear   (ou videz le cache des vues depuis cPanel)

FICHIERS
  app/Http/Controllers/RouterController.php
  resources/views/tickets/index.blade.php
  resources/views/routers/tabs/users.blade.php
  resources/views/routers/tabs/dashboard.blade.php
  resources/views/routers/partials/router-card.blade.php   (NOUVEAU)
  resources/views/routers/show.blade.php
  app/Services/Reconciliation/RouterSaleIngestor.php
  app/Console/Commands/AuditSaleSpaces.php   (NOUVEAU)
  resources/views/components/router-layout.blade.php

CE QUI CHANGE
  1. Ajout d'un routeur : les profils sont synchronisés automatiquement, en arrière-plan,
     dès l'enregistrement (même mécanisme que le bouton « Synchroniser les profils »).
     Le résultat s'affiche sur la fiche du routeur. Si le routeur est injoignable, l'erreur
     s'affiche aussi et le bouton « Synchroniser les profils » reste disponible.
     Même chose à la MODIFICATION d'un routeur, si l'adresse, le port, SSL, le compte ou le mot
     de passe change (une simple modification du nom ou des notes ne relance rien).
  2. Page Tickets : le bouton « Modèles » est remplacé par « Créer 1 utilisateur ».
     Il ouvre l'onglet « Codes WiFi » du routeur choisi, avec le formulaire déjà ouvert.
     (Les modèles restent accessibles par leur menu habituel.)
     Le bouton de l'onglet « Codes WiFi » porte le même libellé : « Créer 1 utilisateur ».
  4. Tableau de bord (taille de la miniature fixée en style direct, indépendante du CSS compilé) : la carte « Le routeur » n’a plus de titre ; miniature du modèle à gauche,
     modèle, Identity, RouterOS et Model à droite. Les lignes Modèle / Carte / RouterOS sont retirées de la carte.
  3. Fiche d'un routeur : liste déroulante « Changer de routeur » sous le titre. Elle garde
     la section en cours (Codes WiFi, Profils, Système…). Les routeurs en pause sont
     marqués « (en pause) ». Elle n'apparaît que s'il y a au moins 2 routeurs.

À VÉRIFIER APRÈS INSTALLATION
  - Ajouter un routeur de test : message « Synchronisation des profils lancée automatiquement »,
    puis le résumé de la synchronisation sur la fiche.
  - Tickets > Créer 1 utilisateur : le formulaire s'affiche ouvert sur Codes WiFi.
  - Fiche d'un routeur > liste « Changer de routeur » : on reste sur la même section.

FICHE D'UN ROUTEUR (ajustements téléphone)
  - Le titre (nom du routeur) et l'adresse sous le titre sont supprimés ; « Tous les routeurs » devient « ← Retour ».
  - Synchroniser : icône seule. « Tester » devient « Ping ». « Modifier » sort du menu « + » : icône ⚙️ seule.
  - La carte du routeur est maintenant AU-DESSUS de la partie « Section » (onglet Tableau de bord).
    Elle affiche : miniature, modèle (police réduite), Identity, Adresse IP, RouterOS, Model, puis Horloge,
    En marche depuis, Processeur, Mémoire libre.
  - Le fichier show.blade.php et la nouvelle carte (partials/router-card.blade.php) sont à copier aussi.

VENTE D'UN AUTRE ESPACE SUR LE TABLEAU DE BORD
  - Correctif : le type « Autres » et le revendeur « Autres » sont désormais mémorisés PAR ESPACE pendant la lecture planifiée
    des ventes (avant, le premier espace traité servait aux suivants).
  - Vérification (rien n'est modifié) :   php artisan sales:audit-spaces
    Elle liste : les ventes de routeur rangées dans un autre espace que leur routeur ; celles reliées à un type ou
    un revendeur d'un autre espace.
  - Correction :   php artisan sales:audit-spaces --apply
    Remet les ventes de routeur dans l'espace de leur routeur. Les liaisons croisées restent à contrôler à la main.
