Salut tout le monde,
Aujourd’hui je reviens pour faire un petit coup de pub à un projet Breton : Noethys. Il est probable que vous ne connaissiez pas (si toutefois vous connaissez, vous n’avez pas besoin de lire la présentation que j’en fais ^^).
Noethys est un « Logiciel de gestion multi-activités libre et gratuit », en d’autres termes, c’est un logiciel qui permet de gérer des centres de loisirs, des crèches, des garderies, etc. il s’agit d’un logiciel libre, donc sur lequel tout le monde peut participer (il est codé en python \o/), il fonctionne sur toutes les plateformes Linux/Windows/Mac, le logiciel peut être utilisé, soit en local (les données sont enregistrées localement sur la machine en Sqlite), soit en multi-postes (les données sont dans une base de données MySql distante).
Brève histoire du projet
Le projet a été initialement développé par une personne seule, Ivan, travaillant lui-même dans un centre de loisir et il faut dire qu’il a fait un super boulot, il a commencé le développement en 2010 et aujourd’hui Noethys est très complet (et continue de s’étendre). Depuis maintenant quelques semaines, Ivan a mis les sources sur github (ici) ce qui facilite grandement la coopération avec d’autres développeurs (j’ai ainsi pu lui donner un coup de pousse pour régler quelques bugs).
Mes apports
Avant de parler de mon travail sur Noethys, une brève présentation du contexte s’impose : je suis pour cet été en stage au Patronage Laïque Guerin, mon sujet de stage étant dans un premier temps de mettre en place Noethys en multi-postes, de former les futures utilisateurs et d’ajouter un export comptable. En effet Noethys gérait déjà la génération de facture, mais sans qu’elles ne soient liées à un logiciel de comptabilité quelconque, Ivan avait déjà commencé à travailler sur l’export, j’ai donc fait quelques recherches sur les formats d’export, ce qui lui a permis de terminer une partie du module (l’export vers EBP).
L’autre partie de mon stage sur laquelle j’ai beaucoup plus travaillé est un lien entre Noethys et LDAP.
Pour ceux qui ne connaissent pas LDAP, il s’agit d’un protocole d’annuaire normalisé. En d’autres termes c’est une base de données normalisée, ainsi plusieurs logiciels peuvent utiliser la même base sans interférences. LDAP est notamment très utilisé en entreprise, ainsi les employés ont les mêmes identifiants partout, s’ils changent par exemple leur mot de passe sur un service, le changement sera effectif sur tous les services connectés au LDAP.
Mon objectif était donc de lier Noethys à LDAP, en exportant les membres enregistrés ainsi que les groupes d’activités vers le serveur LDAP, il est ainsi désormais envisageable de créer des mailings listes en fonction des activités, de même, les membres inscrit ont automatiquement un compte OwnCloud pour stocker leurs données. Une question se pose alors : comment gérer les mots de passe ? En effet Noethys ne contient pas de mots de passe pour les individus enregistrés, j’ai donc réalisé deux interfaces, l’une pour les administrateurs, l’autre pour les utilisateurs, permettant respectivement :
- interface administrateurs : changement de mots de passes, création de membre non-Noethys, création de groupes non-Noethys, consultation des informations des membres, (dé)inscription de membres à des groupes.
- interface utilisateur : requête de nouveau mot de passe, changement de mot de passe, pour les non-Noethys changement des autres données (pour les membres Noethys, cela doit être fait depuis Noethys).
Ces outils de connexion entre Noethys et LDAP sont sur mon git perso (ici), si vous souhaitez les utiliser, vous en êtes libre, sachez cependant qu’ils n’ont à ce jour pas encore été testé en production et que les interfaces sont laide, mais ce peut être l’occasion d’améliorer tout ça ^^