# <center>**KIT STARTER - Karlab**</center>
[TOC]
## <center>**CAHIER DES CHARGES**</center>
### Description des objectifs de l'outil
1. **Objectifs principaux** (MVP)
:::success
l'outil doit permettre à un utilisateur d'installer et configurer facilement les outils et le/les espaces de travail dont il a besoin pour travailler chez Karlab
:::
- il faut définir le type d'utilisateur en dur dans un fichier de configuration afin de définir les besoins de celui-ci . le but est de préparer le programme à , dans le futur , pouvoir s'adapter en fonction des différents roles
- l'outil diagnostique l'état de l'installation actuelle affichage de celui ci dans l'interface .
- en fonction de ce diagnostic l'utilisateur choisi sait ce qu'il lui ai suggéré d'installé .
- lancement des installations et configurations .
- l'ensemble des opérations éxécutés doivent updater l'interface et generer du log
- l'utilisateur doit pouvoir forcer la réinstallation d'un programme ou refaire une configuration déjà faite .
- wizard afin de préparer l'espace de travail de dev et cloner des repositories sur lequel il souhaite travailler
2. **Objectifs Secondaires**
:::success
cette application pourrait evoluer afin d'etre aussi le **launcher des applications** utilisées chez karlab
:::
- récupération des infos dans le compte de l'utilisateur via le sso google
- définir une liste des programmes à afficher en fonction du role
- Lancer des softs avec toutes les variables d'environement configurée selon le role et le projet et les besoins des DCC
- résoudre les environnements via REZ
3. **Objectifs Tertiaires**
:::success
cette application pourrait encore evoluer servirait de **dashboard** où toutes les informations qui concernes l'utilisateur seraient regroupées :
page de suivis de ses taches avec les briefs , sa page de timelogs , les tutoriaux spécifique à son role , sont calendrier , les news karlab , etc .
:::
### UX/UI
[<h1>- Cliquez ici pour voir la maquette de l'interface d'Aurelien </h1>](https://preview.webflow.com/preview/aurelien-karlab-kit-starter?utm_medium=preview_link&utm_source=designer&utm_content=aurelien-karlab-kit-starter&preview=214bba1daded7ef5a342b6d8f63e0393&workflow=preview)
### <center>Roadmap</center>
:::info
Legende : :heavy_check_mark: ou :x:
Ils sont classés selon l'ordre de priorité décroissante.
:::
| ID commit | done | Description |
| --------- | ---- | --------------------------------------------------------------------------- |
|#KSK0001 | :x: | faire l'interface |
|#KSK0002 | :x: | Recuperer le ou les projets surlequel l'utilisateur est attribué (sso) |
|#KSK0003 | :x: | Installer les outils necessaires selon le role de l'utilisateur |
|#KSK0004 | :x: | Configurer les outils |
|#KSK0005 | :x: | Cloner les repositories souhaités |
|#KSK0006 | :x: | Detection de la presence des logiciels (avec leurs versions)installés sur la machine |
|#KSK0007 | :x: | Recuperer le ou les "roles" de l'utilisateur (graphiste, dev, td , prod , admin) (sso) |
|#KSK0008 | :x: | roadmap à finir de remplir .... |
---
## <center>FAQ</center>
### Quel sont tout les roles et qu'est ce qui est installé pour quel roles ?
:::warning
- Invité :
- Aucune installation supplémentaire mais l'accé au wiki
- Graphiste :
- Comme invité avec en + : accés aux launcheurs de maya des productions concernées, wiki, à aquarium , à notion et aux applications google
- Prod:
- Comme Graphiste avec en + : accés au batcher ( sans option de sauvegarde des fichiers batchés )
- TD :
- Comme Prod avec en + : accés au batcher ( sans restrictions ), et installation de git bash , ssh , le workspace td avec uniquement les répositories qui concerne les TDs
- Dev :
- Comme TD avec plus de repositories et tous les launchers
- Admin :
- Comme Dev avec tous les repositories ( dont ceux qui concerne l'IT , les installeurs qui nécéssite des mots de passe admins et tout autres repositories qui concernent des taches )
:::
### Que se passe-t'il si l'utilisateur n'est pas referencé dans un role
>*Suggestion : un poste graphiste par default ?*
:::warning
Un role invité par default.
:::
### Alors a quoi ca sert de se login ?
:::warning
ça pourrait servir à ce connecter aux services tiers (gitlab, aquarium , ...) et ça permet au kit starter de récupérer les informations publiques stocké dans le profil .
:::
### Que se passe t'il si l'utilisateur a installer un setup d'un role et bascule sur un autre
>*Exemple : David TD >> bascule Graphiste only*
:::warning
Les outils resteraient installés sur la machine mais ils disparaitront du launcher , les droits d'accés au git seront révoqués.
L'utilisateur retrouvera donc le contexte qui lui convient .
:::
### Possibilite d'avoir plusieurs role ?
>*Exemple : TD + Rigger*
:::warning
Le TD a juste des droits et outils supplémentaires donc si on est TD on est aussi graphiste . Qui peut le plus , peut le moins.
(cf. [Les roles et leurs droits associés](https://hackmd.io/ncQRBAdxR96vzYyD9kt2Yw#Quel-sont-tout-les-roles-et-qu%E2%80%99est-ce-qui-est-install%C3%A9-pour-quel-roles-))
:::
### Que se passe t'il en cas de probleme d'installation, ou est le log a envoyer a un TD referent?
:::warning
le log est au même endroit que l'executable qui permet de lancer l'application
:::
### Comment Reinstaller une installation deja installer au besoin
>Exemple : Si par exemple, malgré la "bonne installation" de l'appli des problemes persiste
:::warning
l'interface doit proposer cette option , si le probleme persiste , il faudra appeler l'IT
:::
### Comment Desinstaller une installation (Rollback)
>Exemple : J'ai installé tout les trucs proposé quand j'etais taggé dev mais enfait je suis modeleur.
:::warning
il y a peu de probabilité que se sénario existe mais si c'était le cas , les outils resteraient installés sur la machine mais ils disparaiteront du launcher , les droits d'accés au git seront révoqués . l'utilisateur retrouvera donc le contexte qui lui convient .
:::