Sommaire
- Présentation
- Qu’est ce que s’est ?
- Comment sa fonctionne ?
- Mon travail
Présentation
Ce projet académique avait pour but l’initiation et le perfection avec l’environnement linux tout en s’appuyant sur l’élargissement du spectre de vision sur la tenue d’un projet professionnel et du rendu à proposer selon les attentes du client.
Qu’est ce que s’est ?
Ici l’analogie est faite directement à un portail captif. Un portail captif également connu sous le nom de portail d’authentification, est un mécanisme de contrôle d’accès utilisé dans les réseaux informatiques. Il est souvent utilisé dans les environnements publics tels que les aéroports, les hôtels, les cafés, ou comme dans mon cas sur le campus universitaire d’INTECH où un contrôle d’accès était nécessaire pour des raisons de sécurité, de gestion des utilisateurs, …
Comment sa fonctionne ?
Le portail captif permet, lorsqu’un utilisateur se connecte à un wifi ou un réseau câblé, la redirection vers une page d’authentification spéciale; sur la page du portail captif, l’utilisateur doit fournir des informations d’identification ou accepter les conditions d’utilisation avant d’accéder à internet; une fois l’authentification réussie, le portail captif vérifie les informations fournies par l’utilisateur et décide si l’accès à internet lui est accordé ou non. Cette étape passée le portail captif peut mettre en place des restrictions ou des règles supplémentaires sur l’utilisation du réseau.
Les portails captifs peuvent être implémentés à l’aide de logiciels spécifiques, d’équipement réseau ou de solutions cloud, en fonction des besoins et des contraintes du réseau.
Mon travail :
Projet : Mise en place d’un portail captif pour la gestion d’utilisateurs
Il est question ici de différencier les accès et autorisation des professeurs et des étudiants au sein de l’école. Au cours de ce projet nous avons appris à définir des objectifs clairs et compris par les 2 parties à savoir mon équipe et le client. Ces objectifs devaient par la suite être spécifiques, mesurables, atteignables, pertinents et limités dans le temps qui nous était accordé. À la suite de ça nous avons appris à planifier nos tâches (préalablement identifiées) selon les compétences de tout un chacun; puis d’établir une liste de ressources nécessaire dont nous avons eu besoin ici en l’occurrence WordPress (pour construire une interface utilisateur web), Xamp (logiciel d’hébergement du mini-site) , Bash (pour le Scripting), Raspberry (serveur physique), d’un Trello pour dater nos tâches avec des deadlines réalistes pour avoir un suivi et un contrôle sur ce que nous faisions. Ce projet m’a permis de développer également des compétences humaines sur la communication efficace avec mes collègues mais aussi avec le client sur les retours de notre avancement sous forme d’itération pour pouvoir maintenir toutes les parties prenantes informées de l’avancement du projet, des problèmes éventuels et des décisions prises. Nous avons eu à faire face à des risques (ici la gestion des injections sql, de piratage…) et avons mis en place des stratégies de plan de contingence pour les gérer efficacement.
Etape 1 : installation des dépendances
Comme nous l’avant dit en amant, les dépendances dont nous avons eu besoin pour mener à bien notre projet sont l’ensemble des ressources nécessaires et complémentaires cité au-dessus : WordPress (pour construire une interface utilisateur web), Xamp (logiciel d’hébergement du mini-site) , Bash (pour le Scripting), Raspberry (serveur physique), d’un Trello pour dater nos tâches avec des deadlines réalistes.
Etape 2 : Confection du site et écriture des scripts
Notre site a été monté spécialement sur WordPress qui est une plateforme visuelle du fait du manque de connaissances en développement. Les par contre en été écrit en bash shell avec la spécification sur chaque rôle et les accès différée des utilisateurs selon leur droit. Les utilisateurs (fictif) lors des tests étaient représentés par des Raspberry, tout cela pour avoir un rendu proche de la réalité.
Plus en détail, l’ensemble des actions que nous avons menés pour réaliser ce projet sont les suivantes:
- Nous avons identifié les fonctionnalités requises pour l’interface de connexion avec les informations nécessaires pour l’authentification des utilisateurs auprès de notre client.
- Nous avons conçu une interface conviviale et intuitive pour la page de connexion en incluant des champs pour les identifiants et le mot de passe puis ajouter une fonction de réinitialisation de mot de passe.
- Nous avons mis en place une base de données pour stocker les informations d’identification différenciée par le profil des utilisateurs clients en définissant les tables nécessaires pour stocker des données pertinentes telles que les noms d’utilisateur, l’adresse e-mail, les mots de passes et les rôles.
- nous avons mis en place un système de gestion des authentifications en Back-end en utilisant node.js en implémentant la logique de vérification des identifiants et du mot de passe.
- Nous avons mis en place des mesures de sécurité telles que le cryptage des mots de passe pour protéger les informations d’identification des utilisateurs et les « Reguest » pour bloquer l’injection de certains caractères qui pourrait amener au dysfonctionnement du service.
- Nous avons mis en place une connexion entre l’interface utilisateur et le backend pour gérer l’envoi des informations d’identification et la réception des réponses d’authentification, aussi des requêtes https (géré en POST) pour communiquer entre le front-end et le back-end.
- Nous avons enfin déployé le service sur une machine d’hébergement afin qu’elle soit accessible aux utilisateurs.
Etape 3 : Présentation de la recette au client
La communication avec le client, sur la présentation des différents avancements du projet, que ce soit les contraintes, les changements apportés par le client, les étapes réussies, jusqu’à la livraison de l’IHM professeur et étudiant s’est fait sous forme d’itération. Nous avons également fourni des livrables qui étaient l’ensemble de la documentation complète et nécessaire pour permettre la transparence, la traçabilité et la visibilité du projet. Ce projet nous a permis en fin de compte de comprendre l’importance de la bonne tenue d’un projet professionnel avec ces exigences, d’en tirer les leçons d’expérience sur nos atouts mais aussi nos lacunes et de trouver un axe d’amélioration pour les projets futurs.
Etape 4 : Axe d’amélioration
- Nous aurons pu rendre plus professionnel la tenue de la documentation, qui présentait un peu trop le caractère débutant de l’exercice, afin de montrer notre intérêt professionnel au niveau du client.
- Nous aurons pu prévoir des plans de maintenance pour notre client avant de lui remettre le projet fini.
- Nous aurons pu également rendre plus sécurisé la plateforme de sorte à rendre contraignant toutes tentatives de piratage quelque soit les niveaux.
Résumé :
Ce que j’ai appris | – scripting Bash shell – Gestion des droits utilisateurs et des reguests – Construction d’une interface utilisateur avec WordPress – Mise en place d’une Base de données |
Résultat | – Site sécurisé – Gestion de profil (Professeur & étudiant) |
Synthèse | C’est grâce à ce projet que je me suis familiarisé avec l’environnement Linux et son terminal en ligne de commande. |