From 66dfdb266c67d5835ed41d784d4f5d507506f157 Mon Sep 17 00:00:00 2001 From: Lansana DIOMANDE <ldiomande@takima.fr> Date: Mon, 16 May 2022 14:32:39 +0200 Subject: [PATCH] docs: improve readme of repository --- README.md | 50 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 428481eb..755cc8b3 100644 --- a/README.md +++ b/README.md @@ -1,42 +1,52 @@ -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 : +Deadlock Desktop est un projet dont l'objectif est de permettre à un étudiant de réaliser des exercices deadlock +sur son IDE Vscode directement. Pour cela, le répertoire héberge 3 éléments : -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` +- **Une extension Vscode** : L'extension est installée sur l'IDE Vscode de l'étudiant et est responsable de l'ouverture + de l'exercice dans un [devcontainer](https://code.visualstudio.com/docs/remote/containers). -Deux images de `deadlock-theia` sont build ici, _code_ et _kube_. +- **Le recorder** : Une application `node` qui va effectuer des sauvegardes du code source de l'étudiant à chaque fois + que celui-ci va modifier un fichier ou saisir certaines commandes dans son terminal. + +- **Une image Docker** : L'image contient des programmes basiques et le recorder qui est lancé au démarrage + du conteneur. + +# Requirements: + +1. NodeJS > ^14.X +2. Vscode ou Vscodium +3. Docker ## Setup Afin d'installer les éléments requis pour le développement, vous pouvez lancer le script `./setup.sh`. -## Construire les plugins : +## L'image Docker desktop -`./build-plugins.sh` +Il s'agit d'une image qui sera utilisé par tous les créateurs d'exercices comme base. +Le créateur d'exercice peut ensuite ajouter l'exercice et les dépendances qu'il souhaite pour créer l'image de son exercice. -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/` +L'image est décrite dans le fichier `Dockerfile.desktop`. ## 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é. +Pour se faire, il écoute les commandes exécutées par l'utilisateur. Si l'une d'entre elles contient `java`, `npm` ou `yarn` +alors un snapshot du code est réalisé. Il va également faire un snapshot du code lorsque l'étudiant modifiera les fichiers de l'exercice. ### Build `./build-recorder.sh` -## Construire l'image Deadlock Theia avec le recorder et les plugins +## Construire les plugins Vscode : -`./build.sh $TAG (code|kube)` +`./build-plugins.sh` -# Requirements: +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/` -1. NodeJS > ^14.X -2. Vscode ou Vscodium -3. Docker +Plus d'informations sur l'extension `deadlock-coding` dans ce [README](deadlock-plugins/deadlock-extension/docs/README.md). + +## Construire l'image Deadlock Desktop avec le recorder -Ce projet contient le minimum pour construire une image Docker Theia avec Blueprint (https://theia-ide.org/docs/composing_applications/) +`./build.sh $TAG desktop` -- GitLab