Guide d'utilisation

Tout ce qu'il faut savoir pour connecter vos routeurs MikroTik et gérer vos hotspots depuis Hotspots Online.

Introduction

Hotspots Online est une plateforme web qui relie vos routeurs MikroTik à un tableau de bord en ligne. Vous y gérez les comptes de connexion de vos hotspots, générez des vouchers avec QR code, et accédez à Webfig, à Winbox et à l'API de vos routeurs sans être sur place.

Chaque opérateur a son propre compte. Vos routeurs ne sont visibles que par vous, et les identifiants de connexion aux routeurs sont chiffrés sur le serveur.

Vous pouvez aussi ouvrir à un vendeur un accès web en lecture seule à sa boutique : il y suit ses ventes sans rien pouvoir modifier (voir Espace vendeur).

Prise en main

Créer un compte

  1. Cliquez sur Connexion / Créer un compte en haut de la page, puis sur l'onglet Créer un compte.
  2. Renseignez votre nom, votre adresse e-mail, votre numéro de téléphone (obligatoire, pour vous joindre par appel) et un mot de passe (8 caractères minimum).
  3. Validez. Un e-mail de confirmation vous est envoyé.

Se connecter

Saisissez votre adresse e-mail et votre mot de passe. Cochez Se souvenir de moi pour rester connecté après la fermeture du navigateur (cookie de reconnexion de 30 jours) — à éviter sur un poste partagé. Une session inactive est fermée après 30 minutes ; il faut alors se reconnecter.

Confirmer votre e-mail

Ouvrez l'e-mail de confirmation et cliquez sur le lien. Votre compte est alors activé et vous accédez au tableau de bord. Si vous ne recevez rien, vérifiez vos courriers indésirables ou demandez un nouveau lien depuis la page de vérification.

Pack et abonnement

Nouveau compte : un essai de 4 jours. Une fois votre e-mail confirmé, la page Abonnement propose d'activer l'essai : 4 jours, fonctionnalités complètes, un seul routeur. Il ne se renouvelle pas — ni pour le même routeur, ni pour le même compte — et il se reconnaît au routeur lui-même (numéro de série quand il est lisible, sinon son DDNS) : supprimer le routeur ou le compte ne le rend pas disponible de nouveau. Un compte qui a déjà possédé un routeur ou souscrit un pack payant n'y a pas droit. Passer à un pack payant conserve vos routeurs et vos codes.

Les fonctionnalités du tableau de bord demandent un pack actif. Renouveler le même pack ajoute sa durée à l'échéance en cours : les jours restants sont cumulés, jamais perdus. Souscrire à un autre pack pendant qu'un abonnement est actif repart du jour de l'activation : les jours restants de l'ancien ne suivent pas. Les écrans d'activation et d'abonnement annoncent la règle applicable avant que vous validiez, et une date de fin saisie à la main reste respectée telle quelle. Si aucun routeur n'est encore enregistré, l'activation vous le dit au lieu d'échouer en silence.

Rôles des comptes

Un compte est propriétaire — il possède ses routeurs et son abonnement — ou vendeur, rattaché au routeur d'un propriétaire pour vendre les codes au comptoir. Les deux espaces ne se recouvrent pas : un vendeur ne voit ni les routeurs, ni l'abonnement, ni les réglages. Voir Espace vendeur.

Mon profil

Le menu de votre compte, en haut à droite, propose Mon profil. La page réunit les informations utiles : nom, adresse e-mail (avec son état de vérification), téléphone, rôle et date de création, puis, selon le compte, l'abonnement en cours, les routeurs, les vendeurs, les commandes de portails et le chiffre d'affaires par devise.

Modifier ses informations

Le titulaire du compte modifie son nom, son adresse e-mail, son téléphone et son mot de passe. Changer d'adresse e-mail envoie un nouveau lien de confirmation. Changer de mot de passe demande le mot de passe actuel ; les jetons de l'API du compte sont alors révoqués, et l'application de vente devra se reconnecter.

Le cas du vendeur

Un compte vendeur consulte son profil en lecture seule : son compte est géré par le propriétaire du routeur auquel il est rattaché. Depuis la page Vendeurs du routeur, le bouton Profil ouvre la fiche du vendeur : le propriétaire y modifie son nom, son adresse e-mail, son téléphone et son mot de passe. Aucun autre propriétaire ne peut y accéder.

Connecter un routeur

