=========================================
=========================================
Dans le cadre de notre projet 2 au sein de la Wild Code School, nous avons pour objectif principal d'exécuter un script présent sur un serveur afin qu'il intéragisse, propose des actions à l'utilisateur et récupère des informations sur un client, qu'il soit un utilisateur ou un ordinateur.
Le projet consiste donc à créer un script qui s’exécute sur une machine et effectue des tâches sur des machines distantes.
L’ensemble des machines sont sur le même réseau.
Les tâches sont des actions ou des requêtes d’informations.
Pour un utilisateur, ces tâches peuvent être :
-
Création de compte
-
Suppression de compte
-
Demandes d'informations telles que son nom, sa date de dernière connexion ou son ID
Et pour un ordinateur, ces tâches peuvent être :
-
Arrêter la machine
-
Redémarrer la machine
-
Demandes d'informations telles que son nom, son système d'exploitation, sa version ou encore son nombre d'utilisateurs
Deux scripts sont donc à fournir :
- Depuis une machine Windows Server, exécuter un script PowerShell qui cible des ordinateurs Windows
- Depuis une machine Debian, exécuter un script shell qui cible des ordinateurs Ubuntu
Le projet a suivi un processus de création selon la méthode AGILE. Cette méthode permet de rester flexible et de s’adapter aux changements. L’environnement de travail SCRUM a été utilisé pour cadrer et structurer le travail en équipe.
Notre organisation se basait sur une planification de sprint d’une semaine, durant laquelle un membre de l’équipe occupait l’un des deux rôles principaux :
Scrum Master : Il facilite le processus SCRUM en aidant à identifier et éliminer les obstacles, afin de maintenir la productivité de l’équipe. Il anime tous les matins les daily, qui permettent à chacun de s’exprimer librement sur des problématiques, l’avancée de leur travail, ou tout autre sujet pertinent dans le cadre du projet. Il anime aussi une rétrospective à la fin de la semaine pour faire un bilan du sprint.
Product Owner : Il se concentre sur la gestion du contenu produit. Il priorise les besoins du client et décide des nouvelles fonctionnalités à développer par sprint. C’est lui qui remplit le Trello par sprint et affecte les différents tickets.
Semaine 1 : Product-Owner
Semaine 2 : Technicienne
Semaine 3 : Technicienne
Semaine 4 : Scrum-Master
Sur le script PowerShell, en charge :
- des fonctionnalités Cible Utilisateur
- de la mise en place du fichier de logs qui donne l'historique de toutes les actions
Semaine 1 : Scrum-Master
Semaine 2 : Product-Owner
Semaine 3 : Scrum-Master
Semaine 4 : Technicienne
Sur le script PowerShell, en charge :
- des fontionnalités Cible Ordinateur
- de la mise en place du fichier info_nomCible_date.txt qui récupère les informations demandées.
- de la connexion SSH et son automatisation
- rédaction des livrables
Semaine 1 Technicien
Semaine 2 Scrum-Master
Semaine 3 Product-Owner
Semaine 4 Product-Owner
Sur le script Bash, en charge :
- des fonctionnalités Cible utilisateur et ordinateur
- de la mise en place du fichier info_nomCible_date.txt qui récupère les informations demandées
- de la mise en place du fichier de logs qui donne l'historique de toutes les actions
- rédaction des FAQ et partie "Problèmes rencontrés" des livrables
Système | Debian 12 | Windows Server 2022 |
---|---|---|
HostName | SRVLX01 | SRVWIN01 |
Login | sysadmin | Administrator |
Password | Azerty1* | Azerty1* |
IP Fixe | 172.16.10.10/24 | 172.16.10.5/24 |
Système | Ubuntu 24.04 LTS | Windows 10 |
---|---|---|
HostName | CLILIN01 | CLIWIN01 |
Login | wilder | wilder |
Password | Azerty1* | Azerty1* |
IP Fixe | 172.16.10.30/24 | 172.16.10.20/24 |
- Semaine 1 : Au cours de la première semaine, il n'y a eu aucun problème notoire, à l'exception de l'installation de la machine serveur Windows, qui a nécessité beaucoup de temps.
- Semaine 2 : Créez un script Bash qui suit l'arborescence et la structure initiale, capable d'afficher les différents menus et sous-menus, tout en permettant d'effectuer diverses actions et de demander des informations selon le choix de la machine. Établir la connexion ssh entre les machines virtuelles
- Semaine 3 : Nous n'avons toujours pas réussi a etablir la connexion entre les machines. Le script bash est toujours en cours de développement mais ne s'exécute pas sur des machines distantes.
- Semaine 4 :
-
Semaine 1 :
-
Semaine 2 : Nous avons réussi à rédiger une premiére partie du script en suivant le plan de l'arborescence, étape par étape, et concernant l'affichage des menus et sous-menus, nous avons utilisé la fonction "switch...case" pour régler le problème.
-
Semaine 3
-
Semaine 4
Des améliorations sont à prévoir afin d'agrandir le spectre des actions possibles et des informations à récupérer.
Côté Utilisateur, nous pourions rajouter la possibilité d'ajouter le compte au groupe Aministrateur ou encore récupérer des informations telles la date de dernière mofication du mot de passe.
Côté Ordinateur, nous pourrions implémenter la possibilité de mattre à jour le système, ajouter ou supprimer ds répertoire ou fichiers ou encore installer ou désinstaller des programmes.
Ce script de gestion d'une machine à distance nous permet d'envisager d'aller encore plus loin dans notre champ d'actions.
Nous souhaiterions aussi améliorer la fluidité et l'esthétisque de notre script afin qu'il soit plus aéré et harmonieux pour une expérience utilisateur optimale et agréable.