Deux types d'utilisateurs existent:
- les professeurs
- les étudiants.
Un professeur peut déployer pour sa classe des extraits (snippets) de code, que les étudiants pourront ensuite cloner pour modifier individuellement. Tous sont libres de créer leurs propres fichiers aussi. Le professeur et les étudiants ont accès à un tableau de bord qui montre les fichiers visibles pour le groupe et qui est mis-à-jour en temps-réel. Le professeur peut utiliser cette plateforme comme mesure de participation des étudiants ou pour des fins de discussion devant la classe. Évidemment, les extraits de code seront exécutables directement dans le navigateur (REPL), avec un éditeur de texte adapté pour du code.
- HTML5 & CSS3
- testé sur les versions récentes stables de Chrome + Firefox
- JavaScript & jQuery
- j'utilise des fonctionnalités de ES6
- Go (serveur) + Micro-framework Gin
- nécessite Go
1.7+
(je roule1.8
, la version la plus récente)
- nécessite Go
- WebSockets (temps-réel)
- MongoDB (base de données)
- je roule
3.2.7
, je recommande d'avoir au moins3.2.x
- je roule
- Docker (containers pour exécuter les scripts du REPL)
- dernière version stable sur macOS (
17.03
)
- dernière version stable sur macOS (
- BASH (exécuter les scripts de déploiement)
- nécessite au moins
4.3
pour rouler le script de détection d'images docker automatique. Il peut être utile d'utiliser le flag--noBuild
dans le deploy pour ignorer ce script.
- nécessite au moins
- JavaScript (via Node)
- Go
- Python
- Ruby
- Elixir
- PHP
Pour déployer localement, il est nécessaire d'avoir Go (GOPATH
bien configuré aussi) et MongoDB d'installés (le dossier par défaut pour les données doit être utilisé /data/db
). Un script deploy.bash
permet ensuite d'installer automatiquement les dépendances go du projet, configurer la base de données, bâtir les images docker manquantes, et lancer le tout. Ce script est écrit pour les sytèmes UN*X.
À noter que ce script doit être lancé à partir du même dossier, sinon les références relatives vont être disfonctionnelles. (i.e. lancer ./deploy.bash
et non ./app/deploy.bash
)
Si ce n'est pas déjà fait, il faut s'assurer que l'utilisateur lançant le script de déploiement est le "owner" du dossier des données /data/db
. Si ce n'est pas le cas, simplement exécuter sudo chown -R <USER> /data
.
Certains flags sont disponibles pour lancer le script, les voici:
--install
: installer les dépendances go--restartDB
: réinitialiser la base de données--noBuild
: ne pas lancer le script de détection et d'installation automatique des images docker manquantes (ce script nécessite BASH4.3
)
À partir de la ligne de commande, dirigez-vous dans le dossier app, puis simplement exécuter go test
, et les tests rouleront automatiquement.