Git Product home page Git Product logo

consultation.gouv.fr's Introduction

Build Status

consultation.gouv.fr catalogue les outils de consultations offerts aux administrations. À chaque outil est associée une courte description fonctionnelles, une documentation technique, d'éventuelles ressources supplémentaires et des cas d'usages.

Public visé

consultation.gouv.fr s'adresse avant tout aux administrations française susceptibles de lancer des consulations NG.md#ajouter-un-service) !

Sous-domaines

Le nom de domaine consultation.gouv.fr héberge un catalogue d'outils et de cas d'usage.

Les sous-domaines en *.consultation.gouv.fr hébergent les outils catalogués sur consultation.gouv.fr et maintenus par la DINSIC.

Installation locale

Il est nécessaire de récupérer les sources avec la commande :

git clone https://github.com/consultation-gouv/consultation.gouv.fr
cd consultation.gouv.fr

Il existe ensuite deux manières de lancer le site sur sa machine :

  • Utiliser Jekyll directement.
  • Utiliser Docker.

Ces deux méthodes sont indépendantes et détaillées ci-dessous.

Jekyll

Le site utilise Jekyll, un générateur de site statique en Ruby.

Dépendances

  • Ruby. Il est recommandé d'utiliser un système de virtualisation comme RVM ou RbEnv. La version à utiliser est : 2.3
  • bundle. La commande a lancer est : gem install bundle

Commandes

  • bundle install pour installer toutes les dépendances nécessaires
  • bundle exec jekyll serve pour lancer un serveur de développement. Il suffit de se rendre sur l'URL indiquée à l'exécution de la commande.
  • bundle exec jekyll build pour générer le site dans le répertoire _site.
  • bundle update pour mettre à jour les dépendances et le Gemfile.lock

Docker

Dépendances

Commandes

  • docker-compose up. Il suffit de se rendre sur l'URL indiquée à l'exécution de la commande.

Hébergement

Le site est hébergé sur un VPS.

Déploiement

La gestion du contenu du site se fait manuellement, en clonant le dépôt et en éditant les fichiers nécessaires (l'outil en ligne Forestry.io ne supporte plus, depuis mi-2018, l'édition en ligne de contenu HTML).

Les déploiements sont quant à eux automatisés via CircleCI: ce dernier démarre un build dès qu'une modification est poussée sur GitHub. Après avoir construit le site statique, il est potentiellement déployé :

  • si la branche est pprod ou production, CircleCI déploie aussi le site sur la machine correspondante
  • si la branche est master, le site est uniquement construit mais aucun déploiement n'est effectué

Les modifications centrales, n'ayant pas trait à du contenu, doivent donc être préférentiellement réalisées sur master, afin de bénéficier de la validation automatique.

Une fois le contenu et l'aspect du site validés sur le site de pré-production, les mises en production s'effectuent simplement en créant une PullRequest GitHub, depuis la branche pprod vers la branche production :

  1. Ouvrir https://github.com/consultation-gouv/consultation.gouv.fr
  2. Choisir la branche "pprod"
  3. Cliquer sur "New pull request"
  4. Dans la page qui s'ouvre, laisser "pprod" à droite de la flèche (origine de la pull request), et choisir "production" à gauche (destination de la pull request), puis valider
  5. Laisser l'intégration continue CircleCI se terminer
  6. Une fois qu'elle est validée, vous pouvez cliquer sur "Merge" pour finaliser la pull request
  7. CircleCI va lancer le déploiement en production, ce qui prendra quelques minutes

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.