Skip to content
This repository has been archived by the owner on Sep 2, 2021. It is now read-only.

SocialGouv/work-in-france

Repository files navigation

💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀



DEPRECATED



💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀






Work in France

Build Status Pipeline status

La plateforme de demande d'autorisations provisoires de travail.

Ce dépôt de code contient le site web statique de Work in France qui s'occupe de l'information et de la pré-qualification des usagers, puis les redirige vers TPS (Téléprocédures Simplifiées) pour finaliser la procédure.

Site web

Modifier du contenu

⚠ Les modifs sur la branche master déclenchent une mise à jour du site en prod :https://work-in-france.fabrique.social.gouv.fr.

Mettre à jour la F.A.Q.

1 - Compléter le fichier de la FAQ au format markdown.

2 - Soumettre une pull request

Ajouter un département

1 - Créer les formulaires sur DS

2 - autoriser le département sur le front dans ./constants/departements.js

ajouter la clef valeur dans le département voulu

isAllowed: true,

3 - définir les URLS des formulaires ./constants/departements.js

ajouter les clefs valeurs pour les deux types d'url

{
  company: "ud063-apt-etudiants-employeur",
  student: "ud063-apt-etudiants",
}

la valeur est l'id trouvé dans l'url du formulaire DS par exemple

ud010-apt-etudiants-employeur

4 - mettre à jour les statistiques avec le(s) nouveau(x) départements.

   "groups": [
     {
       "id": "national",
       "title": "France entière",
       "data": [
         "/api/statistics/02",
+        "/api/statistics/03",
         "/api/statistics/04",
 // ...
         "/api/statistics/95"
       ]
     },
     {
       "id": "aisne",
       "title": "02 - Aisne",
       "data": ["/api/statistics/02"]
     },
+    {
+      "id": "allier",
+      "title": "03 - Allier",
+      "data": ["/api/statistics/03"]
+    },
     {
 // ...

Mettre à jour l'aggregateur de données

 export const dsConfigs = [
   {
     group: {
       id: "02",
       label: "02 - Aisne",
     },
     procedures: [19147, 19142],
   },
+  {
+   group: {
+     id: "03",
+     label: "03 - Allier",
+   },
+   procedures: [12345, 67890],
+ },

Mettre à jour les coordonnées MOE

Editer ./constants/contact.js et ajouter les departements dans le tableau des "departements" de la région corresponsante.

departments: ["14", "27", "50", "61", "76"],

si on veut ajouter un departement il suffit d'ajouter un département en entier en reprennant la config d'un autre par exemple :

  {
    slug: "normandie",
    type: "Direccte",
    name: "Normandie",
    departments: ["14", "27", "50", "61", "76"],
    address: ["3 place Saint Clair", "BP 70034"],
    post_code: "14202",
    city: "HEROUVILLE SAINT CLAIR CEDEX",
    phone: "02.31.47.73.00",
    fax: "02.31.47.73.01",
    url: "http://normandie.direccte.gouv.fr/Concurrence-et-consommation",
    email: null,
  },

il sera matché automatiquement avec la liste des département ouverts

Installation de l'environnement de développement

Un styleguide est disponible ici : https://workinfrance.beta.gouv.fr/cookbook.html

Nous utilisons NextJS pour générer une version statique du site.

Mettre à jour les coordonnées MOE

Editer ./site/source/qualify/fail.html

Installation de l'environnement de développement

Un styleguide est disponible ici : https://workinfrance.beta.gouv.fr/cookbook.html

Nous utilisons clay pour générer une version statique du site.

avec Docker

Une image docker permet de builder le site sans installer les dépendances.

# Builder l'image docker
docker build . -t work-in-france

# Lancer le site en mode dev
docker run --rm -v $PWD/site:/app/site -ti -p 8080:8080 --entrypoint pipenv work-in-france run clay run

# récupérer un build du site. l'output se fera dans ./out
docker cp work-in-france-build:/app/site/build /app/site/

Voir la config de circleci qui déclenche un déploiement du site statique sur la branche gh-pages

sans Docker

Vous devez créer un environnement Python 2.7 isolé avec pipenv (>=11.8.3) et y installer les dépendances Python du projet :

$ pipenv --python 2.7
$ pipenv install --dev

Installez ensuite les dépendances npm (npm 5+ est utilisé) :

$ cd site
$ npm install
Lancer le serveur de développement
$ cd site
$ pipenv run clay run
Lancer le scrutateur CSS pour générer le fichier bundle.css
$ cd site
$ npm run css-watcher

Déployer le site web

Voir la config circleci

Travailler sur la page de validation des autorisations

Pour pouvoir travailler la page validity_check.html, vous devez faire tourner en parallèle le serveur du back office public de Work in France qui embarque l'API de vérification des autorisations.

Reportez-vous à la documentation pour lancer le serveur.

Release policy

Auto

Trigger a custom build on Travis (in the "More options" right menu) on the master branch with a custom config:

env:
  global:
    - RELEASE=true

You can change the lerna arguments though the LERNA_ARGS variable.

env:
  global:
    - LERNA_ARGS="--force-publish --yes"
    - RELEASE=true

Manual

You need an Github token to release.

#
# Bump, push to git and publish to npm
$ yarn lerna version

#
# Publish the tag change log on the Github Release
$ CONVENTIONAL_GITHUB_RELEASER_TOKEN==************ npx conventional-github-releaser -p angular

#
# You might want to add a Gif to your release to make it groovy ;)

Deployment policy

All branches and tags are automaticly deployed See https://github.com/SocialGouv/work-in-france/deployments

Auto

Trigger a custom build on Travis (in the "More options" right menu) on the tag v* you with a custom config:

env:
  global:
    - PRODUCTION=true

Manual

# Run the k8s files
$ kubectl apply -f ./.k8s/frontend/deployment.yml
$ kubectl apply -f ./.k8s/frontend/service.yml
$ kubectl apply -f ./.k8s/frontend/ingress.yml