Sen descrición

Olivier Massot d25d7378ff fix node requirement hai 1 ano
assets c3d61908d5 fix typescript errors %!s(int64=2) %!d(string=hai) anos
components c93bffded9 post MR fixes %!s(int64=2) %!d(string=hai) anos
composables 04e48e57fb refresh UiImage on image upload %!s(int64=2) %!d(string=hai) anos
config 9440214366 Merge branch 'hotfix/new-afi-menu' into 'develop' hai 1 ano
doc 58424a85e7 v8-5075_fixes_after_tests_2 %!s(int64=2) %!d(string=hai) anos
env 6f8fc93fa5 setup new mercure jwt key %!s(int64=2) %!d(string=hai) anos
lang 9440214366 Merge branch 'hotfix/new-afi-menu' into 'develop' hai 1 ano
layouts c781f2b722 graphical revision %!s(int64=2) %!d(string=hai) anos
middleware a353618569 v4027 Review todos, .env.local becomes .env.docker %!s(int64=3) %!d(string=hai) anos
models c93bffded9 post MR fixes %!s(int64=2) %!d(string=hai) anos
pages c93bffded9 post MR fixes %!s(int64=2) %!d(string=hai) anos
plugins f22c8c055d various fixes %!s(int64=2) %!d(string=hai) anos
public f6df344cae update order forms for sms and domain hai 1 ano
services 9440214366 Merge branch 'hotfix/new-afi-menu' into 'develop' hai 1 ano
stores 7f6975e67c add the AttendanceBookingReason model, table and forms %!s(int64=2) %!d(string=hai) anos
tests 9440214366 Merge branch 'hotfix/new-afi-menu' into 'develop' hai 1 ano
types ab994e15a5 post MR fixes %!s(int64=2) %!d(string=hai) anos
.eslintrc.cjs d4019bd3db rewrite data services (ongoing) %!s(int64=3) %!d(string=hai) anos
.gitignore e7b54a6149 automatize symlink creation to .env %!s(int64=2) %!d(string=hai) anos
.gitlab-ci.yml 411046ac32 fix merge conflicts %!s(int64=2) %!d(string=hai) anos
.nuxtignore df7f0a8c24 upgrade node+nuxt, post upgrade fixes %!s(int64=2) %!d(string=hai) anos
.nvmrc ba502bfb17 update required node version %!s(int64=2) %!d(string=hai) anos
.prettierrc d4019bd3db rewrite data services (ongoing) %!s(int64=3) %!d(string=hai) anos
README.md fe8898797e fix UiAutocompleteAccesses %!s(int64=2) %!d(string=hai) anos
app.vue dd15fcee93 Menu %!s(int64=3) %!d(string=hai) anos
i18n.config.ts 1b01499d7a upgrade to nuxt 3.5.3 and vuetify 3.3.1 %!s(int64=2) %!d(string=hai) anos
icon.svg 3db6bdbf8c post MR fixes %!s(int64=2) %!d(string=hai) anos
logo.png d4019bd3db rewrite data services (ongoing) %!s(int64=3) %!d(string=hai) anos
nuxt.config.ts de2d3c1994 setupEnv : error on missing env file hai 1 ano
package.json d25d7378ff fix node requirement hai 1 ano
tsconfig.json df7f0a8c24 upgrade node+nuxt, post upgrade fixes %!s(int64=2) %!d(string=hai) anos
vitest.config.ts b760334fe4 complete unit tests %!s(int64=2) %!d(string=hai) anos
yarn.lock f22c8c055d various fixes %!s(int64=2) %!d(string=hai) anos

README.md

App

Latest Release

Branch Status Coverage
master pipeline status coverage report
develop pipeline status coverage report

Frontend Opentalent, avec NuxtJs 3

A voir :

Installation (mode dev)

Cloner le projet :

git clone git@gitlab.2iopenservice.com:opentalent/app.git

Installer les dépendances :

yarn install

Copier les certificats dans le répertoire env/ de ce projet :

  • local.app.opentalent.fr.crt
  • local.app.opentalent.fr.key

Lancer le serveur de développement :

yarn dev -o

Déploiement en prod

Premier déploiement en tant que service

On commence par cloner le projet app, puis par se placer dans le répertoire ainsi créé.

Pour déployer le projet en mode SSR, on commence par mettre à jour et compiler avec la commande custom :

yarn deploy

Cette commande est un alias qui équivaut à lancer :

git pull
yarn install
yarn build

Mettre à jour

Se placer dans le répertoire de l'application, puis lancer :

yarn deploy

Spécial : environnement de test

Attention, sur les environnements de test, il faut utiliser nvm pour exécuter la bonne version de node, exemple :

nvm exec yarn install

Autres

Lancer les tests

Pour lancer les tests unitaires :

jest

Générer la doc

Pour régénérer la documentation automatique :

yarn docs

Déboguer en prod ou en test

Sur les environnements où app est servie par supervisor, on peut consulter les logs d'erreur avec :

sudo supervisorctl tail -6000 app:app_00 stderr

le -6000 étant le nombre de bytes à afficher Voir plus : http://supervisord.org/running.html#supervisorctl-command-line-options

Faire fonctionner le HMR

Si le HMR (Hot Module Reload) ne fontionne pas et qu'un message d'erreur est logué en console disant que l'adresse n'est pas accessible, alors suivre les étapes suivantes :

  • Ouvrir l'inspecteur de son navigateur, onglet Réseau
  • Rafraichir la page
  • Trouver la requête en erreur. Elle devrait être de la forme https://local.app.opentalent.fr:24678/_nuxt/
  • Clic droit dessus, puis "ouvrir dans un nouvel onglet"
  • Ajouter une exception de sécurité dans le navigateur

Plus d'infos

Structure du projet

Répertoire Rôle
assets Contient les fichiers style et medias
components Les différents composants graphiques qui composent l'application
composables Des fonctions conscientes du contexte applicatif, qui font le lien entre les pages et les services
config La configuration de l'application
doc Documentation du projet
lang Les fichiers de traduction
layouts Layouts des pages
middleware Code exécuté avant le rendu des pages (ex: pour vérifier l'authentification)
models Définition des entités (ou modèles)
node_modules Modules node installés via npm
pages Définition des pages qui composent l'application
plugins Configuration des modules
public Ressources statiques et publiques
services Rassemble les classes utilitaires non graphiques et indépendantes du contexte applicatif
stores Le store et ses composants servent d'entrepôt de donnés, et s'assurent de la cohérence de celles-ci
tests Regroupe les tests (unitaires, end-to-end...)
types Types Typescript (interfaces, enums...)