Skip to content

Commit

Permalink
Merge pull request #132 from SocialGouv/sprint-1.1
Browse files Browse the repository at this point in the history
Sprint 1.1
  • Loading branch information
Julien Bouquillon authored Oct 3, 2018
2 parents f2dfbfa + c1243b6 commit 2f59ddc
Show file tree
Hide file tree
Showing 55 changed files with 6,098 additions and 9,096 deletions.
6 changes: 6 additions & 0 deletions .babelrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
const env = require("./env-config.js");

module.exports = {
presets: ["next/babel"],
plugins: [["transform-define", env]]
};
2 changes: 2 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
node_modules
.next
3 changes: 3 additions & 0 deletions .env.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
NODE_ENV=development
API_URL=http://127.0.0.1:1337/api/v1
PORT=3000
1 change: 1 addition & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ module.exports = {
"react/react-in-jsx-scope": "warn",
"react/prop-types": "warn",
"jsx-a11y/click-events-have-key-events": "warn",
"jsx-a11y/anchor-is-valid": "warn", // conflicts with Link/a that sets href at runtime
"jsx-a11y/no-static-element-interactions": "warn",
"jsx-a11y/accessible-emoji": "warn",
"jsx-a11y/href-no-hash": "warn",
Expand Down
59 changes: 10 additions & 49 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,74 +2,35 @@

Ce dépôt de code contient le site web du prototype du Code du Travail Numérique.

- Démo de l'ancien design : https://code-du-travail.beta.gouv.fr (hébergé sur Github Pages)
- Démo du nouveau design : https://codedutravail.num.social.gouv.fr
- Prototype dispo sur : https://codedutravail-dev.num.social.gouv.fr

## Installation de l'environnement de développement

**Important** : pour tourner en local ce projet nécessite les serveurs actifs des dépôts de code [`code-du-travail-data`](https://github.com/SocialGouv/code-du-travail-data) (serveur Elasticsearch) et [`code-du-travail-api`](https://github.com/SocialGouv/code-du-travail-api) (serveur API).

Créez un fichier `.env` (utilisé par Docker) :
Créez un fichier `.env` :

```shell
NODE_ENV=development
API_URL=https://127.0.0.1:1337
```

Puis :

```bash
$ docker-compose up
```

Mémo :

```
# Pour lancer un shell dans le conteneur
$ docker exec -ti code-du-travail-explorer /bin/sh
$ npm install
$ npm run dev
```

## Intégration HTML/CSS

L'intégration HTML/CSS est réalisée et documentée dans un autre dépôt de code : [code-du-travail-html](https://github.com/SocialGouv/code-du-travail-html).
L'intégration HTML/CSS est réalisée et documentée dans un autre dépôt de code : [code-du-travail-css](https://github.com/SocialGouv/code-du-travail-css).

Le fichier CSS et certains assets du dépôt de code de l'intégration sont copiés dans le répertoire `static` de ce dépôt de code.

## Divers

⚠ La mise à jour de la branche `master` déclenche une mise à jour sur la démo. (ajouter `[skip ci]` au message de commit pour ne pas deploy) => **Cette fonctionnalité est désactivée pour le moment en paramétrant une branche `toto` bidon dans la configuration `.circleci/config.yml` car le projet est déployée sur un autre serveur**.

## Navigation par thèmes

Le prototype initial était basé sur une navigation par thèmes alors que la version actuelle est centrée sur un champ de recherche. La navigation par thèmes est toujours accessible via un lien dans le footer.

À propos de la navigation par thèmes :

- Actuellement, une partie des datas sont en dur dans `/src/data` :
- Les IDs poseidon servent de lien
- articles.js : extrait des articles eposeidon.json
- faq.json : FAQ avec en plus un lien vers IDs poseidon
- idcc.json : extrait de legifrance ?
- themes.js : table qui definit les IDs eposeidon, arborescence, articles associés
- fiches.js : fiches pratiques
- L2253.js : referentiel articulation
- suppletives.js : liste dispositions supplétives
- kali.js : extrait du site legifrance https://www.legifrance.gouv.fr/rechConvColl.do

Les résultats sont affichés par `src/explorer/Result.js` qui contient tous les "blocs".

TODO :

- documenter [src/explorer/Articulation.js](./src/explorer/Articulation.js)
- documenter les [règles](https://mermaidjs.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ3JhcGggTFJcblxudGhlbWUtLT5Ye0wyMjUzID99XG5YLS0-MVtMMjI1My0xIDogMTMgdGhlbWVzXVxuWC0tPjJbTDIyNTMtMiA6IDQgdGhlbWVzXVxuWC0tPkF1dHJlXG5cbjEtLT5BMShNZXNzYWdlIEFydGljdWxhdGlvbiAxKVxuMi0tPkEyKE1lc3NhZ2UgQXJ0aWN1bGF0aW9uIDIpXG5BdXRyZS0tPkEzKE1lc3NhZ2UgQXJ0aWN1bGF0aW9uIDMpIiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifX0) ?

### Ideas

- enrichissement de la FAQ via discourse ou autre outil collaboratif ?
- analyse des textes de loi :
- https://github.com/digitalbazaar/jsonld.js ?
## Build de production

### Tags
- éditer `.env`
- éditer `docker-compose.override.yml`

- la navigation de tags devrait être "intelligente"
- proposer en plus des tags/sujets connexes
- améliorer les suggestions avec ML Invenis + activité sur le site (questions fréquentes, actu...)
puis `docker-compose up`
10 changes: 0 additions & 10 deletions conf/api.js

This file was deleted.

6 changes: 5 additions & 1 deletion docker-compose.override.yml.sample
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ services:
build:
context: .
dockerfile: ./docker/prod/Dockerfile
args:
NODE_ENV: $NODE_ENV
API_URL: $API_URL
PORT: $PORT
ports:
- 3000:3000
- $PORT:$PORT
restart: always
9 changes: 6 additions & 3 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,15 @@ services:
- .env
build:
context: .
dockerfile: ./docker/dev/Dockerfile
dockerfile: ./docker/prod/Dockerfile
args:
NODE_ENV: $NODE_ENV
API_URL: $API_URL
PORT: $PORT
ports:
- 3000:3000
- $PORT:$PORT
restart: always
volumes:
- ./conf:/app/conf
- ./pages:/app/pages
- ./routes.js:/app/routes.js
- ./src:/app/src
Expand Down
10 changes: 10 additions & 0 deletions docker/dev/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,14 @@ WORKDIR /app

RUN npm install

ARG NODE_ENV
ARG API_URL
ARG PORT

ENV NODE_ENV=$NODE_ENV
ENV API_URL=$API_URL
ENV PORT=$PORT

RUN npm run build

ENTRYPOINT ["npm", "run", "dev"]
8 changes: 8 additions & 0 deletions docker/prod/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@ WORKDIR /app

RUN npm install

ARG NODE_ENV
ARG API_URL
ARG PORT

ENV NODE_ENV=$NODE_ENV
ENV API_URL=$API_URL
ENV PORT=$PORT

RUN npm run build

ENTRYPOINT ["npm", "start"]
4 changes: 4 additions & 0 deletions env-config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module.exports = {
"process.env.NODE_ENV": process.env.NODE_ENV,
"process.env.API_URL": process.env.API_URL
};
10 changes: 9 additions & 1 deletion next.config.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
const withCSS = require("@zeit/next-css");
const withImages = require("next-images");

module.exports = withCSS();
require("dotenv").config();

module.exports = withImages(
withCSS({
// use routes.js
useFileSystemPublicRoutes: false
})
);
Loading

0 comments on commit 2f59ddc

Please sign in to comment.