Commit 52842dbc authored by Jorge Garcia Flores's avatar Jorge Garcia Flores
Browse files

doc chenetal

parent a3fb06d7
......@@ -33,42 +33,6 @@ $ curl -X POST -H "Content-Type: application/json" -d @Morfetik_Complex.json htt
{"status":"success","data":{"newModule":{"_id":"612f3addbfc3ea588c5ed76d","parameters":[],"__v":0}}}
```
Pour le `POST`du fichier `Neoveille.json`j'ai l'erreur suivant
```bash
POST /modules 201 28.055 ms - 1407
Error: ModuleModel validation failed: parameters.0.type: `Le type de paramètre, parmi : [List-Mono, List-Poly, Int, Bool, String]` is not a valid enum value for path `type`.
at ValidationError.inspect (/home/garciaflores/code/javascript/ch-netal/server/node_modules/mongoose/lib/error/validation.js:47:26)
at formatValue (internal/util/inspect.js:563:31)
at inspect (internal/util/inspect.js:221:10)
at formatWithOptions (internal/util/inspect.js:1693:40)
at Object.Console.<computed> (internal/console/constructor.js:277:10)
at Object.warn (internal/console/constructor.js:287:61)
at exports.errorHandler (/home/garciaflores/code/javascript/ch-netal/server/controllers/lib/responseHelper.js:7:13)
at exports.module_add (/home/garciaflores/code/javascript/ch-netal/server/controllers/moduleController.js:39:5)
at processTicksAndRejections (internal/process/task_queues.js:94:5) {
errors: {
'parameters.0.type': ValidatorError: `Le type de paramètre, parmi : [List-Mono, List-Poly, Int, Bool, String]` is not a valid enum value for path `type`.
at validate (/home/garciaflores/code/javascript/ch-netal/server/node_modules/mongoose/lib/schematype.js:1219:13)
at /home/garciaflores/code/javascript/ch-netal/server/node_modules/mongoose/lib/schematype.js:1202:7
at Array.forEach (<anonymous>)
at SchemaString.SchemaType.doValidate (/home/garciaflores/code/javascript/ch-netal/server/node_modules/mongoose/lib/schematype.js:1147:14)
at /home/garciaflores/code/javascript/ch-netal/server/node_modules/mongoose/lib/document.js:2411:18
at processTicksAndRejections (internal/process/task_queues.js:76:11) {
properties: [Object],
kind: 'enum',
path: 'type',
value: 'Le type de paramètre, parmi : [List-Mono, List-Poly, Int, Bool, String]',
reason: undefined,
[Symbol(mongoose:validatorError)]: true
}
},
_message: 'ModuleModel validation failed'
}
```
#### installation du client
```bash
......@@ -92,9 +56,7 @@ Si on ouvre le navigateur web à l'adresse `http://localhost:8080` on doit voir
## 2. Installation de Chêne TAL sur le serveur TAL
### 2.1 Réinstallation nouvelle à partir de zéro sur tal-chenetal
#### I. Vérifier que l'adresse https://tal.lipn.univ-paris13.fr/chenetal est bien configurée
### 2.1. Vérifier que l'adresse https://tal.lipn.univ-paris13.fr/chenetal est bien configurée sur tal-proxy
D'abord je me suis connecté sur `tal-proxy` et j'ai vérifié que sur le fichier `/etc/apache2/web.proxy` le *endpoint* **chenetal** est bien cofiguré
......@@ -112,31 +74,78 @@ $ sudo service nginx start
Et enfin j'arrive à obtenir la page statique d'Apache (*"It works"*) à l'adresse https://tal.lipn.univ-paris13.fr/chenetal (sur le serveur cette page est dans le répertoire `/var/www/html`)
Plan:
### 2.2 Installation de ChêneTAL sur le serveur TAL
On ne peux pas faire un `git clone` à partir de https://depot.lipn.univ-paris13.fr/ sur le serveur TAL (ToDo: comment on peut faire pour avoir un mirroir du git-lab quelque par d'accessible depuis `tal-chenetal`? )
Du coup, il faut faire le clone local et après recopier tout avec `cp``rsync`sur le serveur TAL.
Pour résumer : j'ai recopié le contenu le plus récent du depôt gitlab Chênetal https://depot.lipn.univ-paris13.fr/garciaflores/ch-netal/ sur le répertoire `/var/www/ch-netal/`de la machine virtuelle `tal-chenetal`.
Par le moment, la seule solution que je vois dans l'horizon est d'avoir un autre git-lab exclusif pour la plateforme TAL (mais c'est une solution un peu absurde).
* installer firefox sur `tal-chenetal`
* tester s'il est exécutable à distance avec `ssh -X`
* réinstaller de zéro ChêneTAL sur `tal-chenetal`
* tester `localhost:8080` avec un firefox local au serveur (option `ssh -X`)
* installer et configurer avec Nginx d'après https://snapshooter.com/blog/how-to-run-nodejs-server-with-nginx
Sur `tal-chenetal:/var/www/ch-netal/`je répète l'installation de la [section 1.](##1.-installation-en-local-avec-nginx) Cependant, pour déployer le serveur en production, à la place de `npm run devstart`il faut faire `sudo npm run build`. Cette commande va déployer le cleint sur le répertoire `/var/www/ch-netal/client/dist` du serveur ChêneTAL. Il faut réfaire les commandes `curl` spécifiées sur la section 1 pour déclarer les modules définis dans les fichiers .json (section 1)
Maintenant il faut configurer le client pour qu'il réponde à l'adresse https://tal.lipn.univ-paris13.fr/chenetal
Pour ce faire, je vais d'abord déclarer le répertoire où je viens de déployer sur la config de Nginx, fichier `/etc/nginx/sites-available/default`
```json
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/ch-netal/client/dist;
server_name _;
charset utf-8;
location / {
root /var/www/ch-netal/client/dist;
try_files $uri /index.html;
}
```
Il faut également paramétrer la variable publicPathde Vue sur le fichier `/var/www/ch-netal/client/vue.config.js`
```json
module.exports = {
"transpileDependencies": [
"vuetify"
],
devServer: {
port:8080
},
pluginOptions: {
i18n: {
locale: 'fr',
fallbackLocale: 'en',
localeDir: 'locales',
enableInSFC: true
}
},
publicPath: '/chenetal/'
}
```
Après ces modifs, il faut ré initier nginx
```bash
$ sudo systemctl restart nginx
```
### 2.2 Premier essaie (raté) avec nginx
Maintenant, à l'adresse https://tal.lipn.univ-paris13.fr/chenetal on doit voir la page suivante:
![image-20210913161214512](Journal de galère.assets/image-20210913161214512.png)
L'intall avec nginx ne marche pas apres 4h consacrées à essayer de le faire marcher sur nginx... Une question se pose... Faut-il continuer à essayer de le faire marcher sur nginx pour la démo, où faut il carrément commencer à l'implémenter sur docker, basée sur l'architecture de Pétale?
Si après 8h de plus d'effort pour essayer de le faire marcher sur nginx je n'arrive toujours pas, je vais changer de stratégie et commencer a imiter l'architecture de la nouvelle intranet sur docker.
Par contre, lorsqu'on clique sur l'onglet **PIPELINE**, on a une erreur
### 1.1 Implémenter un site statique sur nginx qui réponde sur l'adresse de ChêneTAL
![image-20210913161820548](Journal de galère.assets/image-20210913161820548.png)
8h
![image-20210913161743000](Journal de galère.assets/image-20210913161743000.png)
ToDo: écrire à Quentin
Donc maintenant il faut définir un *Proxy Pass* sur nginx pour l'adresse `https://tal.lipn.univ-paris13.fr/chenetal/api`vers le serveur en s'inspirant et de la [config du module de publications de l'intranet faite en Apache](https://depot.lipn.univ-paris13.fr/etamine/tools/apache/-/blob/master/apache.conf) et vérifier que la variable d'environnement `VUE_APP_API_URL` pointe bien vers le serveur, comme dans le cas du [module de publications de l'intranet](https://depot.lipn.univ-paris13.fr/garciaflores/ch-netal/-/blob/master/client/src/plugins/axios.js). Sur ChêneTAL, cette config est défini dans le fichier [axios.js](https://depot.lipn.univ-paris13.fr/garciaflores/ch-netal/-/blob/master/client/src/plugins/axios.js).
### 1.3 Implémenter la démo sans docker mais avec Apache...
ToDo: Configurer le ProxyPass en suivant cette doc: https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/
8h
### 1.3
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment