Ent-Core est un ENT minimaliste, modulaire et versatile. Il permet d'implémenter aussi bien des ENT de premier et de second degré.
Remarques : Ces notes proposent une démarche rapide de prise en main (typiquement l'installation d'une machine de développement). Elles ne détaillent pas l'installation des composants techniques (ex : base de données).
Installer le Git et lancer la commande suivante dans un terminal
git clone http://code.web-education.net/one/ent-core.git
- JSE 7
- Gralde 1.6 (http://www.gradle.org/downloads)
- Vert.x 2.O.0 final (http://vertx.io/downloads.html)
- Neo4j 2 (http://www.neo4j.org/download/linux)
- MongoDB 2.4 (http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian/)
Reiseigner le dépôt mandataire de dépendances Maven d'ent-core.
Ajouter au fichier {VERTX_HOME}/conf/repos.txt
la ligne suivante :
maven:http://maven.web-education.net/nexus/content/groups/public/
Remarques : L'utilisateur qui lance ent-core doit avoir les droits sur le dossier d'installation de Vert.x, pour permettre l'installation de modules (Vert.x) systèmes.
Installer le schéma de base neo4j :
neo4j-shell < {VERSION_ENTCORE}/{NOM_SCHEMA}-schema.cypher
Lancer la commande de construction gradle à la racine du dépôt ent-core :
gradle copyMod
Lancer la plate-forme avec vert.x
vertx runmod org.entcore~infra~{VERSION_ENTCORE}
Accéder à l'application dans un navigateur à l'URL:
http://localhost:8090
Le fichier de configuration général de la plate-forme est {ENTCORE_HOME}/infra/src/main/resources/mod.json
Pour personnaliser la configuration et éviter les conflits procéder de la manière suivante :
- Éditer le ficher
{ENTCORE_HOME}/developer.id
avec votre identifiant de développeur{devid}
. Il doit être exclusivement composé de lettres ([a-z]) - Copier le fichier de configuration
{ENTCORE_HOME}/infra/src/main/resources/mod.json
dans le fichier{ENTCORE_HOME}/infra/src/main/resources/{devid}.mod.json
- Personnaliser le fichier
{devid}.mod.json
Ent-Core utilisera prioritairement votre fichier de configuration développeur.
Lancer depuis le projet racine :
gradle copyMod
: Construit et déploie dansmods
tous les modulesgradle clean
: Supprime tous les éléments créés parcopyMod
gradle :{nom_module}:copyMod
:copyMod
juste pour{nom_module}
gradle :{nom_module}:clean
:clean
juste pour{nom_module}
gradle integrationTest
: Éxécute les test d'intégrations
Ajouter la variable d'environement suivante pour debugger sur le port 5000
export VERTX_OPTS='-Xdebug Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5000'
Les tests de charge sont exécutés par un container k6 qui est paramétré via les variables d'environnement passées au container load-tester
.
ROOT_URL
, URL de l'ENT à appelerDURATION
, duration of the testVUS
, nombre d'utilisateurs concurrentsNB_USERS
, nombre d'utilisateurs dont les posts seront utilisés pour le jeu de testDATA_SCHOOL_NAME
, nom de l'école à créerDATA_ROOT_PATH
, chemin absolu vers les jeux de test (ne devrait pas être changé)
Ajouter un fichier js de test dans tests/src/test/js/stresstest/scenarios/impacted-module/my-scenario.js
docker-compose run --rm load-tester run file:///home/k6/src/scenarios/impacted-module/my-scenario.js