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
masterest 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
frde Consul peuvent être importées depuisupstreamou 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 productionUne 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:restartCertaines 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
Proposalont par défaut le nom de leurauthorcomme 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 officersont 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:setupRun the app locally:
bin/rails sPrerequisites for testing: install ChromeDriver >= 2.33
Run the tests with:
bin/rspecYou 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