Ceci est une ancienne révision du document !
Projet Scripts-library
En tant que DSI, vous utilisez régulièrement des scripts permettant d'automatiser des tâches, qu'ils soient créés par vos soins, par vos collègues ou trouvés sur Internet. Vous êtes également amenés à créer/modifier des fichiers de configuration.
Après quelques années d'expérience, vous en avez créé quelqu'uns… que vous ne voudriez pas perdre, compte tenu du travail effectué.
Vos collègues du service sont dans le même cas que vous.
Vous décidez à plusieurs de créer une application web qui permettra de recenser et de sauvegarder les scripts créés par les différents intervenants.
Résumé
Outils à utiliser | |
---|---|
Principales fonctionnalités |
|
Règles de gestion
Les utilisateurs peuvent créer un compte, et se connecter à l'application.
Un script :
- est créé par un utilisateur
- appartient à une catégorie (config files, bash scripts…)
- est écrit dans un langage (php, bash, python…)
- est d'un certain type (Apache config file, DNS file, CRON…)
Une catégorie peut avoir une catégorie parent : les catégories sont donc structurées de manière arborescente. Les scripts sont classés par catégorie.
Comme avec un système d'exploitation, le propriétaire d'un script peut en modifier les droits : - Lire - Ecrire - Exécuter
Il est possible de créer des groupes d'utilisateurs, ayant des droits sur des scripts.
On souhaite savoir où est actuellement utilisé un script (matériel, serveur…).
On conservera un historique des versions de chaque script.
Schéma de la base
Fonctionnalités à mettre en place
- Connexion à l'application
- Affichage des scripts de l'utilisateur connecté, éventuellement classés par catégorie
- Affichage des scripts partagés avec l'utilisateur (sur lesquels il a des droits), éventuellement classés par catégorie
- Parcours par catégories
- Recherche de script
- Affichage des détails d'un script
- Ajout/modification d'un script (uniquement ceux qui appartiennent à l'utilisateur)
- Attribution de droits sur un script
- Gestion des accès (prise en compte des droits)
- Gestion des groupes