Giter Site home page Giter Site logo

zakariarchouk / work-in-france Goto Github PK

View Code? Open in Web Editor NEW

This project forked from socialgouv/work-in-france

0.0 0.0 0.0 8.97 MB

La plateforme de demande d’autorisation provisoire de travail.

Home Page: https://work-in-france.fabrique.social.gouv.fr

License: Apache License 2.0

JavaScript 98.48% Dockerfile 0.10% TypeScript 0.27% Shell 1.16%

work-in-france's Introduction

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 la FAQ avec le(s) nouveau(x) départements.

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.