Blog · Réseau & opérateur

Adipsys Hotspot Manager
anatomie d'un portail captif

Derrière une page de connexion WiFi, cinq services et une chaîne d'authentification. Anatomie de Hotspot Manager, et les pièges de personnalisation.

Qui est Adipsys

Adipsys est un éditeur français, basé à Sophia-Antipolis, spécialisé dans les solutions réseau pour hébergeurs, opérateurs et opérations WiFi : portail captif, gestion des accès invités, filtrage DNS. Ses produits s'installent chez l'exploitant, pas dans le nuage de l'éditeur, c'est précisément ce qui nous intéresse.

Deux briques nous concernent au quotidien :

  • Hotspot Manager la plateforme de portail captif : authentification des invités, thèmes, codes d'accès, comptabilité de session, export comptable pour l'établissement.
  • DNSProtect le filtrage DNS : blocage des catégories indésirables, des domaines malveillants, application de politiques par groupe d'utilisateurs.

L'architecture réelle, vue de l'intérieur

Ce que nous opérons pour un établissement n'est pas un binaire unique mais une pile de services, déployée en Docker Swarm. La version en production chez nous est la 3.42.2, et voici les conteneurs qui la composent, c'est cette séparation qui fait la robustesse de l'ensemble :

ServiceRôle
hm-webL'interface : portail invité, administration, API
hm-radius-v3Le serveur RADIUS : authentification, autorisation, comptabilité des sessions
hm-ha-dbLa base de données, comptes, portails, sessions, journaux
hm-rsyslogLa collecte des journaux d'accès, en flux continu
memcachedLe cache de session, pour que le portail réponde en un éclair

Séparer RADIUS du portail web n'est pas un détail d'architecte : le portail peut être redéployé ou rethémé sans interrompre l'authentification des invités déjà connectés. Et le conteneur rsyslog explique pourquoi un établissement peut retrouver, six mois plus tard, qui s'est connecté à quelle heure.

Le socle applicatif est plus ancien : Symfony 1.5, en PHP. On peut le déplorer ou le constater, un framework de cette génération impose une discipline : ne jamais toucher aux identifiants et aux classes du modèle, ne modifier que la présentation, et considérer que toute montée de version du socle est un projet, pas une opération de routine.

Ce que produit un portail captif, en pratique

Un portail, ce n'est pas une page de connexion : c'est une chaîne de quatre étapes.

  1. 1
    La redirectionL'équipement WiFi intercepte la première requête HTTP et renvoie l'invité vers le portail. Tout ce qui n'est pas encore autorisé passe par une liste blanche stricte.
  2. 2
    L'identificationCode d'accès, formulaire, SMS, ou réseau social selon la configuration. C'est ici que se joue la conformité : consentement, durée de conservation, mentions.
  3. 3
    L'autorisationLe portail demande à RADIUS d'ouvrir l'accès pour cet appareil, avec une durée et un profil de débit. La session est comptabilisée en octets et en temps.
  4. 4
    La sortieÀ l'expiration, la session est fermée et l'appareil renvoyé au portail. Les journaux restent, et c'est souvent ce que l'établissement vient chercher.

Les pièges que nous avons rencontrés

  • Les thèmes se régénèrent modifier un modèle puis le republier depuis l'interface réécrit le fichier servi. Toute personnalisation doit exister à la fois dans le thème source et dans le portail généré, sinon elle disparaît au premier enregistrement.
  • Les aperçus sont des images fixes l'écran de prévisualisation ne montre pas le rendu réel : il faut créer un portail pour voir le résultat.
  • Les dossiers ajoutés ne sont pas copiés un dossier de contenus (carte, guide, menu) posé dans un thème n'est pas repris à la génération du portail. Il faut le déployer à trois endroits pour qu'il survive.
  • Le modèle de couleurs est double les couleurs déclarées dans la configuration du thème ne suffisent pas : le portail a ses propres règles de style, et les deux doivent être cohérentes.

Pourquoi nous le déployons chez le client

Parce qu'un portail captif traite des données personnelles identifiants, adresses MAC, historique de navigation, et que les héberger chez soi change la nature du problème : plus de sous-traitant à documenter, plus de transfert à encadrer, et l'établissement garde la main sur ses journaux. C'est la même logique que pour Nextcloud, appliquée à un équipement réseau.

Sources : documentation éditeur Adipsys, images des services déployés (versions relevées en production) et documentation Docker Swarm.

Get in touch

Un projet comparable ? Nous répondons aux questions techniques en rendez-vous, avec les mêmes chiffres que dans ces articles.

The matching service: le WiFi public et le portail captif pour établissements.

Call now Contact us