Deadlock Theia projet basé sur notre propre image de Theia https://git.e-biz.fr/deadlock-public/theia.
Plusieurs éléments ajoutés à l'image de base :

1. Deadlock plugins (deadlock-plugins/)
2. Outil d'enregistrment, qui permet d'enregistrer le code quand un utilisateur exécute du code (deadlock(plugins/recorder))
3. Gestion du CORS (*.deadlock.io) dans `server.js`

Deux images de `deadlock-theia` sont build ici, *code* et *kube*.

## Construire les plugins :
`./build-plugins.sh`

Tous les plugins qui se trouvent dans `deadlock-public` vont être construit en `.vsix` puis placés
dans `plugins/` (ex: deadlock-plugins/deadlock-extension).  
Il est aussi possible d'ajouter directement des plugins `.vsix` en ajoutant le fichier dans `plugins/`

## Recorder :
Le recorder permet de sauvegarder régulièrement le code de l'utilisateur.
Pour se faire il écoute les commandes exécutées par l'utilisateur et si une contient `java|npm|yarn`
alors un snapshot du code est réalisé.

### Build
`./build-recorder.sh`

## Construire l'image Deadlock Theia avec le recorder et les plugins
`./build.sh $TAG (code|kube)`

# Requirements:
1. NodeJS > ^14.X
2. Vscode ou Vscodium
3. Docker

Ce projet contient le minimum pour construire une image Docker Theia avec Blueprint (https://theia-ide.org/docs/composing_applications/)