Chapitre 3 : Méthodes
3.1. Méthodologie
3.1.2. Analyse
3.1.2.1. Critères d’analyse du réseau
Afin de mieux apprécier la qualité d'un réseau clients-serveur, nous avons sélectionné certains critères sur lesquels nous nous sommes basés pour analyser le réseau. Il s’agissait de :
La valeur minimum du RTT (Round Trip Time) qui est le temps que met un signal pour faire un aller-retour entre la source et la destination
Le nombre de clients connectés Le débit chez le client et le serveur.
3.1.2.2. Spécifications fonctionnelles
Les fonctionnalités suivantes sont attendues de l’application :
La passerelle de redirection doit assurer la redirection automatique et sécurisée de toutes les requêtes des clients
Le serveur Radius doit assurer :
L'authentification, la comptabilité et les autorisations des clients La gestion efficace du temps de connexion des clients
La gestion efficace des téléchargements des clients La déconnexion automatique des clients non autorisés
L'interface d'administration doit assurer :
La création, la recherche, la modification et la suppression des clients avec leurs autorisations
La déconnexion d'un client
La création du backup de la base de données L'accès aux statistiques et graphes
La gestion des comptes d'administration La gestion des sessions utilisateurs
28
La création, la recherche, la modification des plans de tarification ainsi que le choix du plan actif
Le choix de la langue de gestion : Anglais ou Français.
L’interface utilisateur doit assurer :
La visualisation des offres sur le réseau, du plan tarifaire et autres services
La réception et l’envoi des données d’authentifications, de comptabilités et d’autorisations concernant l’utilisateur actuel
Le choix de la langue de gestion : Anglais ou Français.
Le client doit pouvoir visualiser les offres sur le réseau
Les informations doivent pouvoir être mises à jour automatiquement lorsqu’un changement est détecté
Le client doit pouvoir être informé lorsqu’un changement survient sur le réseau et sur compte
L’administrateur doit pouvoir extraire en PDF et imprimer les données des clients ;
L’administrateur doit pouvoir définir les autorisations du gérant ainsi que la supervision de ces activités.
3.1.2.3. Analyse fonctionnelle
L’analyse fonctionnelle a été faite grâce aux diagrammes de cas d’utilisation.
Au cours de cette analyse, nous avons dénombré cinq différents types d’utilisateurs pouvant interagir avec l’application :
Les clients non connectés : ce sont des clients ne possédant pas de compte utilisateur activé ou non sur notre réseau et qui sont intéressés par nos offres;
Les clients : ce sont des clients disposant d’un compte utilisateur activé sur notre réseau, connectés au réseau et qui désirent un service;
29
Les NAS : ce sont des clients chargés de convoyer les données d’authentifications, de comptabilités et d’autorisations des clients vers le serveur Radius;
Le gérant : Gère les utilisateurs du réseau, ses droits sont définis par l’administrateur.
L’administrateur : l’administrateur est celui qui est chargé de gérer l’interface administrateur de l’application, par conséquent tous les utilisateurs de la base de données.
Le cas d’utilisation de l’acteur « client non connecté » est représenté à la figure 3.1 et celui de l’acteur « client » est représenté à la figure 3.2.
Figure 3.1 : Diagramme de cas d’utilisation de l’acteur « client non connecté »
30
Figure 3.2 : Diagramme de cas d’utilisation de l’acteur « Client »
L’acteur « client non connecté » doit pouvoir voir nos offres uniquement. Ce qui signifie qu’il n’a pas accès aux services du réseau à savoir principalement la connexion internet dans le cas présent. Après s’être authentifié, l’acteur « client » doit pouvoir avoir accès aux services et la visualisation de ses autorisations sur le réseau. De plus, il doit pouvoir voir ses autorisations actuelles, jusqu’à sa déconnexion.
La figure 3.3 représente le diagramme de cas d’utilisation de l’acteur « NAS ». L’acteur
« NAS » est chargé de convoyer toutes les données d’authentifications, de comptabilités et d’autorisations des clients vers le serveur Radius et celles du serveur Radius vers les clients. Pour des raisons de sécurité, les clients ne sont pas directement
31
reliés au serveur Radius. Le NAS dispose d’un compte comportant les informations nécessaires pour être reconnu de façon unique par le serveur Radius et par les clients.
Figure 3.3 : Diagramme de cas d’utilisation de l’acteur « NAS»
La figure 3.4 représente le diagramme de cas d’utilisation de l’acteur « gérant ».
L’acteur « gérant » gère tous les clients enregistrés dans la base de données. Cela implique qu’il doit pouvoir ajouter, modifier les clients ainsi que toutes fonctionnalités de l’interface d’administration précitées, autorisées par l’administration.
32
Figure 3.4 : Diagramme de cas d’utilisation de l’acteur « Gérant»
33
La figure 3.5 représente le diagramme de cas d’utilisation de l’acteur
«administrateur». L’acteur « administrateur » gère tous les clients enregistrés dans la base de données, ainsi que tous les gérants enregistrés dans la base de données. Cela implique qu’il doit pouvoir ajouter, modifier les clients ainsi que toutes fonctionnalités de l’interface d’administration précitées. Il doit aussi définir les autorisations des gérants, leurs suivis dans l’exécution de leurs travaux.
34
Figure 3.5 : Diagramme de cas d’utilisation de l’acteur « Administrateur »
35
3.1.2.4. Analyse dynamique
Nous représenterons dans les figures 3.6 à 3.23 les diagrammes de séquence des cas d’utilisation les plus importants avec une brève description.
La figure 3.6 présente le diagramme de séquence du cas d’utilisation : S’authentifier Admin / Gérant.
- Cas d’utilisation : S’authentifier Titre : S’authentifier Admin / Gérant
Résumé : Ce cas d’utilisation permet à tout utilisateur enregistré dans la base de données de s’authentifier et d’accéder à l’interface d’administration de l’application, en fonction de ses droits d’utilisateur.
Acteurs : Administrateur, Gérant
Préconditions : serveur disponible, Navigateur web disponible.
Exceptions : L’URL mal saisie par l’utilisateur, Navigateur web indisponible, serveur indisponible.
Post-conditions : La session est ouverte, l’application affiche la page d’accueil.
La figure 3.7 présente le diagramme de séquence du cas d’utilisation : S’authentifier Client
- Cas d’utilisation : S’authentifier Titre : S’authentifier Client
Résumé : Ce cas d’utilisation permet à tout client enregistré dans la base de données de s’authentifier et d’accéder à l’interface cliente de l’application, en fonction de ses autorisations.
Acteurs : Client
Préconditions : serveur disponible, navigateur web disponible, connexion internet disponible.
Exceptions : navigateur web indisponible, serveur indisponible, connexion internet indisponible.
Post-conditions : La session est ouverte, l’application donne accès à l’internet.
36
La figure 3.8 présente le diagramme de séquence du cas d’utilisation : Ajouter un client
- Cas d’utilisation : Ajouter un client Titre : Ajouter un utilisateur
Résumé : Ce cas d’utilisation permet à l’administrateur ou le Gérant de l’application d’ajouter un client dans la base de données.
Acteur : Administrateur / Gérant
Préconditions : serveur disponible, authentification effectuée, session administrateur / Gérant ouverte.
Exceptions : serveur indisponible, l’identifiant et/ou le mot de l’utilisateur sont mal saisis, l’utilisateur existe dans la base de données.
Post-conditions : la base de données est mise à jour et un nouvel utilisateur est créé.
La figure 3.9 présente le diagramme de séquence du cas d’utilisation : Modifier un client
- Cas d’utilisation : Modifier un client Titre : Modifier un client
Résumé : Ce cas d’utilisation permet à l’administrateur / Gérant de l’application de modifier les informations relatives à un utilisateur dans la base de données.
Acteur : Administrateur / Gérant
Préconditions : serveur disponible, authentification effectuée, session administrateur / Gérant ouverte.
Exceptions : serveur indisponible, l’identifiant et/ou le mot de l’utilisateur sont mal saisis, l’utilisateur n’existe pas dans la base de données.
Post-conditions : la base de données est mise à jour et l’utilisateur est modifié.
La figure 3.10 présente le diagramme de séquence du cas d’utilisation : Chercher un client
- Cas d’utilisation : Chercher un client Titre : Chercher un client
37
Résumé : Ce cas d’utilisation permet à l’administrateur / Gérant de l’application de chercher les informations relatives à un client dans la base de données.
Acteur : Administrateur / Gérant
Préconditions : serveur disponible, authentification effectuée, session administrateur / Gérant ouverte.
Exceptions : serveur indisponible, l’identifiant et/ou le mot de l’utilisateur sont mal saisis, l’utilisateur n’existe pas dans la base de données.
Post-conditions : le client est retrouvé dans la base de données et les informations sont affichées.
La figure 3.11 présente le diagramme de séquence du cas d’utilisation : Activer un client
- Cas d’utilisation : Activer un client Titre : Activer un client
Résumé : Ce cas d’utilisation permet à l’administrateur / Gérant de l’application d’activer un client dans la base de données en activant ses autorisations.
Acteur : Administrateur / Gérant
Préconditions : serveur disponible, authentification effectuée, session administrateur / Gérant ouverte, client désactivé.
Exceptions : serveur indisponible, le client n’existe pas dans la base de données, le client n’est pas désactivé.
Post-conditions : le client est activé et ses autorisations sont utilisables.
La figure 3.12 présente le diagramme de séquence du cas d’utilisation : Désactiver un client
- Cas d’utilisation : Désactiver un client Titre : Désactiver un client
Résumé : Ce cas d’utilisation permet à l’administrateur / Gérant de l’application de désactiver un client dans la base de données en interdisant ses autorisations.
Acteur : Administrateur / Gérant
38
Préconditions : serveur disponible, authentification effectuée, session administrateur / Gérant ouverte, client activé.
Exceptions : serveur indisponible, le client n’existe pas dans la base de données, le client n’est pas désactivé.
Post-conditions : le client est désactivé et ses autorisations sont interdites.
La figure 3.13 présente le diagramme de séquence du cas d’utilisation : Se déconnecter Admin / Gérant
- Cas d’utilisation : Se déconnecter Titre : Se déconnecter Admin / Gérant
Résumé : Ce cas d’utilisation permet à l’administrateur / Gérant de l’application de se déconnecter de l’application. Cela implique une fermeture de leur session. Cette déconnexion peut s’effectuer automatiquement après 5 minutes d’inactivités, cette durée est configurable.
Acteur : Administrateur / Gérant
Préconditions : serveur disponible, authentification effectuée, session administrateur / Gérant ouverte.
Exceptions : serveur indisponible.
Post-conditions : Administrateur / Gérant est déconnecté.
La figure 3.14 présente le diagramme de séquence du cas d’utilisation : Se déconnecter Client
- Cas d’utilisation : Se déconnecter Titre : Se déconnecter Client
Résumé : Ce cas d’utilisation permet à un client de se déconnecter de l’application. Cela implique une fermeture de sa session de navigation. Cette déconnexion peut s’effectuer automatiquement après 2 minutes d’inactivités, cette durée est configurable.
Acteur : Client
Préconditions : serveur disponible, authentification effectuée, session cliente ouverte.
39
Exceptions : serveur indisponible.
Post-conditions : Le client est déconnecté.
La figure 3.15 présente le diagramme de séquence du cas d’utilisation : Créer un plan de tarification
- Cas d’utilisation : Créer un plan de tarification Titre : Créer un plan de tarification
Résumé : Ce cas d’utilisation permet à l’administrateur et/ou le Gérant de l’application de créer un plan de tarification dans la base de données.
Acteur : Administrateur / Gérant
Préconditions : serveur disponible, authentification effectuée, session administrateur / Gérant ouverte.
Exceptions : serveur indisponible, le nom plan mal saisi, le plan existe dans la base de données.
Post-conditions : la base de données est mise à jour et un nouveau plan est créé.
La figure 3.15 présente le diagramme de séquence du cas d’utilisation : Modifier un plan
- Cas d’utilisation : Modifier un plan Titre : Modifier un plan
Résumé : Ce cas d’utilisation permet à l’administrateur / Gérant de l’application de modifier les informations relatives à un plan dans la base de données.
Acteur : Administrateur / Gérant
Préconditions : serveur disponible, authentification effectuée, session administrateur / Gérant ouverte.
Exceptions : serveur indisponible, le nom plan mal saisi, le plan n’existe pas dans la base de données.
Post-conditions : la base de données est mise à jour et le plan est modifié.
40
La figure 3.17 présente le diagramme de séquence du cas d’utilisation : Activer un plan
- Cas d’utilisation : Activer un plan Titre : Activer un plan
Résumé : Ce cas d’utilisation permet à l’administrateur / Gérant de l’application d’activer un plan dans la base de données en le définissant comme le plan par défaut.
Cela implique que les nouveaux clients seront créés à partir de ce plan.
Acteur : Administrateur / Gérant
Préconditions : serveur disponible, authentification effectuée, session administrateur / Gérant ouverte.
Exceptions : serveur indisponible, le plan n’existe pas dans la base de données.
Post-conditions : le plan est activé et défini comme le plan par défaut dans la base de données et les informations sont affichées.
La figure 3.18 présente le diagramme de séquence du cas d’utilisation : Consulter les autorisations des clients
- Cas d’utilisation : Consulter les autorisations des clients Titre : Consulter les autorisations des clients
Résumé : Ce cas d’utilisation permet à un Administrateur / Gérant authentifié de voir les autorisations des clients entre un intervalle de temps donné. Cela implique un bilan des attributions horaires, des téléchargements et autres autorisations accordées, dans l’intervalle de temps spécifié. Ces informations peuvent être extraites en PDF et imprimées.
Acteur : Administrateur / Gérant
Préconditions : serveur disponible, authentification effectuée, session administrateur / Gérant ouverte.
Exceptions : serveur indisponible.
Post-conditions : Application affiche la page de consultation des autorisations des clients.
41
La figure 3.19 présente le diagramme de séquence du cas d’utilisation : Consulter la comptabilité des clients
- Cas d’utilisation : Consulter la comptabilité des clients Titre : Consulter la comptabilité des clients
Résumé : Ce cas d’utilisation permet à un Administrateur / Gérant authentifié de voir la comptabilité des clients entre un intervalle de temps donné. Cela implique un bilan des consommations horaires, des téléchargements, son adresse IP, et autres informations nécessaires accordées, dans l’intervalle de temps spécifié. Cette recherche peut être filtrée à partir du nom client ou une partie des noms clients, de l’adresse IP et autres. Ces informations peuvent être extraites en PDF et imprimées.
Acteur : Administrateur / Gérant
Préconditions : serveur disponible, authentification effectuée, session administrateur / Gérant ouverte.
Exceptions : serveur indisponible.
Post-conditions :l’application affiche la page de consultation de la comptabilité des clients.
La figure 3.23 présente le diagramme de séquence du cas d’utilisation : Avoir la connexion internet
- Cas d’utilisation : Avoir la connexion internet Titre : Avoir la connexion internet
Résumé : Ce cas d’utilisation permet à un client authentifié d’avoir accès à la connexion internet. Cela implique aussi la comptabilisation de ses consommations et la visualisation de ses autorisations restantes.
Acteur : Client
Préconditions : serveur disponible, navigateur web disponible, client authentifié.
Exceptions : serveur indisponible, navigateur web indisponible, client non authentifié.
Post-conditions : l’application donne l’accès à l’internet, comptabilise les consommations et montre les autorisations restantes.
42
La figure 3.20 présente le diagramme de séquence du cas d’utilisation : Consulter tarification
- Cas d’utilisation : Consulter tarification Titre : Consulter tarification
Résumé : Ce cas d’utilisation permet à un Administrateur / Gérant authentifié de voir la tarification des clients entre un intervalle de temps donné. Cela implique un bilan de consommation en termes de coût et d’heure pendant l’intervalle de temps donné.
Acteur : Administrateur / Gérant
Préconditions : serveur disponible, authentification effectuée, session administrateur / Gérant ouverte.
Exceptions : serveur indisponible, la non existence de plan dans la base de données.
Post-conditions :l’application affiche la page de consultation de tarification.
La figure 3.21 présente le diagramme de séquence du cas d’utilisation : Consulter les graphes
- Cas d’utilisation : Consulter les graphes Titre : Consulter graphes
Résumé : Ce cas d’utilisation permet à un Administrateur / Gérant authentifié de voir les graphes des clients.
Acteur : Administrateur / Gérant
Préconditions : serveur disponible, authentification effectuée, session administrateur / Gérant ouverte.
Exceptions : serveur indisponible.
Post-conditions :l’application affiche la page de consultation de graphes.
43
La figure 3.22 présente le diagramme de séquence du cas d’utilisation : Consulter les services disponibles sur le réseau
- Cas d’utilisation : Consulter les services disponibles sur le réseau Titre : Consulter les services disponibles sur le réseau
Résumé : Ce cas d’utilisation permet à un client de voir les services disponibles sur le réseau.
Acteur : Client / Clients non connecté
Préconditions : serveur disponible, navigateur web disponible.
Exceptions : serveur indisponible, navigateur web indisponible.
Post-conditions :l’application affiche la page de consultation les services disponibles sur le réseau.
44
Figure 3.6 : Diagramme de séquence du cas d’utilisation « S’authentifier » : Admin / Gérant
45
Figure 3.7 : Diagramme de séquence du cas d’utilisation « S’authentifier » : Client
46
Figure 3.8 : Diagramme de séquence du cas d’utilisation « Ajouter un client »
47
Figure 3.9 : Diagramme de séquence du cas d’utilisation «Modifier un client »
48
Figure 3.10 : Diagramme de séquence du cas d’utilisation «Chercher un client »
49
Figure 3.11 : Diagramme de séquence du cas d’utilisation «Activer un client »
50
Figure 3.12 : Diagramme de séquence du cas d’utilisation «Désactiver un client »
51
Figure 3.13 : Diagramme de séquence du cas d’utilisation «Se déconnecter» : Admin / Gérant
52
Figure 3.14 : Diagramme de séquence du cas d’utilisation «Se déconnecter» : Client
53
Figure 3.15 : Diagramme de séquence du cas d’utilisation «Créer un plan de tarification »
54
Figure 3.16 : Diagramme de séquence du cas d’utilisation « Modifier un plan »
55
Figure 3.17 : Diagramme de séquence du cas d’utilisation « Activer un plan »
56
Figure 3.18 : Diagramme de séquence du cas d’utilisation «Consulter les autorisations des clients »
57
Figure 3.19 : Diagramme de séquence du cas d’utilisation «Consulter la comptabilité des clients »
58
Figure 3.20 : Diagramme de séquence du cas d’utilisation «Consulter tarification »
59
Figure 3.21 : Diagramme de séquence du cas d’utilisation «Consulter les graphes»
60
Figure 3.22 : Diagramme de séquence du cas d’utilisation «Consulter les offres du réseau »
61
Figure 3.23 : Diagramme de séquence du cas d’utilisation «Avoir la connexion internet»
62
63
3.1.2.5. Base de données
La base de données que nous avons créée nous servira à mieux gérer nos clients, administrateurs, Gérant, les plans de tarification, les tarifications. Les figures 3.24 et 3.25 représentent les tables de la base de données. Nous avons au total cré 14 tables, dont huit (8) sont pour la gestion de l'authentification, d’autorisation et de la comptabilité par le serveur Radius. Parmi ces tables, on peut citer :
nas : contient les données du client Radius (NAS)
radacct : contient l’historique des sessions, en outre les heures de début de connexion, de fin de connexion, la quantité de téléchargement en montée et en descente, adresse IP du client, …
radpostauth : contient l’historique des authentifications, c’est-à-dire les essais de connexion au serveur
radcheck : contient les filtres sur les attributs de la liste request (soummission) et opérations sur les attributs de la liste de control
radreply : contient les opérations sur les attributs de la liste reply et les opérations sur les attributs de la liste de control
radusergroup : contient la liste des groupes de chaque utilisateur radgroupcheck : comme radcheck mais s’applique à des groupes radgroupreply : comme radreply mais s’applique à des groupes
64
Figure 3.24 : Tables du serveur Radius
Les six (6) restantes sont utilisées pour la gestion de la tarification, les Administrateurs, les données des clients et la gestion des autorisations des administrateurs.
operators : contient les informations sur les administrateurs userinfo : contient les données personnelles des clients tarif : contient les consommations des clients
plan : contient les plans de tarification
operators_acl_files : contient les fichiers de l’application avec les autorisations
65
Figure 3.25 : Tables de gestion des administrateurs et tarifications