Prérequis côté routeur

  • Une adresse joignable : IP publique ou DDNS gratuit MikroTik Cloud (adresse xxxxx.sn.mynetname.net).
  • L'API RouterOS activée : dans Winbox, allez dans IP → Services et activez api (port 8728) ou api-ssl (port 8729).
  • Pour Webfig : le service www (port 80) doit être actif.
  • Pour Winbox à distance : le port 8291 doit être joignable.

Ajouter le routeur dans Hotspots Online

  1. Depuis le tableau de bord, cliquez sur + Ajouter un routeur.
  2. Renseignez un nom, l'hôte (IP ou DDNS), le port API, l'utilisateur et le mot de passe RouterOS.
  3. Indiquez les ports Webfig et Winbox si vous les utilisez.
  4. Cliquez sur Tester la connexion puis enregistrez.
Le mot de passe du routeur est chiffré (AES-256) dès l'enregistrement. Il n'est jamais affiché ni renvoyé par l'API.

Tableau de bord

Votre tableau de bord

Le premier écran après la connexion résume votre activité sur une période que vous choisissez : 7, 30 ou 90 jours (30 par défaut). Le choix se fait par les boutons de période en haut de l'écran et se conserve dans l'adresse — un lien partagé rouvre le même écran.

Quatre cartes donnent la mesure de la période : routeurs ajoutés, ventes, chiffre d'affaires et portails captifs acquis. Chacune affiche sa variation face à la période précédente et sa courbe ; quand la période précédente ne portait rien, la carte écrit « pas de comparaison » plutôt qu'un pourcentage calculé sur du vide. Sous les cartes, deux vues : les colonnes des montants encaissés, découpées en tranches égales sur la période, et une frise « ventes par routeur » — une ligne par routeur ayant vendu, sa barre allant de sa première à sa dernière vente, ce qu'un total ne dit pas.

Le chiffre d'affaires additionne une seule devise, la plus utilisée sur la période : elle est écrite dans le libellé de la carte. Les ventes faites dans une autre devise ne sont pas mélangées au total, elles sont listées à part sous la carte. Un total qui additionnerait des francs et des euros serait faux.

Le tableau de bord d'un routeur

Le tableau de bord d'un routeur affiche son état en temps réel : identité du routeur, version RouterOS, uptime, charge CPU, mémoire, espace disque, et le nombre de sessions actives, d'utilisateurs hotspot et de baux DHCP.

Un indicateur montre si le routeur est en ligne, hors ligne ou jamais testé. Chaque test de connexion met à jour cet état.

La liste de vos routeurs est paginée (15 par page) et la case au début de chaque ligne prépare une suppression par lot — voir Sélection multiple.

Rapports statistiques

Vos rapports

La page Rapports ne résume pas, elle classe. Elle se lit sur la même période que le tableau de bord — 7, 30 ou 90 jours — et se découpe en deux catégories, accessibles par le sommaire de gauche.

  • Tous mes routeurs : ventes, chiffre d'affaires, profils les plus vendus, consommation des codes et classement des vendeurs, tous routeurs confondus.
  • Routeur par routeur : les mêmes mesures, routeur par routeur, avec un tableau classé et le détail de chacun (profils vendus, taux de consommation, ventes).

Les cartes de mesure montent jusqu'à leur valeur à l'ouverture, et chaque graphique s'anime quand il arrive à l'écran. Le bouton « Rejouer les animations » les relance sans recharger la page. Si le JavaScript est coupé, tout reste lisible : valeurs, légendes et tableaux sont écrits par le serveur.

Un code généré mais jamais utilisé compte comme généré, pas comme vendu. C'est pourquoi un taux de consommation reste sous 100 % même quand tout le stock a été distribué : la mesure s'appelle « codes utilisés au moins une fois ».

Deux règles valent partout : les montants ne s'additionnent que dans une seule devise (les autres sont signalées à côté), et une mesure sans rien à comparer écrit « pas de comparaison » plutôt qu'un pourcentage calculé sur du vide.

Utilisateurs hotspot

La page Utilisateurs liste les comptes de connexion de votre hotspot, avec recherche et filtre par profil. La recherche s'applique au fil de la frappe, sans recharger la page, et le filtre par profil se choisit dans la liste des profils du routeur. La liste est paginée : 50 codes par page.

Ajouter un utilisateur

Choisissez le nom, le mot de passe, le profil et éventuellement une limite de durée ou de trafic. Le compte est créé sur le routeur via l'API.

Générer en masse

Pour vendre du temps de connexion, générez plusieurs codes d'un coup : vous choisissez le préfixe, la longueur, le jeu de caractères (chiffres, lettres, mixte), le mode nom + mot de passe ou code voucher, et les limites.

