CHANGELOG¶
2.1.3 (2020-09-29)¶
Nouveautés
- Possibilité de définir une action spécifique à une application, à exécuter après la validation d’un compte utilisateur en attente, renseignée dans le nouveau champs
utilisateurs.temp_users.confirmation_url
(#115 par @jpm-cbna) - Passage du champs
bib_organismes.nom_organisme
de 100 à 500 caractères - Mise à jour des versions des librairies psycopg2 (2.8.5) et sqlalchemy (1.3.19) (par @jpm-cbna)
Note de version
Si vous mettez à jour UsersHub :
Pour passer le champs
bib_organismes.nom_organisme
à 500 caractères, exécuter en ligne de commande :# Se connecter avec le superuser de la BDD (postgres) sudo su postgres # Se connecter à la BDD geonature2db (à adapter si votre BDD est nommée autrement) psql -d geonature2db # Exécuter la requête de mise à jour du champs UPDATE pg_attribute SET atttypmod = 500+4 WHERE attrelid = 'utilisateurs.bib_organismes'::regclass AND attname = 'nom_organisme'; # Quitter la commande SQL \q # Se déconnecter de l'utilisateur postgres exit
Exécuter le script de mise à jour de la BDD (https://github.com/PnX-SI/UsersHub/blob/master/data/update_2.1.2to2.1.3.sql)
Suivez la procédure classique de mise à jour (https://usershub.readthedocs.io/fr/latest/installation.html#mise-a-jour-de-l-application)
2.1.2 (2020-06-17)¶
Nouveautés
- Mise à jour des librairies Javascript (Bootstrap 4.5.0, jQuery 3.5.0)
- Mise à jour de MarkupSafe de la version 1.0 à 1.1 (#103)
- Amélioration du template du formulaire de connexion
- Utilisation du
code_application
de valeurUH
dans la tableutilisateurs.t_applications
pour l’authentification, au lieu du paramètreID_APP
du fichierconfig/config.py
Corrections
- Correction de l’affichage des fiches « Organisme » (#90)
- Correction de la documentation d’installation (par @lpofredc)
2.1.1 (2019-02-12)¶
Corrections
- Modification de l’écriture d’une contrainte d’unicité
- Modification de la méthode d’installation du virtualenv
- Utilisation de nvm pour installer node et npm (uniformisation avec GeoNature)
Note de version
- Installez
pip3
etvirtualenv
sudo apt-get update
sudo apt-get install python3-pip
sudo pip3 install virtualenv==20.0.1
- Exécuter le script de mise à jour de la BDD suivant: https://github.com/PnX-SI/UsersHub/blob/master/data/update_2.1.0to2.1.1.sql
- Suivez la procédure classique de mise à jour (https://usershub.readthedocs.io/fr/latest/installation.html#mise-a-jour-de-l-application)
2.1.0 (2019-09-17)¶
Nouveautés
- Ajout d’une API sécurisée de création de comptes utilisateurs depuis des applications tierces (création de roles et d’utilisateurs temporaires à valider, changement de mot de passe et des informations personnelles). Par @joelclems, @amandine-sahl, @jbrieuclp et @TheoLechemia #47
- Création des tables
temp_users
etcor_role_token
permettant de gérer de manière sécurisée les créations de compte et les changements de mot de passe. - Ajout d’une interface de gestion des utilisateurs temporaires
- Ajout d’un template générique (
generic_table.html
) pour la génération des tableaux utilisant l’héritage de template (block, extend) - Ajout d’un champs
champs_addi
au format jsonb dans les tablest_roles
ettemp_users
, permettant d’ajouter des informations diverses sur les utilisateurs, notamment lors d’une demande de création de compte depuis une application tierce (droits souhaités, validation d’une charte…) - Création d’index sur la table
t_roles
- Possibilité de nommer les attributs des modèles SQLAlchemy différemment des colonnes de la base de données
- Factorisation de la fonction
encrypt_password
- Mise à jour de Flask (1.0.2 à 1.1.1)
Corrections
- Ordonnancement des listes par ordre alphabétique (#81)
Notes de version
- Vous pouvez passer directement de la version 2.0.0 à la version 2.1.0, mais en suivant les notes de version intermédiaires.
- Exécuter le script de mise à jour de la BDD suivant: https://github.com/PnX-SI/UsersHub/blob/master/data/update_2.0.3to2.1.0.sql
- Si vous mettez à jour depuis la version 2.0.0, suivez la procédure classique de mise à jour (https://usershub.readthedocs.io/fr/latest/installation.html#mise-a-jour-de-l-application)
2.0.3 (2019-02-27)¶
Nouveautés
- Mise en place de logs rotatifs pour éviter de surcharger le serveur
Corrections
- Correction de l’enregistrement du formulaire des groupes qui passait automatiquement le champs
t_roles.active
àfalse
(#71) - Redirection de l’utilisateur si il n’a pas les droits suffisants pour accéder à une page
- Correction du script de migration 1.3.0to1.3.1.sql
- Correction de conflit d’authentification entre les différentes applications utilisant le sous-module d’authentification (MAJ du sous module en 1.3.2)
Note de version
Afin que les logs de l’application (supervisor et gunicorn) soient tous écrits au même endroit, éditez le fichier
usershub-service.conf
(sudo nano /etc/supervisor/conf.d/usershub-service.conf
. A la lignestdout_logfile
, remplacer la ligne existante par :stdout_logfile = /home/<MON_USER>/usershub/var/log/errors_uhv2.log
(en remplaçant<MON_USER>
par votre utilisateur linux).Vous pouvez également mettre en place un système de logs rotatifs (système permettant d’archiver les fichiers de log afin qu’ils ne surchargent pas le serveur) - conseillé si votre serveur a une capacité disque limitée. Créer le fichier suivant
sudo nano /etc/logrotate.d/uhv2
puis copiez les lignes suivantes dans le fichier nouvellement créé (en remplaçant<MON_USER>
par votre utilisateur linux)/home/<MON_USER>/usershub/var/log/*.log { daily rotate 8 size 100M create compress }
Exécutez ensuite la commande
sudo logrotate -f /etc/logrotate.conf
Suivez la procédure standard de mise à jour de UsersHub : https://usershub.readthedocs.io/fr/latest/installation.html#mise-a-jour-de-l-application
2.0.2 (2019-01-18)¶
Corrections
- Correction de la documentation
- Correction des versions du sous-module d’authentification
Notes de version
- Vous pouvez passer directement de la version 1.3.3 à la version 2.0.2, mais en suivant les notes de version de la 2.0.0.
- Si vous mettez à jour depuis la version 2.0.0, suivez la procédure classique de mise à jour (https://usershub.readthedocs.io/fr/latest/installation.html#mise-a-jour-de-l-application)
2.0.1 (2019-01-18)¶
Corrections
- Corrections mineures de l’authentification et de la gestion des sessions
- Mise à jour des scripts de synchronisation du schéma
utilisateurs
entre BDD mère et BDD filles (data/synchro_interbase_fille.sql
etdata/synchro_interbase_mere.sql
). A tester et finaliser.
Notes de version
- Vous pouvez passer directement de la version 1.3.3 à la version 2.0.1, mais en suivant les notes de version de la 2.0.0.
- Si vous mettez à jour depuis la version 2.0.0, suivez la procédure classique de mise à jour (https://usershub.readthedocs.io/fr/latest/installation.html#mise-a-jour-de-l-application)
2.0.0 (2019-01-15)¶
Refonte complète de l’application en Python / Flask / Bootstrap 4
Nouveautés
- Suppression de la notion de droits à 6 niveaux (trop restrictive)
- Intégration de la notion de profils personalisables pour chaque application
- Mise en place d’une API pour pouvoir interroger et implémenter UsersHub depuis des applications tiers (#47)
- Simplification globale du MCD pour déporter la complexité côté metier et se rapprocher d’une application UsersHub type CAS
- Suppression des tags trop génériques (#28)
- Suppression du CRUVED, réintegré dans GeoNature (28#issuecomment-440293296)
- Création de vues assurant la rétrocompatibilité avec d’autres applications utilisant le modèle de la version 1 de UsersHub
- Création de fiches d’information permettant de faire une synthèse rapide par utilisateur, groupes, organisme ou application
- Ménage et ajouts de champs dans les tables
t_role
(suppression denom_organisme
),bib_organimses
(ajouturl_organisme
eturl_logo
) ett_applications
(code_application
#54) - Automatisation de l’installation et révision du script
install_app.sh
- Contrôle de la cohérence entre les champs
pass
etpass_plus
- Possibilité de ne pas utiliser le champs
pass
(md5) si on ne l’utilise pas pour renforcer la sécurité du contenu - Développement de pages d’information par utilisateur, groupe, organisme, liste et application
Notes de version
Pour mettre à jour UsersHub depuis la version 1, il s’agit d’une nouvelle installation et d’une migration des données vers le nouveau modèle de BDD.
- Pour migrer depuis la version 1.3.3, suivez la documentation spécifique de migration (https://usershub.readthedocs.io/fr/latest/migration-v1v2.html)
- Pas de migration disponible depuis la version 2.0.0-beta.1
1.3.3 (2018-10-17)¶
Corrections
- Suppression de
cor_role_droit_application
inutiles install_app.sh
: Suppression de messages portant à confusion
1.3.2 (2018-09-20)¶
Corrections
- Installation BDD : Nettoyage des données insérées et remise à 1 des séquences par défaut
- Vérification que le mot de passe encrypté en md5 et sha soient cohérents (#34)
2.0.0-beta.1 (2018-06-29)¶
Refonte totale de l’application en Python, Flask, Jinja, Bootstrap, Jquery. Par @Laumond11u.
- Rapport de stage : http://geonature.fr/documents/2018-06-usershub-v2-rapport-stage-Gabin-Laumond.pdf
- Présentation de stage : http://geonature.fr/documents/2018-06-usershub-v2-soutenance-stage-Gabin-Laumond.pdf

Nouveautés
- Interface de gestion des tags et de leurs types
- Interface de gestion des CRUVED
- Fiche rôle permettant d’afficher le détail des groupes, tags et CRUVED d’un rôle (utilisateur ou groupe)
- Fiche organisme permettant d’afficher le détail des membres et tags d’un organisme
- Suppression de tables (
t_menus
,bib_droits
,cor_role_menu
) et création de vues avec le même nom pour garder la compatibilité des applications basées sur UsersHub v1 - Table
cor_role_droit_application
remplacée parcor_role_tag_application
- Compléments des données minimales (tags, types de tags…)
- Modification de la vue
v_useraction_forall_gn_modules
qui retourne le CRUVED d’un utilisateur pour pouvoir aussi récupérer le CRUVED d’un groupe
Note de version
- Version beta à ne pas utiliser en production
- Installation : https://github.com/PnEcrins/UsersHub/issues/35
- Exécuter le script de mise à jour de la BDD
data/update_1.3.1to2.sql
(attention il ne migre pas encore les données UsersHub V1) - Renseigner les fichiers
settings.ini
etconfig.py
à partir des samples
1.3.1 (2018-05-17)¶
Nouveautés
- Préparation dans la BDD d’une future version 1.4.0 (dont les extensions sont utilisées dans le développement de GeoNature2) :
- Intégration d’un mécanisme générique d’étiquettes (tags) permettant une gestion des droits par actions sur des objets. Ce mécanisme permet aussi d’affecter des étiquettes à des roles, des organismes ou des applications. Il permet également de gérer la notion de portée des actions sur différentes étendue de données (mes données seulement, celles de mon organisme, toutes les données)
- Intégration d’une hiérarchie entre applications et organismes (
id_parent
). - Pour le moment, ces extensions du modèle ne concernent que la base de données et pas l’interface de l’application.
- Mise en paramètre du cost de l’algorythme de criptage bcrypt
- Configuration Apache dans un fichier
usershub.conf
comme TaxHub et GeoNature-atlas
Corrections
- Ajout du
pass_plus
dans toutes les vues - Correction de l’installation (localisation du
config.php
) - Ajout d’une vue manquante et nécessaire au sous-module d’authentification
- Interdire la création d’utilisateur avec l’organisme 0 (= ALL = tous les organismes) ; Utilisé dans GeoNature2 pour définir des paramètres applicables à tous les organismes.
Notes de version
- Ajouter le paramètre
$pass_cost
dans leconfig/config.php
et lui donner une valeur éventuellement différente. Plus la valeur est importante, plus le temps de calcul de hashage du mot de passe est important. - Exécuter le script
data/update1.3.0to1.3.1.sql
- Reporter les modifications dans les bases filles.
- Facultatif : revoir la configuration apache qui est maintenant dans un fichier usershub.conf (voir la doc). Ne pas oublier de supprimer le lien symbolique dans
/var/www/html
1.3.0 (2017-12-11)¶
Changements
- Mise en paramètre du port PostgreSQL pour l’installation initiale
- Intégration d’UUID pour les organismes et les roles afin de permettre des consolidations de bases utilisateurs
- Intégration d’un mécanisme d’authentification plus solide à base de hachage du mot de pass sur la base de l’algorithme
bscript
. L’ancien mécanisme encodé en md5 (champpass
) reste utilisable. Attention ceci ne concerne que l’authentification à UsersHub. Pour utiliser le hash dans d’autres applications, il faudra modifier les applications concernées et utiliser le nouveau champpass_plus
à la place du champpass
. - Création d’un formulaire permettant aux utilisateurs de mettre à jour leur mot de passe et de générer le nouveau hachage du mot de passe (http://mondomaine.fr/usershub/majpass.php).
Notes de version
- Les modifications de la BDD (ajout champ
pass_plus
notamment) doivent concerner la BDD principale de UsersHub (BDD mère) mais aussi toutes les BDD filles inscrites dans le fichierdbconnexions.json
. Pour cela 2 scripts sont proposés :data/update_mère_1.2.1to1.3.0.sql
etdata/update_filles_1.2.1to1.3.0.sql
. - Synchroniser les UUID vers les BDD filles. Le script SQL appliqué sur la BDD mère va générer des UUID pour chaque utilisateur et organisme. S’il était appliqué sur les BDD filles, les UUID générés seraient différents de ceux de la BDD mère. Il faut donc les générer une seule fois dans la BDD mère, puis les copier dans les BDD filles. Pour cela, après s’être authentifié dans UsersHub il suffit de lancer le script
web/sync_uuid.php
: http://mondomaine.fr/usershub/sync_uuid.php. ATTENTION, ce script utilise le fichierdbconnexions.json
pour boucler sur les BDD filles, il ne fonctionnera que si vous avez préalablement mis à jour toutes les BDD filles inscrites dansdbconnexions.json
. - Créer le fichier
config/config.php
à partir du fichierconfig/config.php.sample
et choisissez le mécanisme d’authentification à UsersHub que vous souhaitez mettre en place, ainsi que la taille minimale des mots de passe du nouveau champspass_plus
. Il est conseillé de conserver le mot de passepass
(encodé en md5) le temps de mettre à jour les mots de passe des utilisateurs de UsersHub. - Générer le hash des mots de passe, au moins pour les utilisateurs de UsersHub. Il existe trois manières de le faire :
- lors de l’authentification de l’utilisateur, le hash du mot de pass qu’il vient de saisir est généré dans le champ
pass_plus
. - en resaisissant le passe des utilisateurs dans le formulaire
utilisateur
. - lors de la création d’un nouvel utilisateur, le hash est également généré (ainsi que le md5).
- il n’est pas possible de générer le hash du mot de passe des utilisateurs existant à partir du mot de pass enregistré dans le champ
pass
(encodé en md5). Pour cela, diffusez le formulairemajpass.php
qui permet aux utilisateurs de mettre à jour leur mot de passe et de générer le hash (ainsi que de mettre à jour le md5) avec l’adresse : http://mondomaine.fr/usershub/majpass.php
- lors de l’authentification de l’utilisateur, le hash du mot de pass qu’il vient de saisir est généré dans le champ
1.2.2 (2017-07-06)¶
Changements
- Correction du script SQL (remplacement de SELECT par PERFORM)
- Mise à jour du fichier
settings.ini.sample
pour prendre en compte le port - Suppression de la référence au host databases (retour à localhost)
Notes de version
- Les modifications réalisée concerne une première installation, vous n’avez aucune action particulière à réaliser.
1.2.1 (2017-04-11)¶
Changements
- Gestion plus fine des erreurs dans le script SQL de création du schéma
utilisateurs
, afin de pouvoir éxecuter le script sur une BDD existante - Gestion des notices PHP
- Suppression d’une table inutile (
utilisateurs.bib_observateurs
) - Correction de l’URL du logo du PNE
- Mise à jour du fichier
web/js/settings.js.sample
- Documentation - Ajout d’une FAQ et mise en forme
Notes de version
- Si vous mettez à jour l’application depuis la version 1.2.0, éxécutez le script
data/update1.2.0to1.2.1.sql
qui supprime la table inutilebib_observateurs
.
1.2.0 (2016-11-16)¶
Changements
- Compatibilité avec TaxHub accrue
- Bugfix
- Distinction groupe/utilisateurs dans les listes d’utilisateurs.
- Dépersonnalisation de la page de login et du bandeau.
- Désactivation de l’autoremplissage par défaut du mail de l’utilisateur. Reste possible mais optionnel.
- Tri par ordre alphabétiques des listes déroulantes.
1.1.2 (2016-11-02)¶
Corrections
- Prise en compte de TaxHub en tant qu’application à part entière avec ses utilisateurs et leurs droits.
1.1.1 (2016-10-26)¶
Corrections mineures
1.1.0 (2016-08-31)¶
Changements
- Ajout du port PostgreSQL (
port
) dans les paramètres de configuration (by Claire Lagaye PnVanoise)
A ajouter dans config/connecter.php
et config/dbconnexions.json
.
Voir https://github.com/PnEcrins/UsersHub/blob/master/config/connecter.php.sample#L7 et https://github.com/PnEcrins/UsersHub/blob/master/config/dbconnexions.json.sample#L10
1.0.0 (2015-10-13)¶
- Première version stabilisée de l’application avec script d’installation automatique.
0.1.0 (2015-01-28)¶
- Mise en ligne du projet et de la documentation