WikiMiNET

La documentation technique et administrative

Outils pour utilisateurs

Outils du site


wiki:services:adh5

ADH5

ADH5 est l'interface de gestion des adhérents.

Contacts : Anthony Verez (netantho@minet.net), François Monniot (francois@), Anasse Hassala (marlow@), Thibaut Sautereau (thithib@)

Un grand nombre de présentations à propos d'adh5 sont disponibles sur la dropbox.

Fonctionnalités

La complexité du SI de MiNET impose l'utilisation d'une interface pour faciliter tout un tas de tâches dont voici les principales :

  • Gérer les adhérents et les chambres
  • Changer de VLAN la chambre de l'adhérent
  • Enregistrer les paiements de l'adhérent
  • Connaître le nombre de machines de l'adhérent, ses IPs..

L'histoire des ADHs

Autrefois, l’application ADH4 consistait à modifier un annuaire LDAP qui servait aux services réseaux tels que DHCP, DNS et Radius. Elle était écrite en PHP par deux stagiaires il y a 3 ans. Cependant, elle comporte de nombreux bugs et ne correspond plus au réseau : prise en compte du Wi-Fi, distribution des IPs plus difficile. Le projet consistait donc à réécrire cette application. Notre choix s’est tourné vers Ruby on Rails, un framework puissant et rapide. Le LDAP a été supprimé au profit d’un plus classique MySQL. En effet, les administrateurs de MiNET sont souvent des premières années qui n’ont jamais touché à ce genre de base de données. Une base MySQL est plus simple à maintenir pour eux.

Chaque service réseau accède aux données en se connectant simplement à la base de données en formulant une requête prédéfinie. Ce schéma ne peut pas marcher avec plusieurs services en parallèle. Chaque service impose son schéma et ses requêtes. Ils imposent alors de la duplication de données dans la base, ce qui à terme conduit à des inconsistances. Nous avons donc ajouté une surcouche à nos trois services pour uniformiser ce fonctionnement et les rendre indépendants de la base de données.

Les services n’ont plus connaissance de la base de données mais juste d’un serveur web qui va faire l’interface entre les deux. Il va renvoyer juste ce qu’il faut pour chaque service. Des traitements peuvent alors être ajoutés. Par exemple, nous devons savoir quelle adresse MAC correspond à quel adhérent. Pour cela, nous devions, à chaque fois, entrer dans ADH4 l’adresse à la main. Maintenant, on peut faire en sorte que lorsque le service Radius effectue une demande d’authentification, que la MAC n’est pas connue, mais que le couple nom d’utilisateur/mot de passe est bon, alors, il rajoute l’adresse dans la base.

MiNET fournit à ses adhérents la possibilité de pouvoir ajouter, modifier, supprimer des adresses MAC de leur profil. Nous avons donc réalisé une nouvelle version du portail. Plus ergonomique, il contient une multitude d’informations pour les adhérents.

Enfin, un serveur de « jobs » a été ajouté afin de s’occuper des traitements longs comme la création de compte sur le site MSDNAA de Microsoft, la sauvegarde la base de données ou l’analyse des requêtes ARP.

(Pour l'anecdote, ADH3 était basé aussi sur MySQL mais avec les schémas de base imposés par les 3 services, pas très pratique !)

Résolution de problèmes

Les logs se trouvent dans /var/www/adh5/current/log/, dans plusieurs fichiers (accesibles via un accès à la machine ADH5, par SSH par exemple). En cas d'erreur, ils contiennent la stacktrace ruby qui doit donner une bonne indication de la source du problème.

Création d'un utilisateur impossible

Penser à vérifier que le smtp fonctionne correctement (notamment l'authentification). En effet, en cas d'échec de l'envoi du mail de création de compte, le compte n'est pas créé.

Contribuer

Visitez cette page.

Firewall

Ce service est sujet à des normes particulières de sécurité. Si vous souhaitez l'appeler depuis une autre machine, veuillez lire cette page

wiki/services/adh5.txt · Dernière modification: 2019/07/02 11:54 par gabery