Supprimer plusieurs codes d'un coup

Cochez les lignes voulues, puis supprimez la sélection. L'application ne se connecte au routeur qu'une seule fois pour tout le lot et vous rend un compte précis : combien de codes ont été supprimés, lesquels ont été refusés et pour quelle raison, et combien n'ont pas reçu de confirmation (routeur muet). Un code n'est jamais retiré de la plateforme sans l'avoir été sur le routeur : celui dont la suppression n'a pas été confirmée est conservé, et le message dit pourquoi.

Actions

  • Activer / désactiver un compte sans le supprimer.
  • Réinitialiser les compteurs (durée et trafic consommés).
  • Supprimer un compte.
  • Déconnecter une session active.

Sélection multiple

La suppression par lot existe sur les quatre écrans de listes : codes hotspot, routeurs, vendeurs d'un routeur (15 par page) et gabarits de portails (20 par page). Chaque écran annonce le nombre d'éléments supprimés et, s'il y a lieu, ce qui a été écarté : une sélection qui contient des identifiants hors de vos routeurs ne touche à rien pour eux et vous le dit — « N identifiant(s) hors de vos routeurs : rien n'a été tenté pour eux. »

Profils et tarifs

La page Profils et tarifs gère les profils hotspot sur votre routeur : création, renommage, suppression (refusée tant que des comptes les utilisent), avec pour chacun son prix, son format de code, et la durée totale et le quota proposés par défaut à la génération des vouchers. Ces deux derniers ne sont pas des propriétés du profil : RouterOS ne les accepte que sur l'utilisateur, l'application les applique donc au moment de générer les codes. Ils ne valent que pour les codes générés depuis l'application : une vente faite au comptoir, ou par l'API vendeur, crée un code sans aucune limite.

Quand le routeur refuse une opération, ou qu'il devient injoignable au mauvais moment, l'écran ne reste pas muet : il nomme l'état réel des deux côtés — par exemple « le profil est créé sur le routeur, mais son tarif n'a pas pu être enregistré chez nous : raison ». Vous savez ainsi ce qui existe sur le routeur, ce qui existe chez nous, et ce qu'il reste à reprendre.

Vouchers et QR

Après une génération, vous pouvez imprimer des vouchers. Chaque voucher affiche le code et un QR code qui renvoie vers la page de connexion du hotspot avec le code pré-rempli : vos clients n'ont qu'à scanner pour se connecter.

Une vente encaissée par un de vos vendeurs apparaît aussi dans son espace web, sous Mes ventes.

Commander un portail captif

Le catalogue public des portails captifs est ouvert à tous : choisissez un modèle, puis laissez vos coordonnées — nom, téléphone ou WhatsApp et adresse e-mail obligatoire. Cette adresse est la voie de livraison : l'archive du portail y est envoyée dès que le paiement est constaté, y compris lorsque la commande est passée avec un compte connecté.

Le règlement se fait par Wave (QR affiché après la commande). La commande est suivie par un lien personnel remis au moment de la commande ; gardez-le pour retrouver l'état du paiement et télécharger l'archive.

Espace vendeur

Un compte vendeur est créé par le propriétaire depuis la page Vendeurs du routeur concerné, et rattaché à ce routeur. Le vendeur encaisse ses ventes depuis l'application de vente ; le web lui donne un suivi, en lecture seule :

  • Ma boutique : le nombre de ventes enregistrées, le montant encaissé, et la fiche du routeur de la boutique (routeur, hotspot, monnaie, état, dernier relevé). L'état affiché est le dernier relevé connu : la page n'interroge pas le routeur.
  • Mes ventes : les vouchers que le vendeur a encaissés, 50 par page, du plus récent au plus ancien, avec la date, le code, le profil et le montant.
  • Rechercher un code : un champ au-dessus de la liste filtre sur le code ou sur la référence (deux caractères minimum). La recherche porte sur son propre journal uniquement, et la pagination la conserve — « Tout voir » revient à la liste complète.
  • Fiche d'une vente : un appui sur le code ouvre la fiche — code, mot de passe, profil, montant et date. C'est la réponse au client qui revient sans son ticket. Une vente d'un collègue reste introuvable (404), jamais « interdite » (403).

Le vendeur ne crée, ne modifie et ne supprime rien : son espace n'offre aucun bouton d'action.

Son profil est en lecture seule : il consulte ses informations, mais seul le propriétaire du routeur auquel il est rattaché peut modifier son nom, son adresse e-mail, son téléphone ou son mot de passe (voir Mon profil).

