---
# System prepended metadata

title: '**CAHIER DES CHARGES**'

---

# <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 . 
:::