Citizen Participation and Open Government Application
This is a fork of CONSUL the eParticipation website originally developed for the Madrid City government eParticipation website.
Voir la page dédiée sur le site du département
- Le site a été lancé en Janvier 2018 sur la base d'un autre fork réalisé par les équipes du Département de l'Aude.
- La personalisation de la plateforme a (re)démarrée en Février 2018.
- TODO - Aide à la traduction
- TODO - Beta test des nouvelles fonctionalités
- la branche
master
est la référence qui doit rester déployable en production à chaque instant - les Pull Requests sont automatiquement fusionnées en faisant un Squash and Merge afin de garder un historique plus lisibles des évolutions qui ont eut lieux sur ce fork
- le fork est mis à jour en suivant le processus décrit dans la doc officielle. Une documentation complémentaire spécifique aux particularités du présent projet est disponible dans le dossier doc.
- Les traductions sont personalisées pour le CDJ uniquement dans le dossier `config/locales/custom/'
- ces fichiers sont prioritaires sur tous les autres
- seules les clés à personaliser sont conservées dans ces fichiers
- Les traductions officielles
fr
de Consul peuvent être importées depuisupstream
ou depuis Crowdin pour venir écraser les traductions existantes dansconfig/locales/fr/
Le framework CSS utilisé est Foundation en version 6.2.4.
Voir la documentation sur Github car la documentation disponible sur le site web du projet correspond à une version plus récente.
Pour se connecter via facebook en local :
Utiliser ngrok : ./ngrok http 3000
Dans l'interface développeur de facebook :
- créer une application de test, si elle n'existe pas encore (credentials à renseigner dans
config/secrtes.yml
) - renseigner l'url de callback à partir de l'url https fournie par ngrok dans Produits > Facebook login > Paramètres > champs "URI de redirection OAuth valides" -> ex
https://a171c66a.ngrok.io/users/auth/facebook/callback
- renseigner le "Domaines de l’app" dans Paramètres > Général -> ex
a171c66a.ngrok.io
- renseigner "URL du site" dans Paramètres > Général -> block Site web ->
https://a171c66a.ngrok.io/
Le projet utilise capistrano
# sur votre machine
# Au 1er déploiement pour créer le fichier de config
cap production puma:config
# Par la suite
cap production deploy # Déploiement simple sur l'environnement de production (avec les migrations)
cap production puma:restart # Relance l'instance puma
cap production deploy:seed # Génération des seeds sur l'environnement de production
Une première version du CDJ pré-existait, avec des données qu'il a fallu importer. Les migrations n'étant pas à jour sur le projet originel, il est nécessaire de faire l'import en plusieurs temps :
- migrer jusqu'à une certaine version des migrations,
- faire l'import
- faire la suite des migrations jusqu'aux migrations actuelles
- lancer des scripts pour compléter les données
Pour des questions de droit casse-bonbons, la procédure d'installation est un peu bancale, et clairement améliorable. Vu que la procédure suivante est supposée n'être faite qu'une fois, à l'installation du projet, je n'ai pas poussé plus loin mes recherches.
Pré-requis : avoir en local la BDD à importer et le fichier csv de complétion des utilisateurs (actuellement disponibles dans le dossier drive du projet, et gitignoré pour des questions de confidentialité des données).
- Copier l'export de la BDD, et le fichier csv de complétion des utilisateurs, de votre serveur local sur le serveur de prod :
scp -P 124 chemin-vers-le-fichier.sql USER@ADRESSE-SERVEUR:/home/deploy/www/cdj_aude/current/doc/custom/
scp -P 124 CDJ_completion_utilisateurs.csv USER@ADRESSE-SERVEUR:/home/deploy/www/cdj_aude/current/doc/custom/
- Etapes de l'import :
# Sur serveur, avec le user mako, couper temporairement les connections à la db :
sudo service postgresql restart
# En local
cap production deploy:prepare_import_db
# Sur serveur, avec un user root :
cd /home/deploy/www/cdj_aude/current
psql cdj_aude_production < doc/custom/extract_db_insert_180326.sql
# En local
cap production deploy:finish_import_db
cap production delayed_job:restart
Certaines releases nécessitent des actions particulières suite à une montée de version. Ces actions sont documentées dans les releases.
Un script résume l'ensemble des étapes et peut être lancé pour effectuer toutes les étapes dans la foulée :
./lib/custom/import_db.sh
- Développement d'un module Actualité, page d'accueil par défaut des personnes connectées
- Les utilisateurs sont vérifiés par principe, dès leur inscription, sans avoir à vérifier de document officiel
- Les utilisateurs doivent renseigner + de données à l'inscriptions : nom, prénom, âge, adresse...
- Pas d'inscription en tant qu'organisation.
- Age maximum d'inscription à 26 ans - 1 jour.
- L'inscription via facebook ne fait que pré-remplir un profil utilisateur, au lieu de créer directement un compte
- Un compte utilisateur peut être lié/délié de facebook après coup.
- Les
Proposal
ont par défaut le nom de leurauthor
comme responsible_name (et nondocument_number
) - Nouveau rôle :
Animator
, qui partage certaines des abilities des admin et des modérateurs. Représente un membre du CA du conseil des jeunes. Détails des droits dans ce tableur. Les rôlesManager
,Moderator
,Valuator
,poll officer
sont inutilisés. - Nouvelle organisation du back office : création d'un menu "Communication" reprenant des éléments du menu "Administration". Simplification des autres menus. Détails de l'armature dans ce tableur
- Limitation des votes aux votes en ligne.
NOTE: For more detailed instructions check the docs
Prerequisites: install git, Ruby 2.3.2, bundler
gem, Node.js and PostgreSQL (>=9.4).
git clone https://github.com/CDJ11/CDJ.git
cd consul
bundle install
cp config/database.yml.example config/database.yml
cp config/secrets.yml.example config/secrets.yml
bin/rake db:create
bin/rake db:migrate
bin/rake db:dev_seed
bin/rake db:custom_seed
RAILS_ENV=test rake db:setup
Run the app locally:
bin/rails s
Prerequisites for testing: install ChromeDriver >= 2.33
Run the tests with:
bin/rspec
You can use the default admin user from the seeds file:
user: [email protected] pass: 12345678
But for some actions like voting, you will need a verified user, the seeds file also includes one:
user: [email protected] pass: 12345678
See installer
Check the ongoing documentation at https://consul_docs.gitbooks.io/docs/content/ to learn more about how to start your own CONSUL fork, install it, customize it and learn to use it from an administrator/maintainer perspective. You can contribute to it at https://github.com/consul/docs
Code published under AFFERO GPL v3 (see LICENSE-AGPLv3.txt)
See CONTRIBUTING.md