Les deux espaces sont strictement séparés. Un compte qui n'est pas vendeur et demande un écran vendeur reçoit « Ces fonctions sont réservées aux comptes vendeurs. » À l'inverse, un vendeur qui demande un écran du propriétaire reçoit « Un compte vendeur travaille depuis l'application de vente : il n'accède ni aux espaces du propriétaire, ni à son tableau de bord. »

Deux refus particuliers, quand un vendeur se plaint de ne rien voir : « Votre compte vendeur a été désactivé par le propriétaire. » — le propriétaire réactive le compte depuis la page Vendeurs — et « Votre compte n'est rattaché à aucun routeur. Contactez le propriétaire. » — le rattachement se refait au même endroit.

Webfig à distance

Le lien Webfig ouvre l'interface web de votre routeur dans le navigateur, en passant par la plateforme. Vous n'avez pas à saisir vos identifiants : la connexion est authentifiée automatiquement.

Winbox à distance

Chaque routeur dispose d'un port de tunnel dédié, affiché sur sa fiche dans Hotspots Online. Pour vous connecter :

  1. Ouvrez Winbox.
  2. Indiquez l'hôte de la plateforme et le port de tunnel affiché sur la fiche du routeur.
  3. Connectez-vous avec vos identifiants RouterOS habituels.
Le tunnel relaie le flux TCP du port 8291 du routeur. L'activation du service de tunnel dépend de la configuration de l'hébergement.

L'application de vente

VOUCHER BOUTIQUE est l'application Android du vendeur, comprise dans tous les packs. Elle parle à l'API vendeur de la plateforme et n'a besoin d'aucun autre outil : au comptoir, le vendeur ouvre l'application, touche un tarif, et le code est créé sur le routeur.

Écran de vente : carte du routeur avec ventes du jour, montant encaissé masquable d'un œil et nombre de profils, puis la recherche et les tarifs
Reçu client avec QR code
Journal du jour
Fiche d'un code vendu
Page de contact du support

Ce que l'application apporte au vendeur

  • Vendre en un appui : la carte du routeur affiche l'état et les trois chiffres du jour (ventes, encaissé, profils), et chaque tarif occupe une carte entière — on vise au pouce, debout, avec une file devant soi.
  • Remettre sans faute : code en grand, QR code, montant, heure. Le client repart avec ce qu'il faut, et le vendeur peut copier le code pour l'envoyer par SMS.
  • Retrouver un code, même sans réseau : chaque code vu par le téléphone y est gardé. La recherche du journal le retrouve hors connexion ; si la vente a été faite sur un autre appareil, l'application interroge le serveur et mémorise le résultat.
  • Un journal toujours à jour : après chaque vente, la liste et les totaux sont relus automatiquement — pas de bouton à penser à toucher.
  • Fiche d'une vente : code, mot de passe, profil, montant, date et heure, avec copie en un appui.
  • Masquer les montants d'un appui : l'œil de la carte du routeur — et celui du journal — replie l'encaissé. Un client penché sur l'écran ne lit plus la recette du jour ; un second appui la réaffiche.
  • Un guide à la première ouverture : quelques panneaux présentent l'état du routeur, les tarifs et le journal avant la première vente. Il se rejoue depuis Compte (« Revoir le guide de première utilisation »).
  • À la main du vendeur : l'apparence suit le téléphone (Système) ou se force en Clair / Sombre depuis Compte ; le choix reste sur l'appareil.
  • Compte et contact : le vendeur vérifie sous quel compte il est et sur quelle boutique, se déconnecte proprement, et joint le support sans quitter l'application.
  • Entièrement en français : interface, messages d'erreur et page de contact comprises.
L'application se construit pour la bonne adresse du serveur et s'installe sur un téléphone Android. Un vendeur ne voit que son routeur, son journal et ses codes : ni les autres boutiques, ni les écrans du propriétaire.

API distante

L'API REST permet d'automatiser la vente de connexions depuis vos propres outils. Elle s'utilise avec un jeton Bearer obtenu à la connexion.

# 1. Obtenir un jeton
curl -X POST https://app.hotspots.online/api/login \
  -H "Content-Type: application/json" \
  -d '{"email":"vous@exemple.com","password":"votre-mot-de-passe"}'

# 2. Générer 10 vouchers de 1 jour
curl -X POST https://app.hotspots.online/api/devices/1/hotspot/users/generate \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"profile":"default","qty":10,"mode":"vc","length":4,"char":"mix","limit_uptime":"1d"}'

