Legilibre / salon

Un salon pour les discussions générales autour du projet Légilibre
https://github.com/Legilibre/salon/issues
2 stars 0 forks source link

Script de déploiement #16

Open Seb35 opened 6 years ago

Seb35 commented 6 years ago

Hello, j’ai créé un nouveau dépôt Legilibre/deploiement contenant (pour l’instant) un script shell permettant une commande (CLIcodrome) de :

  1. créer un serveur (chez Gandi)
  2. qui lance l’installation de legi.py
    • téléchargement et mise en BDD de legi.py.

Dans mon idée, d’une part ça faciliterait l’entrée de nouveaux dévelopeurs à Légilibre et d’autre part ça permet d’améliorer la reproductabilité. Pour Archéo Lex, j’ai toujours comme projet (même si ça traîne) d’avoir un serveur qui calcule tous les jours (comme legi.py) les nouvelles modifications de LEGI du jour, en gros par rapport à legi.py l’export Git des codes et lois. Avec ce script de déploiement, c’est une première étape pour monter un serveur Archéo Lex, et tant qu’à faire je préfère qu’il soit créé via un script pour ne pas avoir à taper toutes les commandes avec mes petits doigts et à écrire la doc associée.

Perspectives

Ce script est simple et il fait le job, mais si ça intéresse il est possible de rajouter des fonctionnalités : déploiement chez d’autres hébergeurs/plate-formes, ajouter des projets (Archéo Lex, legi-php, Duralex, legi-display, sites web : Archéo Lex, SedLex, etc.), ajouter des languages (shell, Ansible, Puppet, Fabric, PHP, Python, Robo, Deployer(.org), Vagrant, etc.).

À voir aussi si un script central permet de déployer tous les projets ou si chaque projet propose ses propres méthodes de déploiement. Perso j’ai bien un script central, possiblement avec un choix de ce qu’on veut déployer, éventuellement ça peut être décentralisé techniquement si on arrive à trouver une méthode -- je sais, on pourrait appeler cette méthode Ansible, mais j’aime bien les choses plus communes / moins lourdes comme Bourne shell.

Idéalement, on aurait plusieurs méthodes de déploiement possibles (j’aime bien le shell mais je conçois que d’autres préfèrent Ansible), et dans l’idéal d’idéalement on pourrait déployer relativement facilement un ou plusieurs projets avec la méthode de son choix. Car je sais qu’essayer d’unifier les méthodes de déploiement s’apparente à l’activité du choix de la couleur de l’abri à vélo (bikeshedding).

Pierrot-ongit commented 6 years ago

Je comprends pas tout dedans mais ca semble super . ^^ Il y a quelqu'un que j'ai rencontré lors de la dernière nuit du code citoyen qui a bossé sur une api js à partir de legi.py pour exposer les résultats en JSON : https://github.com/revolunet/legi.js

Es ce que tu pense que c'est un projet intéressant et qu'on pourrait l'intégrer aux projets legilibre ?

Seb35 commented 6 years ago

J’ai déjà croisé @revolunet sur https://forum.parlement-ouvert.fr/t/api-legi/587 :) mais n’ai toujours pas pris le temps de tester cette API JS, mais oui ça a l’air bien :)

Je sais pas si @revolunet veut apparaître sur la liste des projets Légilibre, je n’y vois pas de contre-indication pour ma part -- bon, après, le principal avantage est d’avoir un tout petit plus de visibilité.

revolunet commented 6 years ago

👋 Hello

Avec plaisir pour apparaitre sur cette liste; il y a aussi legi-postgres qui permet de maintenir un serveur PostgreSQL avec une database LEGI à jour;

Pour le module JS, il reste encore un gros travail d'optimisation car comme c'est actuellement c'est très lent, avec énormément de requêtes SQL; (le code du travail (+10000 articles) met presque 10 minutes à se générer... 😂)

Avec un peu de recul, et vu la tête de la base LEGI, je me dis qu'il sera sûrement bcp plus efficace de faire ces opérations de "reconstruction" des textes côté base de données, au plus proche des data.

@Pierrot-ongit quelles données voudrais-tu pouvoir extraire facilement de la base ?