Dès 2015, le service Conception et Développement s’est doté d’une politique de développement reposant sur une philosophie open source. Depuis lors, celle-ci cadre les réalisations portées par le département Systèmes d’Information et du Numérique (DSIN) de l’Abes,
Partage de bonnes pratiques
Lors de la mise en place de cette démarche, les nombreux bénéfices attendus avaient en commun le fait de renforcer le travail en équipe en favorisant des pratiques communes de développement. Il s’agissait principalement de :
- faciliter la maintenance des applications en évitant l’éparpillement dans le choix des technologies et architectures utilisées
- coder selon des standards communs afin que chacun puisse se repérer dans les applications
- faciliter l’intégration de nouveaux développeurs en leur fournissant un guide de bonnes pratiques
- faciliter le respect des principes et règles en termes de sécurité en spécifiant les procédures à suivre
Aujourd’hui, ces bonnes pratiques sont largement partagées par les développeurs de l’Abes : respect des règles de codage, utilisation de branches, versionnage du code source, programmation de tests unitaires, documentation du code….
Pour consolider l’appropriation de ces pratiques, des séances de travail de type coding dojo ou pair programming sont régulièrement organisées.
Architecture et choix techniques
L’ensemble des nouvelles applications développées à l’Abes découplent les « interfaces utilisateurs » des parties « serveur », construites sous forme d’API REST sécurisées (différents types d’authentification peuvent être utilisés : LDAP, service web, base interne) et documentées (au format OpenApi).
En ce qui concerne la programmation côté serveur, des frameworks bien définis, notamment Spring, sont utilisés aussi bien pour les API REST (Spring web security) que pour les programmes batch (Spring Batch). Par ailleurs, pour l’accès aux données depuis les bases relationnelles, Spring JPA et Spring data sont mis en œuvre.
En ce qui concerne la conception des interfaces utilisateurs, c’est VueJS qui a été choisi, couplé à Vuetify pour les composants graphiques. Les développeurs codent désormais en typescript. Une application (nommée « abes-hello ») sert de modèle et de référence : les développeurs peuvent s’y référer pour se former ou pour réutiliser le code.
Une intégration en continu
Un ensemble de briques logicielles (Github /Gitlab, Jenkins, Artifactory, Sonarqube) a été installé afin de mettre en place une plateforme d’intégration continue. Ainsi, la production de code est industrialisée, que ce soit pour construire les applications ou pour les déployer.
Cette gamme d’outils a pour intérêt de centraliser les dépôts de code (Github pour les codes opensource ; Gitlab interne pour les codes historiques ; Artifactory pour le code compilé) ce qui facilite amplement le suivi des versions et garantit la maitrise de la compilation et du déploiement (via Jenkins).
Bien entendu, la politique de développement est évolutive. Elle est mise à jour régulièrement pour suivre l’état de l’art. En revanche, les évolutions potentielles sont présentées et discutées collectivement : il s’agit en effet d’obtenir l’adhésion des équipes de développeurs lors de l’adoption de nouveaux choix techniques.
Julien Gibert, chef du Service Conception et Développements, Abes
En savoir plus
- La politique informatique open source de l’Abes est consultable ici : https://github.com/abes-esr/abes-politique-developpement
- Lire aussi : L’Agence bibliographique de l’enseignement supérieur ouvre ses codes (cf p.46)