Le manuel complet de l'opérateur — de la première installation aux opérations quotidiennes.
25 sujets8 sectionsInstallation en une commande
Installation rapide
En ligne en quelques minutes, avec une commande.
Exécutez une seule ligne sur un serveur Ubuntu ou Debian tout neuf — ou dans PowerShell sous
Windows — et l'installateur récupère la dernière version et configure toute la pile SAMM pour vous.
SAMM — SecuryTik Active Mikrotik
Manager — est une plateforme complète de gestion FAI pour les réseaux MikroTik PPPoE
& Hotspot. Un seul installateur transforme un serveur Linux nu en un système complet AAA,
de facturation et de gestion d'abonnés.
À qui s'adresse SAMM
SAMM est conçu pour les FAI sans fil, les opérateurs de fibre optique et les fournisseurs de points d'accès exécutant MikroTik RouterOS . Si vous authentifiez des abonnés via PPPoE, Hotspot ou IPoE/DHCP et que vous devez
imposez des niveaux de vitesse, des plafonds de données, des dates d'expiration et la facturation – SAMM fait tout cela à partir de
un écran.
Les abonnés IPoE/DHCP sont identifiés par leur identifiant de circuit DHCP Option 82 (l'identifiant physique
port d'accès - la manière professionnelle du FAI) ou le périphérique MAC, et le mot de passe de rayon du serveur DHCP est
simplement le secret partagé RADIUS du routeur, il n'y a donc rien de plus à fournir.
Stack dual IPv6 est une option facultative : chaque abonné peut obtenir IPv6 en plus d'IPv4. Activez-le dans l'assistant du routeur et choisissez la longueur de préfixe délégué (DHCPv6-PD) — un /56 par défaut, ou n'importe où entre /48 et /64 — ainsi que les blocs IPv6 à distribuer. Chaque réponse SAMM d'accès accepté renvoie un pool IPv6 WAN plus un préfixe routé délégué au réseau local de l'abonné, de sorte que le routeur propre du client (en mode route) le subdivise en /64 et exécute SLAAC pour ses appareils — le modèle standard de délégation de préfixe ISP. Il fonctionne avec PPPoE, Hotspot et IPoE, et un préfixe IPv6 statique peut être fixé par abonné pour les clients professionnels.
Comment ça marche
SAMM garde le chemin critique proche de la base de données. FreeRADIUS traite chaque
paquet d'authentification et de comptabilité ; à chaque Interim-Update de comptabilité, il appelle
directement les fonctions PostgreSQL pour accumuler l'utilisation et évaluer les limites — il n'y a aucun
aller-retour Python tant que les abonnés sont en ligne.
Quatre surfaces d'exécution coopèrent via la base de données unique :
FreeRADIUS (unlang + rlm_sql) — authenticates
every packet; on each Interim-Update it accumulates bytes/uptime and evaluates limits inside Postgres.
samm-radius — runs time-driven sweeps (expiry, daily reset, speed
windows) and is the only process that sends Change-of-Authorization packets.
samm-worker — pings routers and syncs MikroTik device metadata over the API.
samm-api — the admin & customer portals; admin actions are queued
to the database and applied by samm-radius, never sent as CoAs directly.
Les cinq services
Service
Rôle
samm-api
Portail admin + portail libre-service client + REST API
samm-radius
Vide la boîte d'envoi CoA ; effectue les balayages d'expiration/réinitialisation quotidienne/fenêtre de vitesse
samm-worker
Pings les routeurs ; synchronise les métadonnées des appareils MikroTik via l'API
samm-notification
Livre des notifications par e-mail & Telegram via une file d'attente limitée
samm-telegram
Exécute le bot Telegram interactif en libre-service
Ce que fait SAMM
Cœur AAA
Authentification PPPoE & Hotspot, application de la vitesse par utilisateur, CoA hybride.
Forfaits & limites
Niveaux de vitesse plus quatre limites indépendantes et fenêtres de vitesse planifiées.
Abonnés
Utilisateurs PPPoE, Hotspot et IPoE/DHCP, ainsi que des cartes de coupons Hotspot prépayées avec PDF imprimables.
Facturation
Tarification par forfait, factures automatiques, grand livre à double entrée pour reçus/paiements/dépenses.
Libre-service
Un portail web client et un bot Telegram pour l'utilisation, les factures et les tickets.
Opérations
Inventaire MikroTik en direct, administrateurs basés sur les rôles, sauvegarde & restauration, outils en masse.
Alertes de renouvellement, d'expiration, de quota et de reçu par e-mail et Telegram.
Le reste de ce manuel est un guide pratique pour chacun de ces domaines. Utilisez le menu de
gauche, ou commencez par Installation.
Commencer
Installation
SAMM installe tout ce dont il a besoin — FreeRADIUS, PostgreSQL, nginx, WireGuard,
cloudflared et les cinq services SAMM — en une seule étape. L'installateur est
idempotent : le réexécuter met à niveau une installation existante sur place et
n'écrase jamais votre configuration ni ne régénère votre mot de passe de base de données.
SAMM s'exécute n'importe où : choisissez le chemin d'installation qui correspond à votre réseau :
Ce script bootstrap télécharge le dernier bundle de version SAMM depuis GitHub, l'extrait
et exécute automatiquement l'installateur complet. Terminé en quelques minutes.
Si github.com est bloqué dans votre pays, utilisez le miroir hébergé par Cloudflare — même installateur, rien n'est récupéré depuis GitHub. (La commande standard ci-dessus détecte également un GitHub bloqué et bascule vers ce miroir automatiquement.)
Dans les deux cas, une fois l'installation terminée, ouvrez le portail d'administration et connectez-vous avec ces identifiants :
URL de connexionhttp://<your-server>/admin·Nom d'utilisateuradmin·Mot de passeadmin
Changez le mot de passe administrateur immédiatement après votre première connexion.
Installation
Option B — installer sur Windows (Hyper-V)
SAMM s'exécute sous Windows dans sa propre petite machine virtuelle Ubuntu 24.04 sur
Hyper-V, créée et gérée par un seul installateur. La VM rejoint votre réseau avec sa propre adresse
IP, de sorte que vos routeurs MikroTik atteignent SAMM directement — RADIUS voit l'adresse réelle de chaque
routeur, et les déconnexions CoA fonctionnent — exactement comme avec un serveur Linux.
Ouvrez PowerShell en tant qu'administrateur — pas l'invite de commandes (cmd) :
clic droit sur le bouton Démarrer, choisissez Terminal (Admin) ou Windows
PowerShell (Admin), répondez Oui. Puis exécutez :
Si samm.securytik.com est injoignable depuis ce PC, utilisez plutôt le miroir hébergé chez Cloudflare — le même installeur. (L'installeur bascule aussi de lui-même vers le miroir quand un téléchargement échoue.)
Dans les deux cas, une fois l'installation terminée, ouvrez le portail d'administration et connectez-vous avec ces identifiants :
URL de connexionhttp://<SAMM IP>/admin·Nom d'utilisateuradmin·Mot de passeadmin
Connexion système (SSH)samm / samm·root (console)root / samm
Les mêmes valeurs par défaut que l'ISO SAMM Server. Changez-les toutes après votre première connexion. Le raccourci SAMM Info du bureau les affiche à nouveau, avec l'adresse IP de SAMM et l'accès SSH à la VM.
Ce qui est demandé
À quel réseau SAMM doit se joindre, lorsque le PC a plus d'un adaptateur connecté.
Appuyez sur Entrée pour l'option recommandée (filaire avant Wi-Fi).
L'adresse IP de SAMM sur ce réseau. Une adresse libre est suggérée ; appuyez sur
Entrée pour l'accepter, saisissez-en une autre, ou saisissez dhcp.
Si Hyper-V est désactivé, l'installateur l'active et demande de redémarrer Windows une fois ; après
une nouvelle connexion, il continue tout seul. Le reste — Multipass, le pont réseau, la VM et SAMM lui-même
— prend 10 à 20 minutes, avec une barre de progression.
Exigences
Windows 10 / 11 Pro, Enterprise ou Education, ou Windows Server 2019 et plus récent
(64 bits). Windows Home n'a pas Hyper-V.
Virtualisation matérielle activée dans le BIOS/UEFI (Intel VT-x ou AMD-V).
L'installateur la vérifie et s'arrête avec un message clair si elle est désactivée — voir
Activer la virtualisation.
Au moins 8 Go de mémoire, avec 4 Go libres pour la VM de SAMM (3 Go est le minimum ; les autres
machines virtuelles — VMware, VirtualBox — comptent en négatif), et 40 Go d'espace disque libre.
Un câble réseau est fortement recommandé. De nombreux pilotes Wi-Fi ne peuvent pas
ponter une machine virtuelle sur le réseau, et alors seul le PC lui-même peut atteindre SAMM.
Après l'installation
Ouvrez le panneau d'administration à l'adresse http://<SAMM IP>/admin/login (un
raccourci SAMM Admin se trouve sur le bureau), connectez-vous avec
admin / admin et changez le mot de passe immédiatement.
Pointez votre RADIUS MikroTik vers l'IP de SAMM (UDP 1812/1813) — l'Assistant Routeur du panneau le
fait pour vous.
SAMM démarre avec Windows, avant même qu'un utilisateur ne se connecte, et le PC est configuré pour
ne jamais se mettre en veille. Sur un portable, laissez le chargeur branché et réglez la fermeture du
capot sur « Ne rien faire ».
Pour le désinstaller : exécutez la même ligne avec -Uninstall, ou
& ([scriptblock]::Create((irm https://samm.securytik.com/install-windows.ps1))) -Uninstall.
Installation
Activer la virtualisation dans le BIOS/UEFI
SAMM sous Windows s'exécute dans une machine virtuelle Hyper-V, qui nécessite la fonction de
virtualisation du processeur : Intel Virtualization Technology (VT-x) chez Intel, ou
AMD-V — généralement appelée SVM Mode — chez AMD. La plupart des PC l'ont
activée d'origine ; certains l'ont désactivée. Chaque marque la cache dans un menu différent ; voici donc
les étapes générales et son emplacement habituel.
D'abord, vérifiez si elle est déjà activée
Ouvrez le Gestionnaire des tâches (Ctrl+Maj+Échap) → Performance →
CPU. Sous le graphique, Virtualisation : Activée signifie que c'est fait.
(Si Hyper-V est déjà actif, Windows peut afficher à la place une ligne indiquant qu'un hyperviseur a été
détecté — cela signifie également qu'elle est activée.)
Étapes générales
Enregistrez votre travail et redémarrez le PC.
Ouvrez la configuration du BIOS/UEFI : appuyez plusieurs fois sur la touche de configuration dès que
l'écran s'allume (voir le tableau). Sous Windows 10/11, vous pouvez aussi aller dans Paramètres →
Système → Récupération → Démarrage avancé → Redémarrer maintenant, puis Dépannage →
Options avancées → Paramètres du micrologiciel UEFI → Redémarrer.
Recherchez dans le menu Advanced, Advanced CPU,
Processor, Chipset, Security ou
Virtualization les options Intel Virtualization Technology,
Intel VT-x, SVM Mode ou AMD-V, et réglez-les sur
Enabled. (Intel VT-d / AMD IOMMU n'est pas nécessaire.)
Enregistrer et quitter (généralement F10), laissez Windows démarrer, puis relancez
l'installateur SAMM.
Emplacement habituel
Marque
Touche de configuration
Emplacement habituel
Dell
F2
Assistance à la virtualisation → Virtualisation / Activer la technologie de virtualisation Intel
HP
F10 (ou Échap, puis F10)
Advanced (ou Security / System Configuration) → Virtualization Technology (VTx)
OC → CPU Features → Intel Virtualization Tech ou SVM Mode
Gigabyte
Del
Tweaker (ou Advanced) → Advanced CPU Settings → Intel Virtualization Technology ou SVM Mode
Serveurs (Dell iDRAC, HPE, Supermicro)
F2 / F9 / Del
Processor Settings → Virtualization Technology — souvent déjà activée
Une machine virtuelle à l'intérieur d'une autre machine virtuelle (Windows lui-même
exécuté dans VMware, Proxmox ou Hyper-V) nécessite plutôt d'activer la virtualisation imbriquée
dans l'hyperviseur externe — par exemple « Virtualize Intel VT-x/EPT » dans les paramètres CPU de VMware,
la VM étant éteinte.
Installation
Option C — installer manuellement depuis un bundle de version
Téléchargez le dernier samm-<version>.tar.gz depuis la
page GitHub Releases,
puis sur le serveur :
tar -xzf samm-<version>.tar.gz
cd samm-<version>
sudo bash install.sh
Vous pouvez aussi déployer depuis un zip produit sur une autre machine — l'installateur
rsync lui-même les sources vers /opt/samm :
Ou clonez le dépôt vers /opt/samm et exécutez sudo bash /opt/samm/install.sh.
Dans les deux cas, une fois l'installation terminée, ouvrez le portail d'administration et connectez-vous avec ces identifiants :
URL de connexionhttp://<your-server>/admin·Nom d'utilisateuradmin·Mot de passeadmin
Changez le mot de passe administrateur immédiatement après votre première connexion.
Installation
Option D : installer avec Docker Compose
Si vous préférez exécuter SAMM en tant que conteneurs (même produit, emballé différemment)\n utilisez la distribution Docker Compose sur github.com/mhdhaidarah/samm-docker .\n Sur n'importe quel hôte avec Docker disponible :
Cela installe Docker s'il manque, dépose un docker-compose.yml dans /opt/samm-docker/ avec un mot de passe de base de données aléatoire fort déjà renseigné, et démarre la pile. L'image mhdhaidarah/samm est construite à partir du même bundle compilé que l'installation bare-OS — closed source par construction.
Multi-arch — le même tag est publié pour linux/amd64 et linux/arm64, et la bonne variante est sélectionnée automatiquement depuis le tag : docker pull sur tout hôte Docker (Intel/AMD, serveur ARM, Mac Apple Silicon) et MikroTik RouterOS 7.23+ sur le routeur lui-même. Un fichier, toutes les plateformes.
Sur les hôtes où le redirigement curl vers bash n'est pas autorisé (boîtes verrouillées,
politiques de sortie strictes), vous pouvez récupérer directement le fichier de composition prêt à l'emploi :
git clone https://github.com/mhdhaidarah/samm-docker.git
cd samm-docker
# optional: edit docker-compose.yml and replace change-me-strong-random-string
docker compose up -d
Quelques fonctionnalités ne sont pas encore disponibles dans la variante Docker (verrouillage de licence par étapes, rechargement dynamique de FreeRADIUS).
Les pages d'administration intégrées pour WireGuard et Cloudflare Tunnel sont intentionnellement cachées dans la variante Docker — elles gèrent des services systemd au niveau de l'hôte qui ne sont pas accessibles depuis à l'intérieur du conteneur. Choisissez l'option A ou C ci-dessus si vous avez besoin de ces fonctionnalités intégrées, ou exécutez cloudflared / wg-quick directement sur l'hôte Docker aux côtés de SAMM. Consultez le
fichier README de la variante Docker pour les avertissements complets sur la version 1 et le chemin d'installation manuel.
Sous Windows ( Docker Desktop ) : évaluation uniquement
Non recommandé pour la production. Le sommeil/hibernation/fermeture du couvercle de Windows arrête les conteneurs ; le redémarrage au démarrage ne se déclenche que lorsque WSL démarre (et non au démarrage de Windows) ; la mise à jour automatique quotidienne ne s'exécute que tant que WSL est actif. Utilisez-le pour l'évaluation/démonstration, puis déployez la production sur une machine virtuelle Linux (Hyper-V, Proxmox, ESXi) ou une petite boîte physique (par exemple, un NUC sous Ubuntu Server).
Installation
Installez Docker Desktop pour Windows (il configurera automatiquement le backend WSL2 lors de la première exécution).
Ensuite, depuis PowerShell — sans terminal WSL nécessaire — récupérez le bundle Compose et démarrez la pile :
mkdir C:\samm-docker
cd C:\samm-docker
curl.exe -fLO https://github.com/mhdhaidarah/samm-docker/releases/latest/download/docker-compose.yml
# optional: notepad docker-compose.yml — replace change-me-strong-random-string with your own password
docker compose pull
docker compose up -d
Regardez le démarrage de la pile dans Docker Desktop → Conteneurs : le groupe samm se développe en 8 services. Une fois qu'ils sont tous verts, ouvrez le portail d'administration et connectez-vous avec ces informations d'identification :
URL de connexionhttp://localhost:8000/admin·Nom d'utilisateuradmin·Mot de passeadmin
Changez le mot de passe administrateur immédiatement après votre première connexion.
Si un vrai NAS MikroTik atteint cet hôte Windows pour RADIUS, autorisez UDP 1812 + 1813 via le pare-feu Windows :
Démonter : docker compose down -v du répertoire d'installation
(-v efface le volume PostgreSQL et la clé Fernet — faites une sauvegarde en premier si vous avez ajouté des données).
Installation
Option E — installer sur un routeur MikroTik (RouterOS 7.23+)
Le même SAMM, sans machine Linux. Si votre appareil MikroTik prend en charge le paquet container et dispose d'une clé USB ou d'une microSD, vous pouvez exécuter toute la pile directement sur le routeur — avec le même docker-compose.yml qu'ailleurs. RouterOS 7.23+ télécharge automatiquement la bonne architecture depuis les tags multi-arch, donc rien de spécifique au routeur à télécharger.
Pris en charge : tout routeur MikroTik capable de conteneurs — RB5009, hAP ax², CCR2004-1G-12S+2XS, CCR2116, CCR2216, L009 et similaires (arm64), ainsi que les versions x86 de RouterOS et CHR (amd64). Non pris en charge : les appareils armv7 / mipsbe / smips / tile / ppc (hEX, RB750, modèles RB plus anciens) — aucune prise en charge des conteneurs ou RAM/CPU insuffisante pour la pile SAMM. RouterOS 7.23 ou version ultérieure est requis (les versions antérieures ne peuvent pas sélectionner l'architecture à partir d'un tag multi-architectures).
1. Préparez le routeur
Installez le paquet container (depuis extra_packages.zip sur mikrotik.com/download — téléversez le container-*.npk correspondant via Files, puis redémarrez). Activez ensuite le mode conteneur (une seule fois — il ne s'active qu'après une coupure d'alimentation physique, pas un simple redémarrage) :
/system device-mode update container=yes
# HARD reboot the router (unplug the power) — a soft /system reboot
# will NOT activate the container feature
2. Formatez et montez le disque (ext4)
Insérez une clé USB ou une carte microSD (≥ 8 Go recommandés – Postgres + les calques d'image s'additionnent). Sur le routeur :
/disk print
# note the disk slot, e.g. "usb1-part1" or "disk1"
/disk format-drive usb1-part1 file-system=ext4 label=samm
Après le formatage, vérifiez que le disque est monté et qu'il est accessible en écriture :
/disk print detail
# look for "type=ext4" and a mount point like "/usb1-part1"
3. Copiez le fichier compose
Un seul fichier pour toutes les plateformes. Remplacez change-me-strong-random-string (le mot de passe Postgres — la même valeur forte partout) et change-me-random-token. Puis dans WebFig/WinBox : Container → Apps → + New → YAML, collez, définissez le disque ext4 de l'étape 2 comme stockage et validez. RouterOS 7.23+ télécharge automatiquement la bonne architecture depuis les tags d'image.
Bloqué sur "waiting for reverse proxy" ? Sur RouterOS 7.23+, décochez Use HTTPS dans la boîte de dialogue Apps et redéployez — cette option contrôle le proxy de l'interface web de l'app, pas le téléchargement des images.
Une fois les conteneurs SAMM exécutés, ouvrez le portail d'administration dans un navigateur et connectez-vous avec ces informations d'identification :
URL de connexionhttp://<router-ip>:8000/admin·Nom d'utilisateuradmin·Mot de passeadmin
Changez immédiatement le mot de passe administrateur. L'authentification RADIUS + la comptabilité sont exposées sur UDP 1812 + 1813 sur le routeur lui-même, de sorte que le client RADIUS MikroTik peut pointer vers 127.0.0.1 avec le secret partagé que vous avez défini dans Système → RADIUS.
Chemin de déploiement expérimental. La fonctionnalité de conteneur de RouterOS est plus légère que Docker Compose — le nom de service DNS, l'ordre des dépendances (depends_on) et les redémarrages en direct se comportent différemment. Si la pile se comporte mal sur votre matériel, revenez à l'exécution de Docker sur une petite machine Linux (NUC, Pi 4, VM Linux) à côté du MikroTik. Le même fichier compose fonctionne là-bas avec toutes les sémantiques Compose.
5. Mise à jour : sauvegarde et restauration manuelle
Mettre à jour une application conteneur MikroTik supprime votre base de données.
Le système RouterOS ne peut pas modifier la version d'une application installée en place — la seule façon est de supprimer l'application et de l'ajouter à nouveau, et sa suppression efface tout ce qu'elle a stocké, y compris la base de données de SAMM. Prenez une sauvegarde et téléchargez-la sur votre ordinateur AVANT de supprimer l'application. Une sauvegarde laissée sur le routeur sera supprimée avec tout le reste.
Pour déplacer une installation de conteneur MikroTik vers une nouvelle version :
Dans SAMM, allez à Outils → Sauvegarde, créez une sauvegarde, et
téléchargez le fichier sur votre ordinateur.
Sur le routeur, supprimez l'application et ajoutez-la à nouveau avec la nouvelle
version.
Ouvrez le nouveau SAMM, allez à Outils → Sauvegarde et restaurez le
fichier téléchargé.
Cela s'applique uniquement au conteneur MikroTik . Le Docker ( Linux , Windows ou une VM Linux ) une mise à jour est docker compose pull alors docker compose up -d , et vos données restent intactes : les volumes se trouvent en dehors du
conteneurs et survivre.
Installation
Option F — SAMM Server ISO (installation appliance)
La SAMM Server ISO transforme toute machine ou VM vierge en serveur SAMM prêt à l'emploi : démarrez, choisissez DHCP ou IP statique sur le seul écran affiché, confirmez, et laissez faire. Elle installe Ubuntu Server 24.04 LTS (minimisé), nomme l'hôte samm-server, puis télécharge et installe automatiquement la dernière version de SAMM au premier démarrage — l'ISO ne devient jamais obsolète. La console affiche un écran de démarrage SAMM et une bannière de connexion avec l'IP du serveur, l'adresse du panneau d'administration et les identifiants par défaut, et la commande samm-tools donne un accès direct aux outils de maintenance (bilan de santé, sauvegarde/restauration de la base, réinitialisation du mot de passe admin).
L'ISO efface le premier disque de la machine. Ne la démarrez que sur du matériel ou une VM dédiés à SAMM. Si la machine est hors ligne pendant l'installation, la configuration se termine d'elle-même dès que l'internet est disponible.
Écrivez-la sur une clé USB (Rufus, balenaEtcher ou dd) ou attachez-la à une VM, démarrez et répondez à la question réseau. Identifiants par défaut après installation — panneau : admin / admin, OS : samm / samm ou root / samm — changez-les tous.
L'installateur s'exécute avec un affichage de progression en direct et coloré — une barre de pourcentage et une
liste de contrôle par phase. La sortie brute de chaque phase est capturée dans
/var/log/samm-install.log ; en cas d'échec, les 30 dernières lignes sont imprimées.
Composant
Détails
FreeRADIUS 3
Configuré avec un backend PostgreSQL et des clients NAS dynamiques ; validé avec freeradius -CX
PostgreSQL
Base de données, schéma et toutes les migrations SQL appliquées — chaque fichier de migration est idempotent
Python venv
Toutes les dépendances sont installées depuis requirements.txt ; les catalogues de traduction sont compilés. Si le Python de la distribution ne correspond pas au paquet compilé, l'installateur télécharge automatiquement un interpréteur autonome compatible dans /opt/samm/runtime
nginx
Proxy inverse ajouté de manière additive — les sites existants ne sont jamais supprimés. Utilise le port 80 s'il est libre ; sinon, demande un port alternatif
5 services
samm-api, samm-radius, samm-worker, samm-notification, samm-telegram — tous activés en tant qu'unités systemd
WireGuard
Paquets installés ; configurés ultérieurement depuis Système → VPN
cloudflared
Binaire toujours installé ; le jeton du tunnel est optionnel à l'installation ou ajouté ultérieurement depuis Système → Tunnel Cloudflare
Tous les identifiants — le mot de passe de la base de données et les clés de signature de session — sont
générés automatiquement à la première installation.
Invites interactives
Toutes les invites se produisent en amont, avant le début de l'installation :
Jeton Cloudflare — collez un jeton de connecteur Zero Trust pour publier
SAMM en ligne sans port ouvert, ou appuyez sur Entrée pour passer et le configurer plus tard.
Port HTTP — si le port 80 est déjà utilisé, l'installateur laisse
ces sites intacts et demande un port alternatif (par défaut 8080).
Résumé de l'installation
Lorsque l'installateur se termine, il imprime un résumé avec l'URL d'administration, l'identifiant par
défaut, le port HTTP choisi, les identifiants de la base de données et les chemins des fichiers de configuration :
============================================================
SAMM is installed and running.
Admin portal : http://localhost/admin/login
Default login : admin / admin <- CHANGE AFTER FIRST LOGIN
Config files : /etc/samm/samm.yaml /etc/samm/api.env
============================================================
Mise à niveau
Pour mettre à niveau, récupérez la nouvelle source et réexécutez l'installateur :
git -C /opt/samm pull # or unpack a newer release bundle
sudo bash /opt/samm/install.sh
La réexécution resynchronise la source, met à niveau le venv, réapplique toutes les migrations,
recharge les configurations FreeRADIUS et nginx, et redémarre chaque service. Vos fichiers
de configuration et le port HTTP choisi à la première installation sont préservés.
Conseil
SAMM peut aussi se mettre à jour lui-même — voir Licence & mises à jour.
Activez les mises à jour automatiques, ou appliquez-les à la demande, depuis Système → Licence.
Air-gap & BD distante
SAMM ne livre que SAMM — FreeRADIUS, PostgreSQL, nginx et le reste sont récupérés au
moment de l'installation depuis les dépôts apt en amont, donc les installations en air-gap doivent pré-installer ces
paquets. Pour un PostgreSQL distant, définissez le DSN dans /etc/samm/samm.yaml
après l'installation.
Commencer
Premières étapes
Cinq courtes tâches amènent une nouvelle installation au point où les abonnés peuvent se connecter et être facturés.
1 · Première connexion
Ouvrez http://<your-server>/admin/ (utilisez le port HTTP du
résumé de l'installation s'il n'est pas 80), ou l'URL de votre tunnel Cloudflare .
Connectez-vous avec admin / admin.
Changez immédiatement le mot de passe depuis Système → Administrateurs,
ou depuis le menu de profil dans la barre supérieure.
2 · Ajouter votre premier routeur
Allez dans MikroTik → NAS et cliquez sur Ajouter un routeur.
Entrez l'IP du routeur, un nom court et un secret partagé RADIUS. Pour les appareils
MikroTik, ajoutez éventuellement les identifiants API pour la synchronisation en direct de l'appareil.
Sur le MikroTik, ajoutez un serveur RADIUS pointant vers l'hôte SAMM (ports 1812/1813)
avec le même secret partagé, et activez RADIUS pour PPP / Hotspot.
Aucun redémarrage de FreeRADIUS n'est nécessaire — SAMM résout les clients NAS dynamiquement depuis la
base de données. Voir Routeurs (NAS) pour la procédure complète,
ou laissez l'assistant de configuration configurer le
MikroTik pour vous.
3 · Créer un forfait
Un forfait définit la vitesse, les limites et le prix que vous vendez. Allez dans
Utilisateurs → Forfaits → Nouveau forfait. Référence complète des champs :
Forfaits & limites.
4 · Ajouter un abonné
Allez dans Utilisateurs → Nouveau client, remplissez les identifiants de
connexion et choisissez un forfait. L'abonné peut se connecter immédiatement. Pour un accès hotspot
prépayé, générez plutôt des cartes-bons.
5 · Activer votre licence
Une installation neuve s'exécute non enregistrée à un palier minimum. Ouvrez
Système → Licence et activez pour lever les limites — voir
Licence & paliers.
Rythme quotidien
Ajoutez des routeurs → créez des forfaits → ajoutez des abonnés ou des cartes → surveillez le
tableau de bord → enregistrez les paiements sous
Comptabilité.
Commencer
Migrer depuis un autre système
Vous utilisez déjà un autre système de facturation RADIUS ? SAMM lit ses données et recrée vos forfaits et vos abonnés, sans que vous ayez à ressaisir quoi que ce soit. Les abonnés conservent leur mot de passe de service et leur date d'expiration, et continuent donc à se connecter exactement comme avant.
Allez dans Outils → Export / Import et choisissez votre ancien système sous Migrer depuis un autre système. Comme le reste des Outils, la fonction est réservée aux superadmins.
Ce qu'il faut envoyer
Ancien système
Fichier
D'où il provient
SAS4 / Radius Manager
.sql ou .sql.gz
Une sauvegarde MySQL de l'ancienne base de données
Super Speed Radius
.sql ou .sql.gz
Une sauvegarde MySQL de l'ancienne base de données
Pro Radius
.xlsx ou .csv
Sa liste d'abonnés exportée — ce système ne propose aucune sauvegarde
Les sauvegardes de bases de données pèsent souvent plusieurs gigaoctets ; ce n'est pas un problème, envoyez le fichier tel quel. Les sauvegardes compressées n'ont pas besoin d'être décompressées au préalable.
Comment ça marche
Envoyez le fichier. Rien n'est encore écrit.
Examinez l'aperçu. Il liste les forfaits et les abonnés qui seraient créés, signale tout ce qu'il a dû ignorer ou corriger, et vérifie le total au regard de votre licence avant que vous ne validiez.
Choisissez ce qu'il advient des noms d'utilisateur déjà présents dans SAMM — les ignorer et conserver la fiche SAMM, ou mettre à jour son nom et ses coordonnées depuis l'ancien système.
Importez. Chaque ligne est écrite indépendamment : une seule ligne défectueuse n'annule jamais les autres.
Ce qui est transféré
Forfaits — nom, débits, prix, durée et quota de trafic lorsque l'ancien système les enregistre.
Abonnés — identifiant, mot de passe de service, nom, coordonnées, date d'expiration, forfait, IP statique et MAC.
Les abonnés désactivés dans l'ancien système restent désactivés.
La facturation, les factures, les cartes prépayées, les tickets, la comptabilité et les journaux d'administration ne sont pas importés, délibérément : ils relèvent du modèle de données de l'ancien système et se transposent rarement proprement.
Les valeurs qui ne correspondent pas à leur colonne
Les bases de données réelles sont désordonnées : une adresse saisie dans le champ e-mail, une note dans le champ mobile, un numéro de téléphone écrit au clavier arabe. SAMM vérifie chaque valeur au regard de ce que sa colonne est censée contenir. Tout ce qui ne convient pas est laissé en dehors de ce champ et enregistré à la place dans les notes internes de l'abonné, avec l'indication de sa provenance — ainsi rien n'est perdu et aucun champ n'est pollué. L'aperçu vous indique combien de valeurs sont concernées.
Pro Radius en détail
Pro Radius exporte les abonnés mais pas les forfaits ; SAMM déduit donc les forfaits du niveau de service de chaque abonné, en tirant le débit de son nom (un service nommé « 4MBPS » devient un forfait à 4 Mbps). Trois éléments sont tout simplement absents de ce fichier et reçoivent des valeurs par défaut raisonnables que vous devriez revoir ensuite :
Durée — fixée à 1 mois. La véritable date d'expiration de chaque abonné est importée telle quelle : cela n'affecte donc que les renouvellements futurs.
Débit montant — aligné sur le débit descendant.
Prix — fixé à 0.
Revoyez les forfaits avant de facturer
Après un import Pro Radius, ouvrez Forfaits et définissez le prix et la période réels de chacun. Tant que vous ne l'aurez pas fait, ces forfaits factureront zéro.
Bon à savoir
Vous pouvez le relancer sans risque. Réimporter le même fichier ignore tous ceux qui sont déjà présents au lieu de les dupliquer.
Votre licence s'applique toujours. Si le fichier contient plus d'abonnés que votre offre ne l'autorise, l'aperçu vous le dit d'emblée et vous indique combien tiendraient — vous pouvez passer à une offre supérieure, ou importer un sous-ensemble.
Faites d'abord une sauvegarde si vous importez dans une installation qui contient déjà de vraies données.
Abonnés & forfaits
Forfaits & limites
Un forfait est la définition de service attribuée aux abonnés — il définit
la vitesse, les limites et le prix. Créez des forfaits avant d'ajouter des utilisateurs.
Une installation neuve embarque déjà 9 offres prêtes à l'emploi — huit paliers de vitesse mensuels plus une offre de bridage « Expired » — vous pouvez vendre immédiatement ou créer les vôtres. L'amorçage ne s'exécute qu'à la première installation et n'écrase jamais vos offres.
Créer un forfait
Allez dans Utilisateurs → Forfaits.
Cliquez sur Nouveau forfait.
Remplissez le formulaire et cliquez sur Enregistrer le forfait.
Chaque limite est un interrupteur — n'activez que celles dont vous avez besoin. La même fenêtre modale modifie un forfait existant (ouvrez le menu ⋮ de la ligne → Modifier).
Champs du forfait
Champ
Sens
Nom
Nom unique de forfait, p. ex. Home-50M
Prix
Facturé par période de facturation lorsque la facturation est utilisée
Vitesse de téléchargement / envoi
p. ex. 50M, 512K, 1G — appliqué comme limite de débit MikroTik
Sessions simultanées
Combien d'appareils peuvent être connectés en même temps sur ce forfait. 1 par défaut — une deuxième connexion est refusée tant que la première est active. Mettez 0 pour illimité. Une session qui ne remonte plus rien est ignorée, si bien qu'une coupure ne bloque jamais l'abonné
Limite : Expiration
L'abonnement se termine une période fixe après l'activation (jours/mois/heures/minutes)
Limite : Quota
Un plafond de données total (combiné, téléchargement seul, ou envoi seul) pour tout l'abonnement
Limite : Disponibilité
Un plafond sur le temps de connexion cumulé — la somme de toutes les durées de session
Limite : Utilisation quotidienne
Un plafond de données qui se réinitialise chaque jour à l'heure de réinitialisation quotidienne configurée
Fenêtre illimitée
Ajout rapide d'une fenêtre de vitesse — l'éditeur complet se trouve sur la page Fenêtres de vitesse du forfait
Pool d'adresses IP
Nom optionnel de Framed-Pool RADIUS pour l'attribution d'adresse
Renouvellement automatique
Démarrer une nouvelle période à l'expiration au lieu de changer de forfait ou de déconnecter
Les quatre limites
Chaque limite est indépendante et optionnelle. Lorsque plusieurs sont définies, SAMM les vérifie dans un
ordre fixe — expiration → quota → temps en ligne → quotidien — et la première
épuisée décide de l'action.
Limite
Suit
À l'épuisement
Expiration
Temps calendaire depuis l'activation
Passer à un autre forfait ou déconnecter
Quota
Total d'octets utilisés
Passer à un autre forfait ou déconnecter
Disponibilité
Secondes de session cumulées
Passer à un autre forfait ou déconnecter
Quotidien
Octets depuis la dernière réinitialisation quotidienne
Bridage — aux vitesses saisies, ou via une offre plus lente — jusqu'à la prochaine remise à zéro quotidienne
Pour chaque limite, vous choisissez ce qui se passe à l'épuisement : choisissez une offre suivante vers laquelle basculer l'abonné, ou laissez — déconnexion —. La limite quotidienne bride au lieu de déconnecter : par défaut vous saisissez directement les vitesses de bridage (champs téléchargement / envoi), ou choisissez une offre « suivante » plus lente — dans les deux cas l'abonné revient automatiquement à son offre d'origine à la prochaine remise à zéro quotidienne.
Fenêtres de vitesse
Une fenêtre de vitesse remplace la vitesse de base du forfait pendant des heures définies — par
exemple une fenêtre à vitesse illimitée après minuit. Cliquez sur une ligne de forfait pour ouvrir son
éditeur de Fenêtres de vitesse, qui ajoute le contrôle par jour de la semaine et prend en charge
les fenêtres qui traversent minuit. Lorsque plusieurs fenêtres correspondent, celle à la
plus haute vitesse l'emporte.
Remarque
Les abonnés bridés ou ayant épuisé leur limite sont exclus des fenêtres
de vitesse — SAMM ne lève jamais la vitesse tant qu'une limite est en vigueur.
Deux notions d'utilisation
SAMM conserve l'utilisation à deux endroits, et ne les confond jamais :
Compteurs réinitialisables — l'état par limite. Remis à zéro par une réinitialisation
admin et par la réinitialisation quotidienne.
Compteurs de facturation — totaux à vie non réinitialisables. Jamais remis à zéro,
afin que les rapports et les factures restent exacts.
Gestion des forfaits
La liste des forfaits affiche la vitesse de chaque forfait, le nombre d'abonnés, les limites actives et les fenêtres
de vitesse. Depuis le menu ⋮ d'une ligne, vous pouvez modifier, ouvrir ses fenêtres de vitesse, l'activer/le désactiver,
accéder à ses abonnés ou le supprimer (uniquement lorsqu'il n'a pas d'abonnés). La modification
du renouvellement automatique propose de propager le changement à tous les abonnés actuels.
La copie dupliquée un forfait exactement — vitesses, limites, fenêtres de vitesse et
prix — sous un nouveau nom, ce qui est bien plus rapide que de reconstruire manuellement un tarif pour modifier un
numéro. Si le nom que vous donnez est déjà pris, le prochain numéro disponible est utilisé.
Abonnés & forfaits
Abonnés
Un abonné (client / utilisateur) est un compte PPPoE ou Hotspot qui
s'authentifie auprès de SAMM. Chaque abonné se voit attribuer exactement un forfait.
Créer un abonné
Allez dans Utilisateurs et cliquez sur Nouveau client.
Remplissez le formulaire et sauvegardez — l'abonné peut se connecter immédiatement.
Champ
Sens
Nom d'utilisateur *
Le nom de connexion PPPoE / Hotspot — doit être unique
Mot de passe *
Le mot de passe de connexion (stocké pour l'auth RADIUS PAP/CHAP)
Prénom / Nom
Le nom de l'abonné
Mobile / E-mail / Adresse
Coordonnées — utilisées pour les notifications et les factures
Forfait *
Le forfait de service à attribuer
Remplacement de l'expiration
Date d'expiration manuelle optionnelle au lieu de celle calculée par le forfait
Renouvellement automatique
Renouveler automatiquement la période du forfait à l'expiration
Créez plusieurs abonnés à la fois
Nouveaux utilisateurs par lots crée une série numérotée de comptes en une seule passe —
la méthode habituelle pour distribuer un bloc de connexions à un déploiement villageois, un hôtel, ou un revendeur.
Choisissez combien, à quel numéro commencer, et combien de zéros ajouter (3 donne
001, 002, …); tout le reste — forfait, expiration, renouvellement automatique — est
rempli une fois et appliqué à tous. Ils partagent un mot de passe.
Le choix de facture s'applique à chaque utilisateur du lot séparément , donc une série de cinquante génère soit cinquante factures, soit aucune, et le
le total est affiché avant de vous engager.
La liste des abonnés
La page Utilisateurs liste chaque abonné avec un point de statut visible d'un coup d'œil, le forfait
attribué et ce qui reste de chaque limite — utilisation quotidienne avec une barre de progression, quota
restant, temps en ligne restant et jours restants. Filtrez par statut (Tous / Actifs / Suspendus
/ Expirés / En ligne) ou recherchez par nom d'utilisateur, nom ou mobile.
Le badge d'échange de forfait
Un seul badge correspond au forfait de l'abonné. Deux badges reliés par une flèche
signifient que l'abonné a atteint sa limite quotidienne et est temporairement placé sur un forfait
de bridage — il revient à l'original à la prochaine réinitialisation quotidienne.
Gestion d'un abonné
Cliquez-droit sur une ligne — ou utilisez le menu ⋮ — pour chaque action par abonné :
Action
Ce qu'il fait
Voir / Modifier
Ouvrir la page de détail, ou modifier les coordonnées, le mot de passe et l'expiration
Activer / Désactiver
Suspendre le compte — les abonnés en ligne sont déconnectés
Renouveler l'expiration
Ajoute la durée du forfait au temps restant ; génère une facture si le forfait a un prix
Réinitialiser la disponibilité / le quota / le quotidien
Mettre à zéro le compteur de limite choisi
Utilisation
Ouvrir les graphiques d'utilisation et l'historique des sessions
Supprimer
Supprimer l'abonné et tout son historique — les sessions actives sont d'abord déconnectées
Comment les actions prennent effet
Les réinitialisations, changements de forfait et renouvellements sont mis en file d'attente dans un journal d'audit et appliqués par le
tick samm-radius — généralement en quelques secondes. Si l'abonné est
en ligne, SAMM envoie également un rafraîchissement en direct. Voir
CoA & changements en direct.
La page de détail peut aussi révéler le mot de passe de connexion de l'abonné derrière un bouton œil (copie en un clic) — pratique quand un client demande ses identifiants.
La vue d'utilisation
L'action Utilisation ouvre une page de trafic détaillé pour un abonné,
avec un sélecteur de période de 7j / 14j / 30j / 90j. Elle rapporte trois chiffres clés —
le trafic d'aujourd'hui (avec la répartition upload/download et les minutes en ligne),
le trafic de ce mois, et le temps de connexion cumulé
pour le mois. En dessous, un graphique de trafic quotidien des uploads
contre les downloads, et un tableau complet de l'historique des sessions :
l'heure de début et de fin, la durée, les octets téléchargés et téléchargés,
le NAS, et la cause de terminaison de chaque session.
Opérations en masse
Pour changer le propriétaire, l'expiration, le statut ou le renouvellement automatique de plusieurs abonnés à la fois — ou
pour en supprimer plusieurs — utilisez les outils Modifications en masse et
Suppression en masse. Pour créer des abonnés en masse depuis une feuille de calcul, utilisez Export / Import.
Restreindre un abonné à des routeurs spécifiques
Un abonné (ou un groupe de cartes entier) peut être épinglé sur un NAS spécifique
routers à partir de son formulaire d'édition. Sans aucun routeur sélectionné, le compte fonctionne sur n'importe quel
NAS ; avec un ou plusieurs sélectionnés, l'authentification est acceptée seulement parmi ceux
routeurs - fermeture en cas d'échec appliquée à l'intérieur de RADIUS lui-même. Le changement d'appareil déconnecte tout
session en direct sur un routeur désormais interdit. Combiné avec l'administrateur By-NAS
cadrage, c'est ainsi que les configurations multi-agences et franchises conservent les abonnés de chaque agence
sur les routeurs de cette branche.
Abonnés & forfaits
Cartes Hotspot
Pour un accès Hotspot prépayé, générez un lot de cartes-bons
au lieu d'abonnés individuels. Chaque carte est une paire nom d'utilisateur/mot de passe avec sa propre
vitesse et ses propres limites, générée par milliers et imprimée pour distribution.
Créer un groupe de cartes
Allez dans Utilisateurs → Cartes Hotspot et cliquez sur Nouveau groupe.
Remplissez le formulaire ci-dessous et cliquez sur Créer le groupe — SAMM génère
automatiquement les identifiants de chaque carte.
Section
Champs
Identité
Nom unique de groupe, description, préfixe de nom d'utilisateur optionnel, nombre de cartes à générer (jusqu'à 10 000)
Identifiants
Format et longueur du nom d'utilisateur et du mot de passe (chiffres / lettres / alphanumérique)
Limite de vitesse
Vitesse de téléchargement et d'envoi — 256k, 6M, 1G ; 0 = illimité
Limite de transfert
Illimité, plafond combiné, ou plafonds séparés de téléchargement/envoi (Mo / Go / To)
Limites de temps
Plafond de temps en ligne, expiration après la première connexion, et une date "valable jusqu'au" pour le groupe
L'expiration se compte à partir de la première connexion de chaque carte, tandis que
valable jusqu'au est une date butoir ferme — les cartes ne peuvent pas être utilisées après,
qu'elles aient été activées ou non.
Gérer un groupe
Ouvrez le menu ⋮ d'un groupe pour activer ou désactiver toutes les cartes d'un coup, prolonger la date « valable jusqu'au », ajouter des cartes au lot, ou modifier ses détails. Une carte individuelle peut être réinitialisée (quota, durée ou expiration) ou désactivée depuis sa page de détail.
Un groupe dupliqué copie chaque paramètre exactement et génère le même nombre de cartes avec des codes frais. Un code de carte ne peut appartenir qu'à une seule carte, donc une copie est une nouvelle impression, et non une clone de l'ancienne. C'est la méthode rapide pour réimprimer un lot de bons qui se sont épuisés.
Statuts des cartes
Statut
Sens
Non utilisé
Généré mais jamais connecté
Actif
En cours d'utilisation, dans ses limites
Épuisé
Une limite (quota, disponibilité ou expiration) a été atteinte
Désactivé
Désactivé manuellement
Impression & suivi
Ouvrez un groupe pour voir ses cartes, imprimez-les en PDF pour distribution
(la mise en page d'impression utilise votre logo FAI depuis les Paramètres), et examinez l'utilisation par carte. Le trafic
des cartes apparaît également dans Rapports sous l'onglet
Cartes, et chaque groupe a sa propre vue comptable.
Abonnés & forfaits
Libre-service : les invités se connectent eux-mêmes
L'inverse d'un voucher : personne n'imprime quoi que ce soit et personne ne se tient à un bureau. Un visiteur se connecte à votre point d'accès, appuie sur Enregistrer sur la page de connexion, saisit son nom et son numéro de téléphone mobile, et SAMM lui envoie un code par SMS, WhatsApp ou e-mail. Il le saisit sur la même page et est en ligne — et vous conservez un enregistrement nommé et exportable de tous ceux qui ont utilisé le réseau invité.
Lieux typiques : restaurants et cafés, hôtels et chambres d'hôtes,
expositions et foires commerciales, conférences, centres commerciaux, cliniques et salles d'attente,
gymnases, espaces de coworking, salons, salons d'aéroport, stades, campus, bibliothèques,
salles d'exposition automobiles, lieux de mariage, centres de villégiature et campings.
L'allumer
Configurez d'abord un canal de livraison.Centre de notification → activez les SMS ou WhatsApp et
envoyez-vous un message de test. Rien d'autre ne fonctionne tant qu'un canal n'est pas activé.
Service auto → Paramètres : cocher
Autoriser les invités à s'enregistrer, sélectionner les canaux à offrir, et définir la durée de validité d'un code d'accès ainsi que le délai d'attente d'un invité avant de demander un nouveau code.
Laissez les codes d'accès provenir du groupe « Self Service » à moins d'avoir une raison de changer, ce groupe détermine la vitesse et le nombre d'appareils pouvant partager un code d'accès.
Activez l'onglet Enregistrer pour chaque conception de connexion que vous utilisez
— voir ci-dessous. C'est l'étape que les gens oublient.
La page de connexion – l'étape que les gens manquent
L'onglet Enregistrer est conçu par défaut pour être par connexion et est désactivé. Ouvrez MikroTik Manager → le routeur → Page de connexion, modifiez le design que vous utilisez et cochez Autoriser l'auto-service. Vous pouvez modifier chaque phrase qu'un invité voit sur la même page — l'étiquette de l'onglet Enregistrer, la ligne d'introduction, les deux étiquettes de champ, le bouton, et les cinq réponses (« votre code est en cours d'envoi », « vous en avez déjà un », « veuillez réessayer plus tard », « nous n'avons pas pu l'envoyer », « l'inscription n'est pas disponible »).
Appuyez ensuite sur Push – et appuyez à nouveau après chaque SAMM mise à niveau.
Les pages de connexion au point d'accès résident dans la mémoire flash du routeur lui-même,
et non dans SAMM. La mise à niveau de SAMM ne les repousse pas, donc un routeur continue de servir sa page ancienne
— sans onglet « Enregistrer » dessus — jusqu'à ce que vous la repoussez. SAMM vous avertit sur l'onglet de la page de connexion
lorsqu'un routeur sert des pages plus anciennes que votre version installée, et la page d'auto-service répertorie tous les routeurs
qui ne peuvent pas afficher l'onglet et propose de les corriger tous en une seule fois.
Les règles qui mettent fin aux abus
Un code d'accès actif par numéro. Demander à nouveau pendant qu'un code est encore valide invite l'invité à vérifier ses messages plutôt que d'envoyer un autre code.
Puis une période d'attente que vous définissez, avant que ce nombre puisse demander un nouveau code.
La validité commence au moment de l'envoi du code d'accès,
et non à la première connexion — un code non utilisé pendant une semaine ne fonctionnera plus.
Une limite quotidienne définie par votre licence (voir ci-dessous). Une fois utilisée, les invités sont invités à réessayer plus tard et les codes d'accès déjà délivrés continuent de fonctionner.
Chaque tentative est enregistrée contre l'adresse MAC de l'appareil tel que le
routeur l'a signalé — ce qu'un invité ne peut pas falsifier depuis son navigateur.
La licence
Self Service est licencié séparément de votre offre, selon le nombre de codes d'accès que l'installation peut émettre par jour, et se renouvelle à sa propre date — vous pouvez donc être sur Free avec une option payante, ou sur Unlimited sans. Chaque installation reçoit 10 codes par jour gratuitement ; Light passe à 50, Heavy à 200 et Max supprime la limite. Voir les tarifs.
La page Auto-Service affiche utilisé / autorisé pour la journée actuelle et
indique clairement lorsque la limite est atteinte. Achetez ou renouvelez depuis votre tableau de bord sur
securytik.com, ou demandez depuis Système → Licence et un
administrateur SecuryTik l'approuve. Un code d'accès qui n'a pas pu être délivré ne déduit pas de votre limite.
Réseau & routeurs
Routeurs (NAS)
Un NAS (Network Access Server) est un routeur qui authentifie
les abonnés auprès de SAMM via RADIUS. Chaque routeur qui transporte du trafic d'abonnés
a besoin d'un enregistrement NAS.
Ajouter un routeur
Allez dans MikroTik → NAS et cliquez sur Ajouter un routeur.
Remplissez les champs ci-dessous et sauvegardez.
Champ
Sens
IP NAS / nom d'hôte
L'adresse du routeur, telle que vue par l'hôte SAMM
Nom court
Un label convivial affiché dans toute l'interface
Type
mikrotik débloque la synchronisation en direct de l'appareil et le push de configuration ; les autres types sont RADIUS uniquement
Secret
Le secret partagé RADIUS — doit correspondre exactement au routeur, sinon l'authentification échoue
Port CoA
Port UDP auquel SAMM envoie les paquets Change-of-Authorization (3799 par défaut sur MikroTik)
Port API / utilisateur / mot de passe
Identifiants API MikroTik que SAMM utilise pour lire les informations de l'appareil et pousser la configuration
Aucun redémarrage nécessaire
SAMM résout les clients NAS dynamiquement depuis la base de données — ajouter ou supprimer un
routeur ne nécessite jamais de redémarrage de FreeRADIUS.
La liste NAS
Chaque routeur s'affiche dans un seul tableau — ID, IP NAS / nom d'hôte, nom court, type, un
secret masqué (cliquez sur la cellule pour le révéler), les ports CoA et API, et un
résultat ping en direct avec le temps d'aller-retour. La boîte de recherche filtre par IP,
nom court ou description.
Le menu ⋮ de chaque ligne contient les actions par routeur — Voir l'appareil et
Actualiser les infos (MikroTik uniquement), Modifier, Pousser
la configuration RADIUS (MikroTik uniquement) et Supprimer. Ouvrir une
ligne de type mikrotik vous emmène directement à sa
page d'appareil.
Découvrir les voisins
Cliquez Discover neighbors pour balayer le réseau à la recherche d'appareils MikroTik (via le protocole de découverte de voisins MikroTik) et les ajouter comme enregistrements NAS sans saisir chaque adresse. Un routeur découvert peut être ajouté par IP, ou auto-ajouté — un amorçage en un clic qui crée un utilisateur de gestion SAMM sur le routeur, pousse une IP de gestion et supprime le pont d'usine.
L'auto-ajout est pour les routeurs vierges
L'amorçage en un clic est destiné aux appareils sortis d'usine (ou réinitialisés) — sur un routeur déjà configuré, il peut écraser ou casser la configuration existante.
Pousser la configuration RADIUS vers le routeur
Pour les enregistrements NAS MikroTik, le menu ⋮ de la ligne propose Pousser la configuration RADIUS
— SAMM configure le routeur pour vous via l'API au lieu que vous le tapiez à la main. Vous
confirmez l'IP du serveur SAMM (elle doit être accessible depuis le routeur) et les ports auth,
accounting et CoA ; SAMM crée ou remplace alors une entrée RADIUS sur le routeur :
Paramètre
Valeur
Commentaire
SAMM — l'étiquette que SAMM utilise pour trouver et mettre à jour cette entrée ultérieurement
Service
hotspot, ppp
Adresse / secret
L'hôte SAMM, avec le secret partagé de cet enregistrement NAS
Délai d'attente
3000 ms
CoA entrant
Accepté, sur le port CoA que vous avez confirmé
Le dialogue affiche un journal de résultats lorsque le push se termine.
Configurer le côté MikroTik
Si vous configurez le routeur manuellement :
Ajoutez un serveur RADIUS pointant vers l'hôte SAMM, avec le même secret
partagé, activé pour PPP / Hotspot.
Utilisez le port d'authentification 1812, le port de comptabilité 1813.
Acceptez les CoA entrants sur le port 3799.
Réglez l'intervalle Interim-Update de la comptabilité à environ 5 minutes (défaut de l'assistant SAMM) — c'est la fréquence à laquelle SAMM cumule l'usage et évalue les limites ; des intervalles plus courts réduisent la latence des limites au prix de plus de trafic de comptabilité.
Appareils de surveillance uniquement
Un routeur ajouté en tant que moniteur apparaît dans l'inventaire MikroTik et
est pingé et synchronisé, mais n'a aucun rôle RADIUS — il ne peut pas authentifier les abonnés. Utilisez-le
pour surveiller les routeurs qui ne sont pas des NAS d'abonnés.
Réseau & routeurs
Gestionnaire MikroTik
Lorsque un routeur possède des identifiants API, SAMM le gère directement via l'API MikroTik — sans WinBox ni SSH. La section MikroTik est un inventaire en temps réel de chaque routeur, et chaque appareil ouvre une page de détails avec quinze onglets qui configurent presque toutes les parties de RouterOS directement depuis votre navigateur.
Moniteur MikroTik
MikroTik → Le moniteur affiche une carte par routeur, disposée
comme une grille. Rapports de chaque carte — actualisés par samm-worker et interrogés en direct
toutes les 30 secondes : le point d'accessibilité, la version RouterOS , la charge du processeur et le nombre de cœurs,
utilisation de la mémoire, nombre de sessions actives, temps de disponibilité et heure du dernier échantillon.
Une carte est étiquetée soit NAS (un routeur qui authentifie également les abonnés via RADIUS) soit surveillance (un appareil ajouté uniquement pour la surveillance). Ajouter MikroTik enregistre un nouvel appareil ; Actualiser maintenant force un sondage immédiat. Les cartes uniquement surveillance disposent d'un menu contextuel au clic droit — Ouvrir, Modifier, Actualiser les informations, Supprimer.
La page de l'appareil — quinze onglets
Ouvrez n'importe quel appareil pour sa page de gestion complète. Les onglets se répartissent en quatre groupes.
Surveillance
Onglet
Ce qu'il montre
Aperçu
Informations sur l'appareil, informations sur le système et graphiques d'historique des performances (CPU, mémoire, sessions au fil du temps)
Interfaces
Chaque interface avec son état actif, ainsi que l'historique du trafic par interface
Sites et applications
Trois sous-vues : Monitor (sites et applications vus sur le routeur avec historique de trafic), QoS (priorité par application, ci-dessous) et App Filter (blocage de contenu DNS depuis le catalogue)
Gestionnaire
L'onglet Général du gestionnaire est la page de gestion de l'appareil :
- Identité (nom du routeur),
- Heure (horloge, fuseau horaire et NTP),
- et Outils (redémarrage, ping et autres actions un clic pour le routeur).
Configuration réseau
Onglet
Ce que vous configurez
Bridge
Créez des ponts LAN et choisissez quelles interfaces physiques (ports) appartiennent à chacun
VLAN
Ajouter et gérer des interfaces VLAN
IP
Trois sous-onglets — Statique (adresses statiques et dynamiques), Client DHCP (requiert une adresse auprès de l'upstream), Serveur DHCP (distribue des adresses, avec un tableau de location actif)
DNS
Sites et applications
WiFi / CAPsMAN
Interfaces Wi-Fi avec leurs configurations et profils de sécurité ; et le contrôleur CAPsMAN — configurations, règles de provisionnement et CAP distants
Services & maintenance
Onglet
Ce que vous configurez
PPPoE
Serveurs PPPoE, profils PPP, pools IP et intervalle de mise à jour intermédiaire de la comptabilité RADIUS
Hotspot
Serveurs hotspot, profils de hotspot et profils utilisateur, pools DHCP/IP et page de connexion au portail captif
Internet
Liaisons montantes WAN : WAN gérés par SAMM et routes par défaut, avec tous les WAN non SAMM existants affichés en lecture seule
Pare-feu
Règles de filtrage, analyse de sécurité du routeur, connectivité et cibles, modules de sécurité et sauvegardes du pare-feu — Auto-Security prend un instantané avant d'appliquer et peut armer un retour arrière temporisé : un jeu de règles qui vous enferme dehors est restauré automatiquement
Mise à jour
RouterOS mises à jour : choisissez un canal de mise à jour, vérifiez et appliquez, puis examinez les packages installés
Assistant
La première configuration guidée, ci-dessous
L'intervalle de mise à jour intermédiaire PPPoE
Sur l'onglet PPPoE, Mise à jour intermédiaire définit la fréquence à laquelle le routeur envoie des paquets de comptage RADIUS Interim-Update à SAMM. SAMM utilise ces paquets pour accumuler les compteurs d'octets et de temps d'activité et pour évaluer les limites quotidiennes et de temps d'activité — sans eux, l'application des limites et les compteurs de session en direct restent bloqués. La valeur recommandée est 5m.
La page de connexion Hotspot
Depuis l'onglet Hotspot, vous gérez la page de connexion du portail captif :
conservez les pages par défaut de MikroTik, appliquez l'un des modèles intégrés,
ou appliquez l'un de vos designs enregistrés. SAMM inclut un éditeur de design visuel
et une galerie de modèles — personnalisez une page de connexion et poussez-la directement vers le
hotspot du routeur.
QoS par application
La vue QoS (un sous-onglet de Sites Web et applications) affiche les applications et les sites SAMM voit déjà sur le routeur un plan de priorité de téléchargement. Faites glisser chaque application du pool vers
l'un des huit emplacements prioritaires : l'emplacement 1 est servi en premier en cas de conflit, l'emplacement 8
dernier; les applications laissées dans le pool ne sont pas façonnées. Limitez éventuellement la vitesse de téléchargement de n'importe quelle application (par exemple 10M ) et définissez un plafond total de téléchargement pour lequel vous pourrez concourir en priorité. Distribution automatique
par catégorie organise tout en un clic : la messagerie d'abord, puis les services d'IA, puis
magasins, avec tout le reste ci-dessous.
Lorsque vous l'envoyez, SAMM compile les emplacements en un arbre de files d'attente MikroTik
(étiqueté SAMM:qos, parent=global) avec des règles de pare-feu de marquage de paquets correspondantes,
la priorité la plus élevée en premier. Il repose sur le même catalogue Sites web et applications
qui alimente la surveillance, de sorte que seules les applications réellement vues sur le routeur apparaissent — et la suppression
de SAMM QoS retire du routeur tous les objets SAMM:qos, en laissant vos compteurs
intacts.
L'assistant de configuration
L'onglet Assistant rassemble tout en dix courtes étapes et pousse la configuration complète vers le routeur en un lot à la fin. Rien n'est envoyé avant votre confirmation à l'étape de revue finale.
Bienvenue et détecter — SAMM sonde le routeur et montre ce qui se passe
déjà configuré, vous pouvez donc ignorer ces éléments dans le push.
Interface de pont — nommez le pont LAN.
Ports de pont — sélectionnez les interfaces physiques qui rejoignent le pont.
DNS — configurer les résolveurs en amont (préréglages en un clic pour Google,
Cloudflare, Quad9 et plus), taille du cache, et optionnellement un filtre de contenu DNS.
NTP — définissez la source d'horloge du routeur (client NTP, et éventuellement servir l'heure au LAN).
Internet — ajouter un ou plusieurs liens WAN (statique / DHCP / PPPoE).
RADIUS vers SAMM — configurez votre routeur pour qu'il pointe vers votre hôte SAMM pour l'authentification, la comptabilité et la CoA.
Services — choisissez si le magicien crée un serveur PPPoE, un serveur Hotspot, ou un service IPoE / DHCP, et activez éventuellement le
dual-stack IPv6 (optionnel, désactivé par défaut) : sélectionnez la longueur de préfixe délégué (DHCPv6-PD), les blocs IPv6 et le magicien configure les pools et les attache au profil PPP.
Détails PPPoE / Hotspot et pare-feu — pools, profils, durées de bail, règles de pare-feu et NAT, plus un pool Expiré et blocage internet optionnel qui redirige les abonnés expirés vers la page « abonnement expiré » de SAMM au lieu d'une connexion morte.
Consultez & l'envoi — voyez la liste exacte des commandes qui seront
envoyées, puis envoyez-les toutes au routeur.
La vitesse par utilisateur vient de RADIUS
L'assistant crée un seul profil PPPoE/hotspot — il ne pousse pas par niveau
profils. La vitesse de chaque abonné est fournie par SAMM dans la réponse RADIUS lors de la connexion,
les modifications de plan ne nécessitent donc jamais de modification du routeur.
Réseau & routeurs
Carte du réseau, santé et Data Log
Carte du réseau
Devices → Network Map est dessinée à partir de ce que chaque routeur signale de ses voisins — aucun schéma à maintenir. Changez de calque pour les ports, adresses IP, sous-réseaux et CPU, ou affichez le chemin de chaque appareil vers internet. Placez les nœuds et enregistrez la disposition ; Discover now relit les voisins.
Santé du réseau
Devices → Network Health liste chaque routeur, du pire au meilleur : sain, avec avertissements, répond mais défaillant, ou injoignable. Chaque constat dit ce qui ne va pas en termes simples — CoA désactivé, secret RADIUS différent, horloge désynchronisée, Telnet ou FTP ouvert. Les contrôles ne font que lire le routeur. Depuis la vue Diagnose d'un routeur, les constats courants ont une correction en un clic avec aperçu préalable, réversible. Les constats ouverts déclenchent des alertes dans l'Alert Center.
Les deux pages dépendent d'un interrupteur dans les paramètres. Désactivé, SAMM ne contacte pas les routeurs pour elles.
Data Log
Ouvrez un utilisateur et choisissez Data Log pour voir où va son trafic : principales destinations par hôte et application — YouTube, Facebook, WhatsApp — avec envoi, réception et connexions, ou une chronologie. SAMM lit l'export de flux du routeur (IPFIX), sinon sa table de connexions, et nomme les applications avec le même catalogue que l'App Filter. SAMM n'est jamais sur le chemin du trafic.
Désactivé tant que vous ne l'activez pas
Un superadministrateur active le Data Log dans les paramètres et choisit sa durée de conservation. Les chiffres sont indicatifs ; la facturation repose toujours sur la comptabilité RADIUS.
Réseau & routeurs
CoA & changements en direct
CoA (Changement d'autorisation) permet à SAMM de modifier la session d'un abonné pendant qu'il est connecté, en augmentant ou en diminuant sa vitesse, ou en le déconnectant, sans attendre une nouvelle connexion.
Comment un changement atteint un abonné actif
SAMM ne pousse jamais un changement de routeur directement à partir d'un clic sur un bouton. Chaque action d'administrateur suit un chemin sécurisé :
L'action est enregistrée dans un journal d'audit en tant que commande mise en file d'attente.
Le service samm-radius vide la file d'attente lors de son prochain tick, applique
le changement, et — si l'abonné est en ligne — met en file d'attente un CoA.
La boîte d'envoi CoA est vidée et le paquet est envoyé au routeur.
Les événements pilotés par le temps — expiration, bords des fenêtres de vitesse, réinitialisations quotidiennes — alimentent la même boîte de sortie.
La limite supérieure de latence est un samm-radius tick (30 s par défaut ; réduisez-le dans les paramètres pour une application plus stricte).
CoA hybride
SAMM envoie d'abord un CoA-Update pour modifier la session en place. Si le routeur le rejette après les tentatives configurées, SAMM retombe automatiquement sur un Disconnect-Request — l'abonné se reconnecte et applique les nouveaux paramètres. Cette stratégie hybride fonctionne avec les différentes versions du firmware MikroTik.
La page de la boîte d'envoi CoA
Utilisateurs → CoA Outbox est la vue en direct de cette file d'attente. samm-radius est le seul expéditeur – le panneau d'administration ne transmet jamais de CoA
directement - et il vide la file d'attente à chaque tick. La page s'actualise automatiquement tous les
30 secondes.
Six compteurs sont en tête de la page : En attente, Envoyé, NACK (nouvelle tentative), Terminé,
Échec et Total . Filtrer le tableau par statut, par action
( update ou disconnect ), ou effectuez une recherche par nom d'utilisateur, IP NAS ou
raison.
Statut
Sens
en attente
En file d'attente, en attente du prochain samm-radius tick
envoyé
Expédié (transitoire — l'envoi et son résultat sont enregistrés dans le même tick, les lignes restent rarement dans cet état)
nack
Le routeur a rejeté la mise à jour CoA – SAMM réessaye, puis revient à une déconnexion
terminé
Candidature réussie
échoué
A abandonné après la limite de tentatives – survolez le badge pour la dernière erreur
Chaque ligne affiche l'utilisateur, le routeur, l'action, le nombre de tentatives, la raison, ainsi que les heures de création et d'envoi. Les actions par ligne vous permettent de :
- Retenter un paquet échoué ou rejeté,
- Annuler un paquet encore en vol,
- Ou ouvrir les Attributs pour inspecter les attributs RADIUS exacts que transporte le paquet.
L'icône de la barre latérale compte les lignes en attente ; le tableau de bord suit les échecs sur 24 heures. Un système sain garde cette file d'attente presque vide.
Reaper de session obsolète
Si un routeur plante ou perd sa connectivité, ses paquets de comptage peuvent être perdus —
et sur de nombreux systèmes, ces abonnés restent « en ligne » indéfiniment. SAMM recherche les sessions
qui ont cessé d'envoyer des mises à jour intermédiaires et les ferme automatiquement (cause de terminaison Reaped-Stale),
de sorte que la liste des sessions actives, les comptes d'utilisateurs simultanés et les chiffres d'utilisation restent exacts. Le délai d'attente est le paramètre stale_session_timeout_seconds
(par défaut 900 s = 15 minutes ; définir 0 pour le désactiver), et il prend effet en direct — aucune redémarrage nécessaire.
Opérations quotidiennes
Tableau de bord & sessions en direct
Les deux écrans sous Vue d'ensemble sont là où vous commencez
chaque quart de travail — le Tableau de bord pour la santé de tout le système, Sessions en direct pour
savoir exactement qui est connecté en ce moment.
Tableau de bord
Vue d'ensemble → Tableau de bord est l'écran d'accueil de l'opérateur. Un
sélecteur de période en haut — Aujourd'hui, 7j, 14j, 30j, 90j — définit
la fenêtre pour le graphique de tendance et les chiffres limités par date.
Les six tuiles KPI
Chaque vignette est un compteur en direct et un raccourci : cliquez dessus pour accéder directement à la liste filtrée derrière le numéro.
Tuile
Affiche
Ouvre
En ligne maintenant
Abonnés avec une session RADIUS active en ce moment
Utilisateurs filtrés à En ligne
Abonnés actifs
Comptes actifs avec le nombre total d'abonnés en dessous
Utilisateurs filtrés à Actifs
Expiré
Abonnés dont l'abonnement a expiré sans forfait suivant défini
Utilisateurs filtrés à Expirés
Tickets ouverts
Tickets d'assistance non résolus (hors terminés et fermés)
Utilisateurs → Tickets d'assistance
Routeurs
Total des enregistrements NAS, plus le nombre actuellement inaccessible
Le moniteur MikroTik
Factures impayées
Factures nécessitant encore un suivi de paiement
Factures filtrées à Non payées
Graphique des utilisateurs & sessions en direct
Un graphique à lignes avec instantané quotidien affiche trois séries sur la période sélectionnée :
— utilisateurs actifs,
— séances en ligne, et
— utilisateurs expirés
— pour que la croissance et l'attrition soient visibles d'un coup d'œil.
Santé du pipeline
Ce panneau est le cœur du moteur d’application. Sur un système sain, le
les files d'attente sont égales ou proches de zéro - un nombre qui reste élevé indique un service bloqué ou un
le routeur rejette les modifications.
Métrique
Ce que ça signifie
samm-radius file d'attente
Les CoA en attente attendant le prochain tick – devraient être effacés en quelques secondes
CoA échoués (24h)
Zéro sur un système sain ; un nombre différent de zéro signifie qu'un routeur rejette les CoA
Journal d'audit en attente
Actions d'administration en attente non encore appliquées par samm-radius
Sessions limitées
Abonnés actuellement limités à une vitesse réduite – attendu, pas une erreur
Instantané des sessions
Le compteur de sessions en direct — doit suivre En ligne maintenant
Forfaits actifs
La taille de votre catalogue de plans
Le chemin d'application
Les actions d'administration sont mises en file d'attente vers samm.audit_log ; le samm-radius tick les draine et émet des CoA dans samm.coa_outbox . Le chemin complet est\n dans CoA & changements en direct .
Tableaux d'activité récente
Quatre tables sous le graphique offrent une vue d'ensemble dynamique des événements récents, chacune avec un
Voir tout lien vers sa page complète.
Boîte de sortie CoA récente — action, utilisateur, statut (réussi / en attente / rejeté / échoué), nombre de tentatives, raison et heure.
Actions administratives récentes — action, cible, l'acteur qui l'a déclenchée, si elle est déjà appliquée, et l'heure.
Abonnés récents — les comptes les plus récents avec leur statut et l'heure de dernière authentification.
Routeurs — chaque NAS avec un point de santé accessible/inaccessible/sans données.
Sessions en direct
Vue d'ensemble → Sessions en direct liste tous les abonnés dont les routeurs signalent actuellement la connexion en ligne via la comptabilité RADIUS. La page se rafraîchit automatiquement toutes les 30 secondes ; un bouton Rafraîchir manuellement est situé dans la barre d'en-tête.
Filtrer la liste
Rechercher — correspond aux noms d'utilisateur, aux adresses IP encadrées ou aux adresses IP NAS, en soumettant au fur et à mesure que vous tapez.
Routeur — restreignez la liste aux sessions sur un seul NAS.
Seuls les abonnés limités — n'afficher que les abonnés ayant une limite de vitesse réduite.
Par page — 20, 50, 100 ou 200 lignes.
Ce que chaque ligne montre
Colonne
Sens
Utilisateur
Nom d'utilisateur : liens vers la page de détails de l'abonné
IP attribuée
L'adresse attribuée par le routeur à cette session
Routeur
Le nom court du NAS et son adresse IP
Forfait
Le forfait actuel de l'abonné
Vitesse effective
La vitesse imposée sur le routeur en ce moment — la vitesse du forfait ajustée par toute fenêtre de vitesse active. Un badge throttled indique qu'une limite retient l'abonné à une vitesse réduite.
Descendant / Montant
Compteurs d'octets en direct pour la session
En ligne
Combien de temps dure la session
Démarré
Quand la session a commencé
Déconnecter une session
Le bouton Déconnecter sur une ligne met en file d'attente un CoA-Disconnect pour cette session exacte (raison admin_manual ) après une invite de confirmation.\n L'abonné abandonne immédiatement ; si leur compte est toujours actif, ils sont libres de\n reconnecter. Suivez le paquet dans la Boîte d'envoi CoA .
Opérations quotidiennes
Rapports & analyses
Vue d'ensemble → Rapports est la vue analytique — tendances des abonnés, trafic au fil du temps, et les utilisateurs et cartes les plus actifs sur votre réseau.
Choisir la plage
Chaque figure sur la page est liée à une plage de dates. Choisissez un paramètre prédéfini — 7j, 14j, 30j, 90j — ou saisissez explicitement les dates de début et de fin début et fin et cliquez sur Appliquer. Un surbrillance de chargement couvre la page pendant qu'une requête à longue portée comme 90j s'exécute.
Tendances abonnés & sessions
Un graphique en courbes avec trois séries sur la période choisie : abonnés actifs, séances en ligne et abonnés expirés. Utilisez-le pour identifier la croissance, l'attrition et les heures de pointe de votre réseau.
Trafic quotidien
Un graphique à barres empilées des octets téléchargés et téléchargés par jour. En survolant une journée, les chiffres des téléchargements et des téléchargements, ainsi que le total combiné, s'affichent dans le pied de la suggestion.
Listes Top 10
Quatre tableaux présentent vos comptes à trafic le plus important, chacun classé par volume en Go :
Liste
Classements
Top 10 téléchargement aujourd'hui
Plus grand téléchargement depuis la dernière réinitialisation quotidienne
Top 10 envoi aujourd'hui
Plus grand envoi depuis la dernière réinitialisation quotidienne
Top 10 téléchargement mensuel
Plus grand téléchargement ce mois calendaire
Top 10 envoi mensuel
Plus grand envoi ce mois calendaire
Trafic par entité
Un tableau paginé et consultable du trafic par compte. Deux onglets changent ce qu'il répertorie :
Utilisateurs — chaque abonné avec son nom, son forfait,
les téléchargements/uploads d'aujourd'hui en Mo, et les téléchargements/uploads du mois en Go.
Cartes — chaque carte de point d'accès avec son groupe, son statut, et la même
répartition du trafic aujourd'hui / par mois.
La barre de recherche filtre la table au fur et à mesure que vous tapez ; le
sélectionneur par page permet de choisir entre 20 et 200 lignes par page. Chaque ligne mène au
détail de l'abonné ou de la carte correspondant.
Export
Les rapports sont une vue analytique à l'écran. Pour que les lignes brutes soient analysées dans une feuille de calcul,\n utilisez Outils → Exporter/Importer pour télécharger\n utilisateurs, forfaits ou NAS au format CSV / XLSX.
Opérations quotidiennes
Comptabilité & facturation
SAMM dispose d'un système de comptabilité double entrée complet intégré —
factures, dépenses, reçus, paiements, revendeurs, actifs immobilisés et états financiers complets. Il n'y a pas de produit de facturation séparé à intégrer, et aucun comptable nécessaire pour tenir les comptes en ordre.
Vous ne touchez jamais aux débits et crédits
Chaque action — enregistrer un paiement, ajouter une dépense, vendre un groupe de cartes —
crée automatiquement une écriture comptable équilibrée dans le grand livre. Vous
travaillez en termes simples (factures, dépenses, reçus) ; SAMM gère les livres comptables en double entrée en coulisses et démontre leur équilibre dans le grand livre d'essai.
La page Comptabilité est organisée en onze onglets.
Aperçu
Le portrait financier. Quatre grands chiffres figurent en tête :
Chiffre
Sens
Trésorerie disponible
Solde total sur tous les comptes de caisse & bancaires
L'argent qui vous est dû
Créances — factures clients et revendeurs impayées
Argent que vous devez
Dettes — dépenses impayées
Bénéfice ce mois
Revenus moins dépenses pour le mois en cours
Ci-dessous : un tableau de chaque cash & compte bancaire avec son solde, et un
Tableau des revenus par rapport aux dépenses au cours des 1, 2, 3, 6 ou 12 derniers mois.
Factures
Une facture est une note que vous émettez. Cliquez sur Nouvelle facture et remplissez :
Champ
Sens
Client
Recherche par saisie anticipée du compte facturé
Catégorie de revenus
Sur quel compte de revenus la vente est enregistrée
Date d'émission / d'échéance
Date d'émission vierge = aujourd'hui ; date d'échéance vide = la date d'émission
Taux d'imposition % / groupe de taxe
Par défaut, le taux est celui défini dans Paramètres → Facturation ; attribuez un groupe fiscal pour appliquer plusieurs taux (TVA/GST et plus) en même temps, chacun étant posté à son propre compte fiscal
Lignes de commande
Une ou plusieurs lignes de description/quantité/prix unitaire — calcul du sous-total, des taxes et du total en direct
Combien facturer : complet, segmenté ou rien
Partout où SAMM est sur le point de facturer un abonné — activation, renouvellement, changement de forfait, prolongation de l'expiration, ou toute action en vrac — la même sélection de facturation apparaît, et elle affiche les montants avant toute validation.
Choix
Ce qu'il facture
Facture complète
Périodes entières du plan uniquement : une période partielle est arrondie à une période entière.
Facture segmentée
L'heure exacte, au prorata de la dernière période partielle. Le total est arrondi au montant entier le plus proche, la différence étant comptabilisée sous forme d'ajustement d'arrondi afin que les livres restent équilibrés.
Pas de facture
Changez de service et ne facturez rien : une extension de bonne volonté, une migration, une correction.
Définissez la durée avec le multiplicateur de périodes pour l'ensemble des périodes du forfait,
ou entrez une date exacte et laissez SAMM calculer le coût. Dans les deux cas, le panneau affiche les
éléments de ligne, la taxe et le total lorsque vous les modifiez, et Payé enregistre un
paiement en espèces pour le montant total immédiatement.
"Pas de facture" c'est un droit, pas une case à cocher
Ne facturer rien est une décision financière, c'est donc limité par une autorisation par rôle dans
Paramètres → Administrateurs. Cela est particulièrement important avec
agents : un agent dont les abonnés facturent à leur propre solde prépayé
pourrait sinon renouveler, changer de forfaits et prolonger les expirations toute la journée sans jamais payer pour
eux. Les nouveaux rôles ont le droit désactivé par défaut.
Relance et portefeuille prépayé
Au-delà des factures ponctuelles, SAMM automatise tout le cycle de recouvrement. Un
plan de recouvrement définit une date d'échéance, une date d'échéance et une
date de blocage automatique — avec des frais de retard optionnels — pour rappeler aux abonnés
en retard, puis les couper sans que vous ayez à surveiller une feuille de calcul. Un
portefeuille prépayé permet aux abonnés de détenir un solde qui régule
automatiquement les factures lors du renouvellement ; ils le rechargent eux-mêmes depuis le
portail client par carte ou crypto, et chaque recharge et déduction est enregistrée dans les
comptes.
Les factures sont également générées automatiquement lorsque le plan d'un abonné est renouvelé (à partir de l'action Renouvellement de l'expiration de l'utilisateur ou par renouvellement automatique), à condition que le plan ait un prix. La liste filtre par statut — impayé, partiel, à payer,
payé — et recherche par numéro de facture ou par client. Ouvrez n'importe quelle facture pour accéder à sa page de détails et télécharger un PDF imprimable ; les abonnés peuvent télécharger leurs propres copies depuis le portail client et le bot Telegram.
Dépenses
Une dépense est l'argent dépensé pour faire fonctionner l'ISP. Nouvelle dépense enregistre une catégorie (le compte de dépense), le fournisseur payé, le montant, la date d'incurrence et une date d'échéance optionnelle. Chaque dépense a le même non payée / partielle / due / payée cycle de vie qu'une facture, une page détail, et un bon de paiement PDF imprimable.
Reçus & Paiements
Ces deux onglets enregistrent le mouvement réel de l'argent — distinct de la facture ou de la dépense
qui l'a causé.
Reçus — argent en : espèces reçues d'un client, d'un revendeur, ou autres revenus, atterrissant sur l'un de vos comptes bancaires. Une facture est la facture ; le reçu est l'argent arrivant contre elle.
Paiements — argent sortant : espèces versées pour une dépense ou à un revendeur.
Enregistrer un reçu ou un paiement fait avancer la facture ou la dépense correspondante vers payé et enregistre l'entrée comptable correspondante.
Clients & Ventes de cartes
L'onglet Clients répertorie le solde courant de chaque client : ce qu'il
je vous dois. Les ventes de cartes couvrent les revenus des points d'accès prépayés : elles suivent les ventes groupes de cartes et revendeurs . Un revendeur achète la carte entière
groupe votre demande sur une facture, puis revend les cartes individuelles aux utilisateurs finaux ; leur solde dû est ce qu'ils doivent encore vous payer.
Agents — facturation en gros
Un agent revend votre service aux clients finaux selon un modèle de gros prépayé — pensez à une franchise ou à un sous-distributeur qui gère son propre portefeuille d'abonnés tout en s'appuyant sur votre réseau. C'est entièrement facultatif : si vous ne créez jamais d'agent, la facturation fonctionne exactement comme avant.
Deux dettes, clairement séparées
L'agent vous doit à vous le prix de gros (dans vos livres, c'est votre revenu) ; le client doit à l'agent le prix de détail (hors de vos livres — c'est la créance propre de l'agent). Votre commission est l'écart entre les deux, comptabilisé comme une remise commerciale, jamais comme une charge.
Créez un agent dans Paramètres → Administrateurs en attribuant à un nouvel administrateur le rôle intégré Agent. Un agent est un compte administrateur à portée limitée doté de :
Paramètre
Sens
Commission %
La part de l'agent sur le prix de détail (p. ex. 40% — vous conservez 60% en revenu de gros). Modifiable par agent, à tout moment.
Limite de crédit
Jusqu'où le solde prépayé de l'agent peut devenir négatif avant que les renouvellements soient refusés. Mettez 0 pour un prépayé strict.
Solde prépayé
Rechargez-le quand l'agent vous paie ; chaque renouvellement y prélève le prix de gros.
Lorsqu'un abonné de l'agent est renouvelé, SAMM prélève le prix de gros sur le solde de l'agent, comptabilise votre revenu et émet une vraie facture de détail au client final, payable à l'agent et hors de votre grand livre. Le recouvrement côté agent — avec son propre interrupteur sous Paramètres → Facturation, activé par défaut, avec un délai de grâce modifiable — suspend automatiquement un client non payeur (en envoyant une déconnexion CoA) ; quand l'agent enregistre le paiement du client, l'abonné est réactivé aussitôt.
Un agent se connecte à une vue à portée limitée : son propre tableau de bord, une page portefeuille Mon solde, une liste Mes clients avec les factures et paiements de chaque client, et un Mon relevé — le tout limité à son propre portefeuille. Les livres de toute votre entreprise, les autres agents et les clients des autres administrateurs restent masqués.
Actifs & Comptes de caisse
Actifs — enregistrez vos actifs immobilisés (routeurs,
véhicules, équipements). SAMM suit leur valeur et leur dépréciation au fil du temps.
Cash : gérez votre cash et votre compte. comptes bancaires ,
et vos comptes de capital : capitaux propres, où un apport est
l'argent que le propriétaire met dans l'entreprise et un retrait est de l'argent retiré. Capitale
n'est pas un revenu et n'apparaît jamais dans Profit & Perte.
Rapports — les états financiers
L'onglet Rapports est la vue du comptable. Cinq états financiers, chacun
daté et exportable en PDF :
Rapport
Répond à
Profits & Pertes
Revenus par rapport aux dépenses et bénéfice net sur une plage de dates. Base d'exercice : les revenus comptent lorsqu'ils sont facturés, les dépenses lorsqu'elles sont engagées, et non lorsque les liquidités sont transférées.
Bilan
À la date donnée : ce que vous possédez (actifs) face à ce que vous devez (passifs) plus l'équité. Un badge équilibré confirme que les deux côtés sont en adéquation.
Flux de trésorerie
Par compte de trésorerie : solde d'ouverture, entrée d'argent, sortie d'argent, solde de clôture sur une plage.
Vieillissement
Les créances et dettes impayées sont triées par tranches d'âge, afin que vous puissiez rechercher les factures en retard et garder une longueur d'avance sur les factures.
Avancé
Les livres bruts : le grand livre général (chaque ligne d'un compte avec un solde courant), la balance de vérification (le contrôle des livres équilibrés), le journal et un journal d'activité.
La vérification d'équilibre
Dans le Bilan d'essai, les colonnes de débit et de crédit de chaque compte doivent
totaliser à égalité — c'est la preuve que les livres sont en règle. Si cela est jamais déséquilibré,
cela indique une erreur de saisie à enquêter.
Exporter vers un logiciel de comptabilité
Sous Comptabilité → Rapports → Exporter, téléchargez les livres en CSV pour QuickBooks, Xero ou tout tableur : Journal général, Plan comptable, Factures, Balance de vérification, Pertes & Profits et Bilan. Le Journal général, les Factures et le P&P utilisent la plage de dates ; le reste est à la date du jour. Les mêmes données sont disponibles via l'API sur GET /api/v1/accounting/export/{kind} (format=json|csv, portée accounting:read) pour les pipelines BI et Zapier. Les exports excluent les écritures annulées, si bien qu'un téléchargement correspond toujours aux rapports affichés.
Opérations quotidiennes
Annuler et approbations
La plupart des erreurs dans un panneau ISP sont des erreurs monétaires : renouvellement du mauvais abonné,
paiement enregistré deux fois, changement de plan sur le mauvais compte. SAMM vous offre une
fenêtre de réinitialisation de cinq minutes pour ces actions, et — lorsque l'action implique un remboursement
— une portille d'approbation superadministrateur avant qu'elle ne prenne effet.
La fenêtre d'annulation
Chaque action d'administrateur qui déplace de l'argent ou l'état est enregistrée au fur et à mesure. Pendant les cinq prochaines minutes, la barre supérieure affiche un bouton Annuler et une liste Historique des actions — cliquez sur la flèche pour annuler la dernière action, ou ouvrez l'historique et revenez en arrière à n'importe quel point dans la fenêtre. Refaire le remet en place.
Pourquoi seulement cinq minutes
Une annulation n'est pas une machine à voyager dans le temps, c'est un filet de sécurité pour le clic que vous venez d'effectuer.
Au-delà de quelques minutes, le monde a changé : l'abonné est en ligne, une facture
a été payé, quelqu'un d'autre a modifié l'enregistrement. SAMM préfère refuser plutôt que discrètement
réécrivez l'historique, de sorte que l'étape quitte simplement votre historique lorsque la fenêtre se ferme.
Une annulation refuse - avec la raison à l'écran - alors que l'inverser détruirait quelque chose qu'elle n'a pas créé :
Refus
Ce que ça signifie
Ce dossier n'existe plus
L'abonné, la facture ou le paiement ont été supprimés après votre action, il n'y a plus rien à remettre.
Ce disque existe à nouveau
Quelque chose a été recréé à sa place ; l’annulation écraserait l’enregistrement le plus récent.
L'annulation est une inversion de , pas une suppression : l'action d'origine et son annulation
les deux restent dans le Journal d'audit , donc l'enregistrement de ce qui s'est passé est
jamais perdu. Les actions qui créent quelque chose vous avertissent clairement : annuler cette opération supprimera
ce qu'il a créé - avant leur exécution.
La porte d'approbation des agents
Un agent paie pour un abonné au moyen de son solde prépayé dès qu'il active un abonnement. Cela fait du reversement une action
un moyen de récupérer de l'argent — et une façon de tricher : activer un abonné, laisser-le utiliser le
mois entier, puis le supprimer le dernier jour et récupérer la charge.
Ainsi, SAMM divise les actions d'un agent selon la manière dont l'argent circule :
Direction
Exemples
Comportement
Coûte de l’argent à l’agent
Activer, renouveler, changer de forfait, encaisser un paiement client
Immédiat. Le travail quotidien d'un agent n'attend jamais personne.
Rembourse l'argent
Annuler, supprimer un abonné, supprimer une facture, annuler une collecte
Garé sur demande. Rien ne change jusqu'à ce qu'un superadministrateur l'approuve.
Les actions contrôlées ne se font pas à moitié. La requête est stockée avec toutes les informations nécessaires pour être exécutée ultérieurement, et l'approbation la rejoue à travers le même code que l'agent aurait exécuté — jamais une deuxième implémentation qui pourrait s'écarter de la première. Le rejet laisse le monde exactement comme il était, et l'agent conserve la responsabilité.
Travailler la file d'attente
Les requêtes arrivent en Comptabilité → Approbation des agents avec l'agent, l'action, à quoi elle se réfère et combien d'argent elle retourne — le nombre qui prend la décision. Filtrez par agent ou statut, effectuez une recherche, cochez plusieurs et approuvez ou rejettez ensemble ; un rejet peut comporter une brève raison, que l'agent voit.
Déléguez-le
Examiner les agents toute la journée est rarement le travail du superadministrateur. Le
Le droit Approbation des agents peut être accordé à n'importe quel rôle dans Paramètres → Administrateurs , donc la personne qui effectue réellement la révision
obtient exactement ce pouvoir – et rien d’autre. Création de et gestion des séjours d'agents
réservé aux super-administrateurs. Personne ne peut décider de sa propre demande.
Ce que voit l'agent
Un agent accède à la page Mon compte → Approbations en attente qui liste tout ce qu'il a demandé : ce qui attend toujours, et ce qui a été approuvé ou rejeté, avec la raison du réviseur. Sans cela, un refus serait indiscernable d'une demande disparue, et il demanderait simplement à nouveau.
Ils peuvent retirer leurs propres demandes en attente — une par une ou plusieurs à la fois — car demander quelque chose que vous ne pouvez pas désapprendre est sa propre piège. Une demande retirée n'a jamais été exécutée, donc rien ne change ; une demande décidée est historique et reste. Une facture en attente d'examen le dit également sur sa propre page, de sorte qu'un agent qui a cliqué Supprimer et n'a rien vu comprend pourquoi.
Pour vos abonnés
Paiements en ligne
SAMM permet à vos abonnés de payer leurs factures en ligne par carte bancaire (Stripe ou PayPal) ou avec des crypto-monnaies/USDT (Binance).
Lorsqu'un abonné paie, SAMM marque la facture comme payée, la enregistre dans vos comptes et, si l'abonné a été déconnecté pour non-paiement, le reconnecte automatiquement. Vous n'êtes jamais facturé : chaque passerelle utilise votre propre compte, donc l'argent vous est directement versé.
Allumez-le (n'importe quelle passerelle)
Ouvrez Finances → Paiements en ligne (seulement superadministrateur).
Cliquez sur un portail pour l'étendre — Stripe, PayPal ou Binance / USDT.
Remplissez ses champs, cochez Activer ce passerelle et cliquez Enregistrer. SAMM ne vous permettra pas d'enregistrer jusqu'à ce que les champs requis soient remplis.
Cliquez sur Exécuter le test pour confirmer que vos identifiants fonctionnent.
Fait — vos abonnés voient désormais un bouton Payer sur leurs factures impayées dans le portail (et sur la page « abonnement expiré »).
Vous pouvez activer plusieurs passerelles : l'abonné choisit laquelle utiliser.
Stripe – cartes bancaires, dans le monde entier
Créez un compte gratuit sur stripe.com. Gardez le mode Test activé pendant que vous l'essayez.
Allez dans Développeurs → Clés API et copiez la Clé secrète (elle commence par sk_).
Dans SAMM, développez Stripe, collez la clé secrète, choisissez la devise et le compte bancaire qui la reçoit, puis Enregistrer et Exécuter le test.
Recommandé : ajoutez un webhook pour confirmer de manière fiable les paiements. Dans Stripe, allez à Développeurs → Webhooks → Ajouter un point de terminaison, définissez l'URL sur https://YOUR-SAMM/pay/webhook/stripe, choisissez l'événement checkout.session.completed, puis copiez son secret de signature (whsec_…) dans le champ Secret de signature du webhook de SAMM.
En direct
Le mode test fonctionne partout. Recevoir de l'argent réel via Stripe nécessite un support pris en charge par Stripe pays et un compte bancaire lié.
PayPal – cartes et amp ; PayPal solde
Créez un compte PayPal Business, puis sur developer.paypal.com, créez une application REST et copiez son ID Client et son Secret.
Dans SAMM, développez PayPal, collez l'ID client et le secret client, choisissez Sandbox (test) ou Live, puis Enregistrer et Exécuter le test.
Recommandé : ajoutez un webhook sur developer.paypal.com → votre Application → Webhooks, URL https://YOUR-SAMM/pay/webhook/paypal, souscrivez à CHECKOUT.ORDER.APPROVED et PAYMENT.CAPTURE.COMPLETED, puis collez l'ID Webhook dans SAMM pour que les notifications entrantes soient vérifiées cryptographiquement.
C'est l'option la plus appropriée lorsque les cartes de crédit et PayPal ne sont pas disponibles. Vos abonnés envoient
USDT ; SAMM surveille votre compte Binance et marque automatiquement la facture comme payée.
Vous avez besoin de trois choses : une clé API, un secret API, et un endroit pour
recevoir — une adresse de portefeuille et/ou un ID de paiement Binance.
Étape 1 : créez une clé API en lecture seule
La sécurité avant tout
Créez la clé avec un accès en lecture uniquement. N'activez jamais le retrait ou le commerce —
SAMM n'a besoin que de lire vos paiements entrants, sans déplacer de fonds.
Connectez-vous à Binance → ouvrez Compte → Gestion de l'API (ou recherchez "Gestion de l'API").
Cliquez Créer une API → choisissez Générée par le système → nommez-la par exemple "SAMM" → terminez la vérification de sécurité.
Binance affiche la clé API et la clé secrète — copiez les deux maintenant (la clé secrète n'est affichée qu'une seule fois).
Cliquez sur Modifier les restrictions et gardez coché uniquement "Activer la lecture"". Définissez Spot Trading et Retraits sur OFF. (Optionnel : restreignez la clé à l'adresse IP de votre serveur.)
Collez la clé API et la secret API dans la carte Binance de SAMM (clé en premier, puis secret — dans le même ordre que Binance les affiche).
Étape 2 : obtenez l'adresse de votre portefeuille de réception
Sur Binance, allez dans Portefeuille → Marché → Dépôt (Déposer des crypto-monnaies).
Choisissez la crypto-monnaie USDT.
Sélectionnez le réseau — TRC20 est le plus économique et le plus courant ; BEP20 et ERC20 fonctionnent également. Utilisez le même que celui choisi dans SAMM.
Copiez l'adresse de dépôt et collez-la dans le champ d'adresse de portefeuille récepteur en chaîne de SAMM. Assurez-vous que le menu déroulant Réseau de SAMM correspond au réseau que vous avez choisi.
Étape 3 : (facultatif) Binance ID de paiement
Pour les abonnés qui préfèrent Binance Pay (instantané, sans frais réseau) : dans l'application Binance, ouvrez Pay et notez votre ID Pay (votre adresse e-mail ou votre numéro de téléphone fonctionne également). Collez-le dans le champ ID Binance Pay de SAMM. Les abonnés peuvent alors payer par ID Pay ainsi que par transaction en chaîne.
Enfin, cochez Activer, cliquez sur Enregistrer, puis Exécuter le test
(il vérifie que la clé peut lire votre compte). Vous êtes en ligne.
Montant exact, réseau correct
Un abonné doit envoyer le montant exact que SAMM affiche (les derniers chiffres minimes identifient leur facture) sur le réseau correct. Un montant différent ou un réseau erroné retardera ou perdra le paiement.
Ce que voit l'abonné
Ils se connectent au portail client → Mes factures.
Sur une facture impayée, ils cliquent sur Payer (ou "Payer · Stripe" / "Payer · Binance" si plusieurs sont activés).
Carte: elles sont redirigées vers la page sécurisée du point d'accès. USDT: elles voient le montant exact, votre adresse avec un code QR, et/ou votre identifiant de paiement.
Une fois payée, la facture devient Payée , elle est publiée sur vos livres et, si les livres ont expiré, ils sont reconnectés automatiquement : les abonnés expirés reçoivent même un bouton "Payer et se reconnecter" sur la page expirée.
Vos livres restent exacts
Chaque paiement en ligne affiche une double entrée équilibrée (Dr Cash / Cr Accounts Receivable) et
enregistre le mode ( Stripe / Binance ) sur la facture, dans l'historique des paiements et sur le PDF — afin que vous
sachez toujours comment chaque paiement est arrivé.
Opérations quotidiennes
Tickets de support
SAMM dispose d'un bureau d'assistance intégré. Les abonnés créent des tickets depuis le portail client ou
le bot Telegram, un administrateur peut en ouvrir un au nom d'un abonné, et votre équipe les traite tous depuis Utilisateurs → Tickets d'assistance.
La file d'attente des tickets
La file d'attente répertorie chaque ticket : numéro, client, sujet, priorité, statut, le
les dates d'ouverture et de dernière mise à jour, ainsi que le nombre de messages. Filtrez-le avec :
Puces d'état — une par statut de billet, chacune portant un décompte en direct,
afin que la charge de travail soit visible d'un coup d'œil.
Priorité — Normale, Modérée ou Critique.
Actif / Retiré — un client peut retirer un billet dont il n'a plus besoin ; les billets retirés sont atténués et cachés par défaut.
Rechercher — par numéro de billet, sujet ou client.
Le badge de la barre latérale compte les tickets ouverts afin que rien ne soit oublié.
Ouvrir un ticket
Nouveau ticket permet à un administrateur d'ouvrir un ticket pour un client choisi —
sélectionnez le client, puis définissez un sujet, une priorité et une description. Les abonnés peuvent également en créer un depuis le portail client ou le bot Telegram.
Travailler sur un ticket
Ouvrez un ticket pour lire le fil de conversation complet. À partir de là, vous pouvez :
Répondre au client — un message public que l'abonné voit sur son portail et via le bot Telegram.
Ajouter une note interne — un message réservé au personnel, caché au client, pour les notes de transfert entre votre équipe.
Modifiez le statut et la priorité du billet.
Cliquez avec le bouton droit sur n'importe quelle ligne - ou utilisez son bouton ⋮ - pour le même statut, priorité, réponse
et des actions de notes internes sans quitter la file d'attente.
Opérations quotidiennes
Centre de notifications
SAMM tient les abonnés informés automatiquement – par e-mail , Telegram , SMS et WhatsApp – et vous permet de diffuser des messages. Le
Le service samm-notification fournit tout via une file d'attente limitée.
La page Système → Centre de notifications comporte six onglets.
Aperçu
L'onglet d'arrivée – comptes en direct (en file d'attente, envoi, envoyé aujourd'hui, échec, ignoré,
désinscrit), l'état de chaque canal de diffusion et un flux des informations les plus récentes
notifications.
Canaux
Configurez la façon dont les messages partent SAMM . L'e-mail utilise sa propre notification\n compte, séparé du SMTP de récupération de mot de passe dans Paramètres . Telegram utilise un jeton de bot, SMS passe par une passerelle HTTP générique ou Twilio, et WhatsApp utilise l'API officielle Meta WhatsApp Cloud (créée dans Meta pour\n Développeurs), avec un pont non officiel lié à QR en option à vos propres risques — le pont\n s'installe en un clic sur un serveur nu-OS et est livré sous forme de conteneur prêt à fonctionner sur Docker .\n Tous les secrets des chaînes sont stockés\n Chiffré par Fernet. Chaque abonné, depuis le portail client, choisit les chaînes qu'il souhaite\n souhaitez et pouvez vous désinscrire complètement.
Messages
Des modèles de messages personnalisés, un ensemble par événement. Modifiez le ton de chaque notification — rappels de renouvellement, reçus, etc. — pour que chaque message soit envoyé dans votre propre voix et dans votre langue.
Règles & Minuteries
Cet onglet détermine quand et comment les notifications automatiques se déclenchent. Pour chaque événement que vous contrôlez :
Que la règle soit activée.
Ignorer le refus d'inscription — lorsque défini, le message atteint chaque abonné
même s'ils se sont désinscrits. Réservez-le pour les messages transactionnels importants.
Délai — par exemple, combien de jours avant l'expiration un rappel de renouvellement est envoyé.
Livraison & contrôlée — le travailleur vide la file d'attente par lots d'un seul coup ; la taille du lot et l'intervalle de tick ensemble dictent la vitesse à laquelle les messages sont envoyés, de sorte qu'une grande diffusion ne submerge pas votre serveur de messagerie.
Les événements que SAMM peut émettre de manière autonome incluent le rappel de renouvellement (avant l'expiration d'un abonnement), l'avis d'expiration (lorsqu'il prend fin),
l'avertissement de quota (lorsque la limite de données est presque atteinte), la reçue de paiement (lorsqu'un paiement est enregistré), et forfait renouvelé.
Diffusion
Envoyez un message ponctuel (une fenêtre de maintenance, un changement de prix) à un ensemble choisi de
abonnés. La diffusion circule dans la même file d'attente limitée que la diffusion automatique.
notifications.
Boîte d'envoi
Chaque message SAMM a été mis en file d'attente ou envoyé, avec son état de livraison par message. Vous pouvez donc
peut confirmer qu'une notification est parvenue à l'abonné ou voir pourquoi ce n'est pas le cas.
Système
VPN WireGuard
SAMM peut exécuter un serveur WireGuard VPN sur l'hôte SAMM — typiquement
pour l'accès à distance à l'administration de la boîte SAMM et l'accès à la gestion des MikroTiks
qui lui sont connectés. Il est entièrement géré depuis Système → VPN; aucune
ligne de commande requise.
Onglet Serveur
Cliquez Générer les clés pour créer la paire de clés du serveur. La
Clé publique du serveur apparaît une fois générée — les clients en ont besoin.
Définissez le port d'écoute (UDP, par défaut 51820 ), le Adresse du tunnel du serveur (le CIDR sur l'interface wg0 ,
par défaut 10.254.254.1/24 ), et la plage d'adresses IP client :
les adresses de début et de fin SAMM sont automatiquement distribuées aux nouveaux pairs.
Activez WireGuard VPN et cliquez sur Enregistrer —
SAMM configure l'interface wg0. Le commutateur est verrouillé jusqu'à ce que les clés du serveur existent.
Onglet Clients
Cliquez sur Ajouter un client, donnez un nom à l'utilisateur, et SAMM lui attribue l'adresse suivante de la plage client. Pour chaque utilisateur, vous pouvez télécharger son fichier de configuration, scanner un code QR avec l'application mobile WireGuard, ou copier des commandes MikroTik RouterOS prêtes à l'emploi pour ajouter un routeur au VPN. Les utilisateurs peuvent être activés/désactivés ou supprimés ; les couleurs d'état indiquent si chaque utilisateur est connecté, obsolète ou jamais vu.
La régénération des clés est destructive
La régénération des clés modifie la paire de clés du serveur. Chaque configuration client déjà déployée contient la clé publique du serveur ancien et cessera de se connecter jusqu'à ce que vous redistribuiez la configuration mise à jour. L'interface utilisateur limite cela derrière un dialogue de confirmation de saisie de type.
Système
Tunnel Cloudflare
Un tunnel Cloudflare Zero Trust publie SAMM sur Internet
sans ouvrir de ports de pare-feu — utile lorsque l'hôte SAMM est derrière un NAT. Il est géré depuis
Système → Tunnel Cloudflare.
Statut du service
La page s'ouvre sur une carte d'état qui rapporte l'état du connecteur :
État
Sens
En cours
Le tunnel est actif et achemine le trafic
Arrêté
Configuré mais pas actuellement en cours d'exécution
Non configuré
Le binaire est présent — collez un jeton pour le configurer
Non installé
Réexécutez install.sh pour installer le binaire cloudflared
Il montre également la version de cloudflared et si le
le connecteur est défini sur démarrage automatique au démarrage .
Configurer le tunnel
Sur le tableau de bord Cloudflare Zero Trust (one.dash.cloudflare.com), ouvrez Réseaux → Tunnels
et créez un tunnel.
Sélectionnez le connecteur Cloudflared, nommez le tunnel, et enregistrez. Lors de l'étape d'installation, copiez uniquement le jeton — la longue chaîne après --token.
Collez-le dans SAMM et cliquez sur Configurer le tunnel . SAMM tend le
jeton à cloudflared et démarre le connecteur.
De retour sur Cloudflare, ajoutez un Nom d'hôte public : l'adresse de votre choix,
type HTTP, URL localhost:80 (proxiée par nginx — recommandée) ou localhost:8000 (directement vers l'API).
En quelques secondes, le badge d'état devient vert et SAMM est accessible sur le
nom d'hôte public. Une fois configuré, des actions en un clic vous permettent de Démarrer , Arrêtez ou Redémarrez le connecteur, Remplacez
Jeton pour le faire pivoter, ou Supprimer le tunnel (un type - REMOVE -pour confirmer
actions).
Aucun port ouvert, jeton jamais dans la base de données
Le tunnel établit une connexion sortante vers le bord de Cloudflare – non
le port du pare-feu est toujours ouvert sur le serveur. Le jeton est transmis à cloudflared et stocké sous /etc/cloudflared/ ; SAMM jamais
le conserve dans la base de données. TLS se termine au bord de Cloudflare , donc SAMM lui-même s'exécute
HTTP simple sur le bouclage.
Système
Paramètres
Système → Paramètres contient les réglages en direct, rechargeables à chaud
des paramètres. Les démons les relisent lors de leur prochain tick — aucune redémarrage de service n'est
nécessaire. Les paramètres sont organisés en onglets.
Paramètres généraux
Paramètre
Par défaut
Contrôles
samm-radius interval
30 s
Fréquence d'évaluation des événements temporels et d'envoi des CoA
samm-worker interval
5 s
Cadence de ping routeur + synchronisation API MikroTik
Intervalle comptable intermédiaire
60 s
L'intervalle de comptabilité poussé vers les routeurs
Heure de réinitialisation quotidienne
00:00
Quand les compteurs d’utilisation quotidienne s’inversent
Fuseau horaire du serveur
UTC
Fuseau horaire pour les fenêtres de vitesse et la réinitialisation quotidienne
Port CoA par défaut
3799
Port UDP par défaut pour les paquets CoA
Nombre max de tentatives CoA
3
Nouvelles tentatives avant le repli de la demande de déconnexion
Réduisez l’intervalle du rayon samm pour une application plus stricte ; soulevez-le pour réduire la charge.
Identité du FAI, logo, devise et facturation (onglet FAI)
Tout ce que les opérateurs demandent « où changer ceci ? » se trouve dans System → Settings → ISP. Modifiez un champ et cliquez sur Enregistrer — le changement est immédiat (sans redémarrage) et se répercute sur les factures, reçus, PDF et le portail client.
Ce que vous changez
Où cela apparaît
Nom du FAI
Factures, reçus, cartes hotspot, en-tête du portail
Téléphone et e-mail du support
Factures et cartes hotspot imprimées
Numéro fiscal / d'enregistrement
Imprimé sur les factures
Logo du FAI (téléverser PNG/JPEG)
Redimensionné automatiquement ; apparaît sur les PDF de factures/reçus et les cartes hotspot imprimées. Utilisez le ✕ sur l'aperçu pour le retirer.
Code de devise (p. ex. USD)
La devise ISO sur les factures et le grand livre
Symbole de devise (p. ex. $)
Chaque montant affiché dans l'interface admin, le portail client et les PDF
Taxe activée/désactivée, libellé et taux
Ajoute une ligne TVA/GST aux factures (p. ex. libellé VAT, taux 11 = 11 %)
Changer le symbole monétaire
Pour changer la devise affichée partout (p. ex. de $ à £ ou un symbole local), réglez Symbole de devise dans l'onglet FAI et Enregistrez — cela met à jour le panneau admin, le portail client et tous les PDF d'un coup. Réglez à côté le Code de devise (USD, EUR, …) pour le code ISO imprimé sur les factures.
Lorsque SAMM recherche des mises à jour, il peut envoyer SecuryTik un identifiant d'installation aléatoire, la version SAMM , votre niveau de forfait et un pays approximatif (à partir de votre adresse IP, via Cloudflare ) – aucune donnée d'abonné ou de client . Cela nous aide uniquement à compter les installations actives et à prioriser le support et les langues. Désactivez-le à tout moment sous Système → Paramètres → Confidentialité ; consultez la politique de confidentialité .
Onglet E-mail
Configurez le serveur SMTP utilisé pour les codes de récupération de mot de passe envoyés aux administrateurs et clients (hôte, port, SSL/STARTTLS, nom d'utilisateur, adresse « depuis », mot de passe). Cliquez sur Tester la connexion pour vérifier les identifiants sans envoyer d'e-mail.
Deux comptes e-mail
L'onglet E-mail ici est uniquement destiné à la récupération d'OTP/mot de passe. The account used for\n les notifications client sont configurées séparément dans le Centre de notifications .
Système
Administrateurs, agences et rôles
System → Admins est l'endroit où vous décidez qui peut se connecter au portail d'administration, ce que chacun peut faire et quels utilisateurs il voit. Depuis la 5.1.0, les administrateurs forment un arbre d'agences et de personnel. La page a deux onglets : Admins et Roles.
Agences et personnel
Nœud
Ce que c'est
Agence
Un lieu — un bureau, une ville. Il possède les utilisateurs qui y sont créés. Personne ne se connecte en tant qu'agence : elle n'a ni mot de passe ni rôle.
Administrateur (personnel)
Une personne qui se connecte. Placée sous une agence, elle fait partie de son personnel : chaque utilisateur et carte qu'elle crée appartient à cette agence.
Superadmin
Toujours en haut de l'arbre, jamais sous une agence. Voit tout et peut tout faire.
Utilisez + Branch et + Admin pour construire l'arbre, et faites glisser un nœud sur un autre pour le déplacer. Seule une agence peut avoir des administrateurs en dessous. Un agent est un administrateur qui vend et possède ce qu'il vend ; le personnel sous un agent utilise son portefeuille et ses règles d'approbation.
Qui voit quoi
La visibilité suit l'arbre. Une agence — et tous ceux qui y travaillent — voit ses propres utilisateurs et ceux des agences en dessous, jamais une agence sœur ni l'agence au-dessus. Le siège voit tout. Les droits d'un administrateur ne dépassent jamais ce que permettent ceux au-dessus de lui, et il ne peut accorder que ce qu'il possède.
Limites par agence
Limite
Ce qui est compté
Utilisateurs max.
Combien d'utilisateurs l'agence et celles en dessous peuvent détenir. Supprimer un utilisateur libère une place.
Cartes max.
Combien de cartes hotspot peuvent être imprimées dans l'agence.
Un nouvel utilisateur ou une nouvelle carte est refusé dès qu'une limite au niveau de l'administrateur créateur ou au-dessus est atteinte ; le message indique laquelle et ce qu'il reste. Laissez vide pour aucune limite. Les deux se modifient ensuite dans la fenêtre Modifier.
Rôles & autorisations
Un rôle accorde un accès par domaine. SAMM fournit quatre rôles prêts à l'emploi que vous pouvez modifier ou supprimer — Manager (exploitation courante), Reseller, Accountant (finances) et Monitor (lecture seule) — et deux rôles intégrés verrouillés : superadmin (accès complet) et Agent, qui fait de l'administrateur un revendeur en gros avec solde prépayé et partage de commission (voir Comptabilité et facturation → Agents).
Pour chaque domaine de SAMM (utilisateurs, forfaits, routeurs, comptabilité, paramètres, etc.), un rôle est réglé sur l'un de trois niveaux :
Niveau
Sens
Non autorisé
La zone est entièrement masquée dans la barre latérale
Voir
Accès en lecture seule
Modifier
Accès complet — créer, modifier, supprimer
Admins & roles, Tools, API et Payments restent au siège, quel que soit le rôle.
Deux droits se situent à côté des niveaux de zone, car chacun est une décision financière plutôt qu’un écran :
Droite
Ce qu'il permet
Autoriser "Aucune facture"
Modifier le service d'un utilisateur — renouveler, changer de forfait, prolonger — sans rien facturer. Désactivé par défaut sur chaque nouveau rôle.
Autoriser l'approbation des agents
Consultez et décidez des demandes d'agents pour annuler une charge. La création et la gestion des agents restent réservées aux super-administrateurs. Voir Annuler& les approbations.
Un rôle peut aussi être autorisé à voir tous les utilisateurs et cartes de l'installation, quel que soit l'arbre. Désactivé, il voit sa propre agence et celles en dessous.
Le tableau de bord n'est jamais enlevé
Quel que soit le rôle refusé, chaque administrateur conserve son propre tableau de bord et son propre profil :
une connexion qui aboutit à une erreur d'autorisation est une connexion interrompue et non sécurisée.
La licence est toujours accessible
La page System → License est un bloc de permission normal — mais dès que l'appareil est en état de verrouillage (grâce, souple ou dur) SAMM la rend accessible à chaque admin connecté quel que soit son rôle, pour que la voie de récupération ne soit jamais bloquée.
Système
Outils
La section Tools regroupe les utilitaires de masse et de maintenance. Elle agit sur l'ensemble des données et n'est donc accessible qu'aux superadmins.
Sauvegarde & Restauration
Créez une capture complète de la base de données avant toute modification majeure. Une sauvegarde est un archive gzip compressée pg_dump stockée sur le serveur, chacune avec un en-tête SAMM.
Créer une sauvegarde — ajouter une note en option ; cochez Omettre l'utilisation &
l'historique pour une sauvegarde plus petite et plus rapide qui exclut les tables de journaux volumineuses.
Téléchargez une sauvegarde sur votre PC, ou chargez une sauvegarde SAMM précédente vers le serveur.
Restaurer remplace la base de données actuelle — avec une
dialogue de confirmation de type-RESTORE.
Haute disponibilité
Pour un déploiement sans point unique de défaillance, exécutez SAMM sur deux nœuds :
Réplication en streaming de PostgreSQL (un nœud principal avec un secondaire à quelques secondes d'écart) plus un nœud de secours AAA, et promotion et rediriger en cas de défaillance. Le manuel complet de l'opérateur — configuration de la réplication, basculement planifié et non planifié, retour en arrière, mode de réplication synchronisée optionnel, et liste de vérification de vérification post-basculement — est fourni en docs/HA.md avec la source. Notez que la réplication n'est pas une sauvegarde (une mauvaise suppression se répercute instantanément), alors gardez également les sauvegardes planifiées actives.
Nettoyeur d'historique
Supprimez définitivement les anciennes lignes de journal et d'historique pour libérer de l'espace dans la base de données. Choisissez un paramètre de rétention et confirmez. Le nettoyeur tronque les sessions RADIUS fermées, les enregistrements post-authentification, les résumés d'utilisation quotidienne, l'historique des routeurs/interfaces, les journaux de limitation, les entrées d'audit appliquées et les lignes CoA terminées. Il ne touche jamais les sessions actives, les commandes en attente, les CoAs en attente ou les totaux d'utilisation non réinitialisables.
Effectuez d'abord une sauvegarde
History Cleaner supprime définitivement. Exécutez une sauvegarde avant de nettoyer si vous le souhaitez
les données plus tard.
Exporter / Importer
Exportation et importation groupées pour utilisateurs, forfaits et NAS en tant que .csv ou .xlsx . Téléchargez un modèle (les colonnes de droite plus un
exemple de ligne) ou un instantané des données actuelles, remplissez-le et téléchargez-le à nouveau. Chaque ligne est
validé et affiché sur un écran d'aperçu – doublons et lignes non valides
sont apparus et vous choisissez d'ignorer les doublons ou de les mettre à jour sur place - avant
tout est écrit.
Modifications en masse
Appliquer une seule modification : propriétaire, date d'expiration, statut, renouvellement automatique ou forfait complet
périodes – à chaque abonné correspondant à un filtre, en une seule fois. Choisissez le changement, construisez le
filtrez (statut / forfait / propriétaire / recherche), examinez la liste correspondante et confirmez.
Ajouter des périodes entières est l'option de renouvellement en vrac : chaque abonné gagne autant de périodes de son propre forfait, donc un forfait de 7 jours gagne 7 jours par période et un forfait mensuel gagne un mois calendaire — dans la même course, sans diviser la liste par forfait en premier. Les abonnés dont le forfait n'a pas de période d'expiration sont ignorés plutôt que deviné. Ajouter des jours reste disponible là où vous souhaitez un nombre plat de jours et pas de réinitialisation du compteur.
Augmentation de vitesse
Augmentez ou diminuez la vitesse de tous les forfaits à la fois de manière proportionnelle en pourcentage —
un week-end de vacances à double vitesse, ou un ralenti d'urgence pendant qu'un lien de secours est dégradé.
L'effet prend place immédiatement, pour les nouvelles connexions et pour les sessions déjà actives.
Contrôle
Ce qu'il fait
Pourcentage
Multiplications positives, divisions négatives : +100 % → double vitesse, −100 % → demi-vitesse, −500 % → un sixième de celle-ci. La vitesse n’atteint jamais zéro.
Des projets pour booster
Cochez n'importe quel nombre de plans ; chaque ligne indique le taux prévu, l'augmentation de la force et la vitesse effective actuelle.
Revenir automatiquement après
Quelques heures jusqu'à ce que le boost disparaisse tout seul. 0 le conserve jusqu'à ce que vous le réinitialisiez manuellement.
Un boost dépasse une fenêtre de vitesse
L'augmentation est mesurée à partir du tarif du forfait et remplace tout fenêtre de vitesse pendant qu'il est en direct – un plan sur une fenêtre de nuit de 20 M ne le fait pas
devenu 40M, il devient quelle que soit l'augmentation du taux de son forfait. Windows reprend le moment
le boost expire.
Un abonné qui a épuisé une limite n'est jamais rétabli à la vitesse maximale par un coup de pouce. Pour la même raison, un forfait utilisé comme cible de régulation est ignoré par Sélectionner tout et étiqueté en conséquence — le booster accélérerait exactement les personnes que vous régulez. Vous pouvez toujours cocher manuellement si tel est votre intention.
Réinitialiser tout à la normale supprime tous les coups de pouce et ramène les sessions actives à la vitesse de leur forfait.
Suppression en masse
Supprimez définitivement plusieurs abonnés ou cartes hotspot en une seule fois, sélectionnés par filtre.
La suppression d'un abonné supprime également son historique d'utilisation, ses sessions, la comptabilité RADIUS et
les factures, et déconnecte toute session active. Contrôlé par un dialogue de confirmation de type DELETE.
Système
Langues & thèmes
Langues
Les portails administrateur et client sont entièrement traduisibles. Huit langues sont intégrées :
Anglais, Arabe (de droite à gauche), Russe, Persan (de droite à gauche),
Turc, Français, Espagnol et Allemand. Chaque utilisateur sélectionne sa langue dans la barre supérieure ou son profil ; le choix est mémorisé par compte.
L'éditeur de traduction
Un super-administrateur peut modifier les traductions en direct depuis
Système → Traductions — sans redémarrage, sans édition de fichiers.
L'éditeur crée également de nouvelles langues entières et importe/exporte des classeurs de traduction
au format .xlsx, vous permettant ainsi de localiser SAMM dans n'importe quelle langue que vous servez.
Thèmes
SAMM livre 16 thèmes visuels, légers et sombres. Chaque utilisateur sélectionne un thème depuis la barre supérieure ; la prévisualisation se met à jour instantanément et est enregistrée par compte. La terminologie technique n'est jamais traduite, donc les écrans restent précis dans toutes les langues.
Système
Journal d'audit et activité
System → Audit Log répond à une question : que s'est-il passé, et qui l'a fait. Une seule liste réunit chaque modification d'un administrateur, ce que le système a fait de lui-même (comme l'expiration) et les modifications que les utilisateurs ont faites sur leur propre compte dans le portail ou sur Telegram — changements de forfait, renouvellements, paiements, modifications du profil et du mot de passe.
Colonne
Ce qu'il montre
Lorsque
L'heure, dans votre fuseau horaire
Qui
L'administrateur, « ali, dans le portail », « ali, sur Telegram », un jeton API ou System
Ce qui s'est passé
Une phrase, avec uniquement les champs modifiés, ancien → nouveau — par exemple « A modifié l'utilisateur : Expiration : 01 Oct → 15 Oct »
Cible
Sur quoi cela porte — Utilisateur · ali, Forfait · Gold 20M, Routeur · Hamra, Administrateur · rami
Filtrez par Qui et Période, ou tapez un nom dans la recherche. Les connexions et exports sont masqués sauf si vous cochez Show logins & exports. Via, Action, Category, Severity et ID sont dans le sélecteur de colonnes. Sélectionnez des lignes pour Export ou Print — le fichier a les mêmes colonnes que l'écran. Le bouton ⓘ d'une ligne affiche le tableau avant/après complet.
Chronologie de l'utilisateur
Ouvrez un utilisateur et choisissez Timeline pour tout ce qui est arrivé à ce compte — créé, renouvelé, forfait changé, suspendu, limites atteintes — avec factures, paiements, portefeuille et frais d'agent dans une colonne Montant. Filtrez par type, période ou argent uniquement, et exportez en CSV ou Excel. Les lignes de la chronologie ne sont jamais supprimées et survivent à la suppression de l'utilisateur.
Accept Log et Access Log
Overview → Accept Log liste chaque tentative de connexion envoyée par les routeurs et la réponse de RADIUS, la plus récente en premier, avec la raison de chaque refus. C'est la page à ouvrir quand un utilisateur ne peut pas se connecter. Un refus qui se répète tient en une ligne avec un compteur. Overview → Access Log liste les sessions qui ont bien démarré, d'après la comptabilité RADIUS.
Aussi une file de commandes
Les réinitialisations, changements de forfait et renouvellements mis en file depuis la CLI ou l'API sont écrits dans la même table et appliqués par le service samm-radius à son prochain cycle, qui rafraîchit alors la session active par un CoA. Le badge de la barre latérale compte ceux encore en attente.
Licences
Licences & niveaux
Chaque installation SAMM est licenciée par appareil — le forfait est lié à cette installation,
vous pouvez ainsi exécuter plusieurs serveurs SAMM, chacun sur son propre niveau. Le niveau
fixe trois plafonds numériques.
Niveau
Utilisateurs AAA
Cartes Hotspot
NAS / routeurs
Non enregistré
25
200
1
Gratuit
100
50
2
Lite
500
1,500
4
Plus
1,000
3,000
6
Pro
2,000
6,000
12
Mega
5,000
15,000
24
Max
10,000
30,000
illimité
Unlimited
illimité
illimité
illimité
Une installation fraîche fonctionne en mode non enregistré par défaut. Toutes les fonctionnalités sont disponibles à chaque niveau — le niveau ne fixe que les limites. Créer un abonné, une carte ou un NAS dépassant les limites est bloqué jusqu'à la mise à niveau ; aucune donnée n'est jamais perdue.
Activer & mettre à niveau
Ouvrez Système → Licence.
Activez-le en vous connectant avec votre compte SecuryTik – ou utilisez Associez cet appareil , qui affiche un code sur lequel vous approuvez samm.securytik.com sans taper\n votre mot de passe sur le serveur. L'appareil s'active sur Gratuit .
Pour aller plus haut, choisissez une offre sur la même page, ou abonnez-vous depuis votre tableau de bord. Une demande faite depuis la page est examinée et approuvée par un administrateur SecuryTik.
La page de licence vérifie également la licence à la demande et affiche votre utilisation actuelle pour chaque limite. Déconnecter l'appareil ramène l'installation au niveau non enregistré sans supprimer les données.
Si une licence payante expire
SAMM ne supprime jamais les données. Une licence expirée se retire gracieusement :
Étape
Ce qui se passe
Avertissement
Une bannière de rappel ; tout continue de fonctionner
Grâce
Une courte fenêtre pour réactiver ; les abonnés restent en ligne
Verrouillage partiel
Les services d'arrière-plan s'arrêtent ; RADIUS continue de s'authentifier pendant environ 7 jours
Verrouillage complet
Les services s'arrêtent sauf la page de réactivation
La réactivation à tout moment redémarre automatiquement chaque service : toutes les données et l'historique des abonnés sont intacts.
Mises à jour automatiques
La mise à jour automatique est indépendante de la licence — chaque niveau se met à jour, et une licence expirée ne l'empêche jamais. SAMM vérifie quotidiennement une nouvelle version signée. Depuis Système → Licence, vous pouvez basculer entre
notifier (par défaut — une bannière avec un bouton Appliquer maintenant) et
auto (appliquer sans intervention). Chaque mise à jour est vérifiée, sauvegardée et appliquée sur place. Vous pouvez également relancer l'installateur à tout moment — il effectue une mise à niveau idempotente.
Pour vos abonnés
Portail client & bot
SAMM offre à chaque abonné deux surfaces en libre-service : un portail Web et un Telegram bot – afin qu'ils puissent vérifier l'utilisation et payer sans vous contacter.
Le portail client
Les abonnés se connectent au site racine de SAMM (/) avec leur nom d'utilisateur et leur mot de passe SAMM. Le portail comprend :
Page
Ce que voit l'abonné
Aperçu
Statut du compte, forfait, expiration, utilisation d'aujourd'hui et de ce mois-ci, toute facture impayée
Utilisation et séances
Total téléchargé/téléchargé, budget de disponibilité et historique complet des sessions
Mes forfaits
Le forfait actuel plus le catalogue des forfaits disponibles
Mes factures
Historique de facturation avec téléchargement PDF en un clic
Tickets de support
Ouvrir et suivre les tickets d'assistance
Profil
Modifiez les coordonnées, changez le mot de passe, définissez la langue et la langue. thème, gérer les notifications
Depuis le profil , un abonné connecte son compte Telegram , commande\n leurs canaux de notification préférés, ou se désengage complètement des notifications. S'ils\n oubliez leur mot de passe, un code OTP leur est envoyé par e-mail (cela nécessite le Onglet E-mail configuré).
Le bot Telegram
Le service samm-telegram exécute un bot interactif en auto-service. Un abonné envoie /start, vérifie une fois avec son nom d'utilisateur SAMM et son mot de passe (le bot supprime immédiatement le message du mot de passe), et peut ensuite, entièrement depuis la discussion :
Vérifiez leur forfait, leur quota, leur utilisation et leur date d'expiration
Afficher et télécharger les factures au format PDF
Mettre à jour son profil et changer son mot de passe
Ouvrir et suivre les tickets d'assistance
Le bot délivre également les notifications automatiques : rappels de renouvellement, expiration
notifications, avertissements de quota et reçus — aux abonnés qui se sont connectés à Telegram .
La page d'accueil des abonnés expirés
Quand un abonné expire, le routeur (configuré par le « pool Expiré et blocage internet » de l'assistant) redirige son navigateur vers une page « abonnement expiré » conviviale servie par SAMM sur le port 81 — avec votre logo de FAI et un bouton de connexion au portail — au lieu d'une connexion morte en silence.
Système
REST API
System → API gère l'interface publique /api/v1. L'API reste inactive jusqu'à la création du premier jeton : une installation qui ne l'utilise jamais n'expose rien. Tout ce qui suit est aussi disponible en documentation OpenAPI interactive — console d'essai et schémas complets — sur votre propre installation à /api/v1/docs.
Documentation interactive (Swagger UI)
Chaque installation propose une console API en direct sur /api/v1/docs, accessible directement depuis le panneau API du portail d'administration. Cliquez sur Authorize, collez un jeton, et n'importe quel point de terminaison peut être exécuté sur vos propres données avec Try it out ; chaque appel affiche la réponse réelle ainsi qu'une commande curl prête à copier.
Chaque point de terminaison déclare un schéma complet et typé — corps de requête comme réponses — de sorte que les noms de champs, les types et les exemples sont visibles sans rien appeler. Le même schéma est servi au format OpenAPI lisible par machine sur /api/v1/openapi.json, ce qui génère un client entièrement typé dans le langage de votre choix :
Ouvrez System → API (superadmin uniquement), choisissez un nom, une expiration et les portées nécessaires à l'intégration, puis cliquez sur Créer un jeton.
Copiez le secret immédiatement — il n'est affiché qu'une seule fois et seul son condensat est stocké sur le serveur.
Vérifiez qu'il fonctionne et voyez ce que le jeton peut faire :
Chaque requête envoie Authorization: Bearer <token>. Un jeton porte un nom, une limite de débit par minute, une expiration (30–360 jours ou jamais) et un ensemble de portées — des droits lecture/écriture par ressource ; une portée write inclut automatiquement la portée read correspondante. Le secret n'est affiché qu'une seule fois ; le serveur ne conserve qu'un condensat. Un jeton peut être révoqué (les appels échouent immédiatement, réversible) ou supprimé définitivement.
Les réponses suivent un seul ensemble de conventions : les points de liste acceptent limit/offset et renvoient {"total", "items"} ; les erreurs utilisent les codes standard — 401 jeton manquant/invalide/expiré, 403 portée manquante, 404 introuvable, 409 doublon, 422 erreur de validation, et 429 à la limite de débit (avec Retry-After et X-RateLimit-*).
Référence des points de terminaison
Domaine
Points de terminaison
Portée
Introspection
GET /me · GET /commands
tout jeton
Statistiques du tableau de bord
GET /stats/overview
stats:read
Abonnés
GET/POST /customers · GET/PATCH/DELETE /customers/{id} ·
POST …/suspend · …/activate · …/renew · …/reset-limit · …/assign-plan ·
GET …/usage
customers:read/write
Déconnexion
POST /customers/{id}/disconnect · POST /sessions/disconnect · /sessions/reconnect
coa:write
Offres
GET/POST /plans · GET/PATCH /plans/{id}
plans:read/write
Factures
GET/POST /invoices · GET /invoices/{id} ·
GET /invoices/{id}/pdf · POST …/pay · …/unpay
billing:read/write
Livres comptables
GET /accounting/export · GET /accounting/export/{kind}
accounting:read
Séances en direct
GET /sessions · GET /coa-outbox
sessions:read
Routeurs
GET /routers
routers:read
Cartes Hotspot
GET/POST /cards/groups · GET /cards/groups/{id} ·
GET …/cards · …/print.pdf ·
POST …/cards · …/enable · …/disable · …/extend ·
GET /cards/{id} · POST /cards/{id}/enable · …/disable · …/reset/{kind}
Les modifications qui touchent l'état comptable en direct — réinitialisations de limites, activation/désactivation de cartes et de groupes, prolongations — ne sont pas appliquées dans la requête. Elles sont mises en file dans la file de commandes auditée et appliquées par samm-radius en un tick (quelques secondes), exactement comme les mêmes clics dans le portail. Ces points renvoient {"queued": true} ; interrogez GET /commands pour voir vos commandes passer à applied.
Webhooks
Enregistrez une URL de point de terminaison et choisissez les événements (abonné créé/modifié/renouvelé/expiré, limite épuisée, facture créée/payée, événements de session optionnels). Le secret de signature est renvoyé une seule fois à la création. Les livraisons sont retentées avec délai croissant, et un point qui échoue en continu est désactivé automatiquement — réactivez-le avec POST /webhooks/{id}/enable ou envoyez-vous un événement d'exemple avec POST /webhooks/{id}/test.
Chaque livraison porte X-SAMM-Event et X-SAMM-Signature: sha256=HMAC(body). Vérifiez avant de faire confiance :
Les mêmes règles que le portail
Les modifications via l'API passent par la même file de commandes auditée et la même couche de services que le portail d'administration — une réinitialisation ou un changement d'offre via l'API se comporte exactement comme un clic dans l'interface, CoA compris.
Référence
Exploitation de SAMM
Presque tout se fait depuis le portail d'administration. Cette page est la référence shell pour les rares fois où vous en avez besoin.
Gestion des services
# Restart all SAMM services
systemctl restart samm-api samm-radius samm-worker samm-notification samm-telegram
# Live logs for one service
journalctl -u samm-api -f
journalctl -u samm-radius -f
# Validate the FreeRADIUS config after any change
freeradius -CX
# Port 8000 stuck after a crash (admin portal unreachable)
kill -9 $(lsof -ti:8000); systemctl restart samm-api
CLI Admin
Pour des opérations rapides d'abonné depuis l'invite de commande. Chaque commande est mise en file d'attente dans le journal d'audit et appliquée lors du prochain samm-radius tick — exactement comme les actions de l'interface utilisateur.
CLI="sudo -u samm /opt/samm/venv/bin/python -m samm_radius.cli"
$CLI reset-quota alice # reset a limit counter
$CLI reset-daily alice
$CLI reset-uptime alice
$CLI reset-expiration alice
$CLI change-plan alice home-50M # switch a subscriber's plan
$CLI encrypt-pw # encrypt a router API password for the DB
Fichiers de configuration
Fichier
Contient
/etc/samm/samm.yaml
Le DSN de la base de données, la taille du pool de connexions, le niveau de journalisation
/etc/samm/api.env
Secrets de session du portail et paramètres SMTP de récupération de mot de passe
/etc/samm/secret.key
La clé de cryptage pour les mots de passe API du routeur stockés
Ces fichiers sont conservés lors des mises à niveau et ne sont jamais écrasés par\n une réexécution du programme d'installation. Paramètres d'exécution (cadences de boucle, temps de réinitialisation quotidienne, CoA\n ports) se trouvent plutôt dans Paramètres , et\n appliquer sans redémarrage.
Mise à jour de SAMM
Soit laissez SAMM se mettre à jour depuis Système → Licence ,\n ou réexécutez le programme d'installation — voir Installation →\n Mise à niveau de . Les deux chemins réappliquent les migrations et redémarrent les services ; votre configuration et\n les données sont intactes.
Sauvegarde & récupération
Utilisez Outils → Sauvegarde et Restaurez pour un\n instantané de la base de données avant tout changement majeur. Pour reconstruire sur un nouvel hôte, installez SAMM et\n puis restaurez la sauvegarde.
Outils de maintenance (externes)
Certaines tâches de maintenance sont suffisamment destructrices qu'elles ne doivent pas figurer dans le panneau d'administration, où un clic maladroit pourrait détruire une entreprise en direct. SAMM les conserve sous forme de scripts autonomes, accessibles uniquement aux administrateurs, que vous téléchargez et exécutez délibérément depuis l'invite de commande — jamais via un bouton. Ils se trouvent dans le dépôt de distribution publique sous tools/.
Réinitialiser le mot de passe d'un administrateur verrouillé
Verrouillé hors du panneau d'administration ? Définissez un nouveau mot de passe pour un compte superadmin directement dans la base — aucun login fonctionnel requis. Le compte est réactivé s'il était désactivé, rien d'autre n'est touché.
curl -fsSL -o samm-reset-admin-password.sh \
https://raw.githubusercontent.com/mhdhaidarah/samm/main/tools/samm-reset-admin-password.sh
sudo bash samm-reset-admin-password.sh --list # list the superadmin accounts
sudo bash samm-reset-admin-password.sh # reset (prompts for the new password, twice)
Exécutez-le en root sur le serveur SAMM. S'il existe plusieurs superadmins, passez --user <name> pour en choisir un.
Réinitialiser les livres (effacer les données financières)
Efface chaque transaction financière afin qu'un FAI puisse recommencer sa comptabilité à zéro,
tout en laissant toutes les données des abonnés et AAA complètement intactes. Utile lors de la reprise d'un
installer, ou après une période d'essai/test, lorsque les livres sont pleins de données, l'opérateur
veut disparaître, mais la clientèle doit rester exactement telle qu'elle est.
Danger — perte de données irréversibleCela détruit définitivement toutes les factures, paiements, reçus, soldes de portefeuille
et historiques comptables. Il n'y a pas d'annulation possible. La seule façon de revenir en arrière est de disposer d'une sauvegarde de la base de données. N'exécutez jamais cela sur une installation de production non sauvegardée et vérifiée.
Supprimé: les factures et leurs postes, le grand livre en partie double
(paiements, reçus, ajustements, recharges et retraits de portefeuille), paiement en ligne
les transactions, les dépenses, les immobilisations et le journal d'activité comptable. Numérotation des factures
se réinitialise, donc la facture suivante commence au n°1.
Gardé: chaque abonné, forfait, fenêtre de vitesse, limite, compteur d'utilisation,
l'historique du plan, la carte de point d'accès, le routeur, la session et l'enregistrement comptable RADIUS — ainsi que votre
paramétrage comptable (plan comptable, comptes de caisse, groupes de taxes, paiement
passerelles). Les soldes de trésorerie, de portefeuille et de créances sont dérivés du grand livre, ils
lisez simplement zéro après.
Téléchargez-le, lisez-le, puis exécutez-le. Effectuez toujours un essai à sec en premier :
curl -fsSL -o samm-wipe-financials.sh \
https://raw.githubusercontent.com/mhdhaidarah/samm/main/tools/samm-wipe-financials.sh
sudo bash samm-wipe-financials.sh --dry-run # show what would be deleted, change nothing
sudo bash samm-wipe-financials.sh # do it
Ne le placez pas directement dans une coque
Ne l'exécutez jamais en tant que curl … | sudo bash . Pour un script qui détruit les données que vous
je veux le lire en premier, et un téléchargement tronqué ne doit pas pouvoir exécuter la moitié d'un
essuyer. Téléchargez, inspectez, puis exécutez.
Le script refuse de s'exécuter en tant qu'utilisateur non root, imprime exactement ce qu'il s'apprête à faire
supprimer, puis vous demande de taper YES pour confirmer que vous détenez une sauvegarde vérifiée et WIPE pour continuer. Il propose d'effectuer d'abord son propre dump de base de données (dans /var/backups/samm/ ) et abandonne si ce vidage échoue. La lingette fonctionne comme un
transaction unique tout ou rien, et RADIUS est délibérément laissé en cours d'exécution, donc
les abonnés restent en ligne pendant que les livres sont effacés.
Référence
FAQ & dépannage
Quels systèmes d'exploitation SAMM est-il pris en charge ?
Ubuntu 22.04/24.04/26.04 LTS et Debian 12/13. Qualité serveur Linux uniquement :
les variantes de bureau ne sont pas prises en charge. L'installateur attend systemd, un nouveau
Installation de PostgreSQL (une est configurée pour vous) et accès root.
Ai-je besoin d'une connexion Internet pour exécuter SAMM ?
Non. SAMM fonctionne entièrement sur votre propre serveur et authentifie les abonnés localement
sur RAYON. Le seul trafic sortant est un battement de cœur de licence périodique vers le SecuryTik serveur de licences pour que votre plan reste validé.
Puis-je exécuter SAMM dans le cloud, ou doit-il être sur site ?
L’un ou l’autre fonctionne. La plupart des opérateurs fonctionnent sur site à côté de leurs routeurs principaux ; certains courent
sur une petite VM cloud avec un tunnel Cloudflare Zero Trust en arrière. La seule exigence
est que les routeurs MikroTik peuvent atteindre le serveur SAMM sur les ports RADIUS
(1812/1813 UDP) et que SAMM peut atteindre les routeurs via l'API MikroTik .
Dois-je redémarrer FreeRADIUS lorsque j'ajoute ou supprime un routeur ?
Non. SAMM résout dynamiquement les clients NAS à partir de la base de données, donc l'ajout,
la modification ou la suppression d'un routeur dans MikroTik → NAS
prend effet sans redémarrage.
À quelle vitesse un changement de plan ou une réinitialisation de compteur prend-il effet ?
Les actions de l'administrateur sont mises en file d'attente et appliquées par le service samm-radius
lors de son prochain tick — par défaut, dans les 30 secondes. Si l'abonné est en ligne, SAMM
envoie également un CoA en direct pour rafraîchir la session. Réduisez l'intervalle de samm-radius dans
Système → Paramètres pour un contrôle plus précis du timing.
Qu'arrive-t-il à mes données si une licence payante expire ?
Rien n'est jamais supprimé. Une licence expirée est annulée par un avertissement, une grâce, un
verrouillage doux (RADIUS continue de s'authentifier pendant environ une semaine) et enfin un verrouillage dur
confinement. La réactivation à tout moment redémarre chaque service avec toutes les données intactes.
Est-ce que SAMM est gratuit ? Qu'est-ce que Pro ajoute ?
Le niveau gratuit est gratuit pour toujours et inclut toutes les fonctionnalités. Les offres payantes ne débloquent pas de fonctionnalités — elles relèvent les plafonds d'utilisateurs AAA et de cartes Hotspot, et suppriment la limite de routeurs. Voir Licences & niveaux.
Un abonné ne peut pas s'authentifier : par où commencer ?
Vérifiez que le secret partagé RADIUS du routeur correspond exactement à l'enregistrement NAS,
que le routeur est activé pour PPP / Hotspot RADIUS, et que le compte de l'abonné
est Actif et non expiré. Surveillez journalctl -u samm-api -f
et le journal FreeRADIUS, et confirmez que le routeur peut atteindre l'hôte SAMM sur UDP
1812/1813.
Avez-vous besoin d'une aide supplémentaire ?
Envoyez un e-mail à [email protected] pour signaler un bug ou
demander une fonctionnalité.