Principaux points d'accès

MéthodeRouteDescription
POST/api/registerCréer un compte
POST/api/loginObtenir un jeton
GET/api/meProfil du compte
POST/api/logoutRévoquer le jeton
GET / POST/api/devicesLister / ajouter des routeurs
GET / PUT / DELETE/api/devices/{id}Détail / modifier / supprimer
GET/api/devices/{id}/systemRessources système
GET / POST/api/devices/{id}/hotspot/usersLister / ajouter des utilisateurs
POST/api/devices/{id}/hotspot/users/generateGénérer en masse
GET/api/devices/{id}/hotspot/activeSessions actives
POST/api/devices/{id}/hotspot/users/{uid}/toggleActiver / désactiver
DELETE/api/devices/{id}/hotspot/users/{uid}Supprimer un utilisateur

Côté vendeur

Un compte vendeur dispose de ses propres points d'accès — /api/seller/context, /api/seller/profiles, POST /api/seller/sales (la vente, avec clé d'idempotence), GET /api/seller/sales (le journal du jour), GET /api/seller/sales/{id} (le code et son mot de passe) et GET /api/seller/sales/recherche?q=… (recherche par code ou référence) — utilisés par l'application de vente. /api/me renvoie le contexte du compte, rattachement au routeur compris : l'application sait à quelle boutique le vendeur appartient sans avoir à le deviner, et un jeton de vendeur ne donne accès à rien d'autre.

Sécurité

  • Chiffrement : les mots de passe des routeurs sont chiffrés AES-256 au repos.
  • Isolation : chaque compte ne voit et ne gère que ses propres routeurs.
  • Rôles séparés : un compte vendeur n'ouvre aucun écran du propriétaire, et le propriétaire n'accède pas aux écrans vendeurs — le refus est explicite, jamais silencieux.
  • Périmètre des lots : une suppression par lot ne touche que les éléments de vos propres routeurs ; tout identifiant hors de ce périmètre est écarté et nommé.
  • API : l'accès se fait par jetons révocables (Sanctum).
  • Confirmation d'e-mail : tout nouveau compte doit valider son adresse avant d'accéder à l'application.
  • Sessions : fermeture après 30 minutes d'inactivité ; « Se souvenir de moi » pose un cookie de reconnexion de 30 jours, décoché par défaut.
  • Téléphone : obligatoire à l'inscription, il permet à l'administration de joindre le titulaire par appel ; il est modifiable dans le profil.
  • Mot de passe : changement depuis le profil avec le mot de passe actuel ; les jetons API du compte sont révoqués. Un vendeur ne change pas le sien : son propriétaire le gère.

Dépannage

  • Connexion refusée : vérifiez que l'API RouterOS est activée (IP → Services → api) et que le port est joignable depuis Internet.
  • Délai d'attente : le routeur est injoignable. Vérifiez l'IP ou le DDNS, et que le pare-feu autorise le port.
  • Identifiants invalides : vérifiez l'utilisateur RouterOS et son mot de passe.
  • Webfig ne charge pas : le service www (port 80) doit être actif sur le routeur.
  • Un message au lieu d'une page muette : quand le routeur refuse, ne répond pas, ou qu'une écriture s'arrête à mi-chemin, la plateforme nomme la cause et l'état réel — ce qui existe sur le routeur, ce qui existe chez vous, ce qui a été écarté. Lisez le message : il dit ce qu'il reste à reprendre.
  • « Abonnement inactif ou expiré » : souscrivez à un pack pour retrouver les fonctionnalités ; un pack déjà souscrit se remplace sans cumuler les jours restants.
  • Un vendeur ne voit rien : « compte désactivé » ou « aucun routeur rattaché » — dans les deux cas, la page Vendeurs du routeur est l'endroit où le propriétaire réactive ou rattache le compte.
  • Un compte vendeur n'ouvre pas le tableau de bord : c'est voulu. Le vendeur travaille depuis l'application de vente et suit sa boutique dans son espace web, en lecture seule.
  • E-mail de confirmation non reçu : vérifiez les courriers indésirables, ou demandez un nouveau lien.
  • « Votre session a expiré » : après 30 minutes sans activité, la session est fermée. Reconnectez-vous ; cochez « Se souvenir de moi » pour rester connecté après la fermeture du navigateur.
  • Un vendeur veut changer ses informations : son profil est en lecture seule. Le propriétaire du routeur le modifie depuis la page Vendeurs → Profil.