Jabes 2019 - Session parallèle " Comment faciliter la co-construction d'application au sein des réseaux de l'Abes ?"
1. Comment faciliter la co-construction
d’applications
au sein des réseaux de l’Abes ?
Yannick Schürter & Thomas Porquet (équipe ezPAARSE : Inist-CNRS / Couperin)
Marc Caucheteux & Guillaume Parisot (BU Vauban, Université Catholique de Lille)
Julien Gibert ; Aurélien Charot ; Stéphane Gully (Abes)
2. Comment faciliter la co-construction d’applications
au sein des réseaux de l’Abes ?
2
Contexte
L’action n°9 du projet 2018-2022 de l’Abes a pour objectif de faciliter
la « co-construction d’applications au sein des réseaux de
l’Abes ».
Cette session orientée « bibliothécaire-système » est une occasion
de présenter et discuter la mise en œuvre de cette action.
3. Abes
Comment faciliter la co-construction d’applications
au sein des réseaux de l’Abes ?
3
Contexte
« co-construction d’applications au sein des réseaux de l’Abes »
</>
app1 app1
</> : code source de l’application
: exécution de l’application
BU1
</>
app2app2
BU2
app2 utilise
API de app1
4. Abes
Comment faciliter la co-construction d’applications
au sein des réseaux de l’Abes ?
4
Contexte
« co-construction d’applications au sein des réseaux de l’Abes »
</>
app1app1
BU1
</>
app2
app2
BU2
: contribue en tant que responsable
: contribue en tant que partenaire
5. Comment faciliter la co-construction d’applications
au sein des réseaux de l’Abes ?
5
Contexte
« bibliothécaire-système »
Informaticien qui est à
l'aise avec les systèmes
bibliothécaires.
Un bibliothécaire et un
informaticien qui travaillent
ensemble.
ETOU
Un bibliothécaire qui est
à l'aise avec les
systèmes informatiques
OU
6. Comment faciliter la co-construction d’applications
au sein des réseaux de l’Abes ?
6
Contexte
« bibliothécaire-système »
paramétrages documentaires
SIGB, outils de découverte, résolveurs de
liens, bases de connaissances
Des compétences en
informatique documentaire
Programmation
Javascript, PHP, Python,
Java, Shell …
Collaboration technique
git, pull request, ticket,
chat, forum tech …
formats techniques
XML, JSON, YAML …
Protocoles
HTTP, API REST, …
formats documentaires
MARC, MODS, ONYX, TEI …
manipulation de données
XSL, SQL, openrefine, développement de scripts, ...
Stockage et indexation
BDD, moteur de recherche
7. Comment faciliter la co-construction d’applications
au sein des réseaux de l’Abes ?
7
Sommaire
- 20 min : un retour d’expérience de l’équipe ezPAARSE qui
utilise les principes de contribution au logiciel libre pour faciliter la
co-construction
- 20 min : un retour d’expérience des « bibliothécaires-système
» de la bibliothèque universitaire Vauban suite au
développement de la plateforme EZLibre qui propose des outils
bibliographiques reposant, entre autres, sur les web services de
l’Abes, outils que l’équipe souhaite partager avec les
établissements
- 20 min : une présentation de la logistique proposée par l’Abes :
basée sur les principes de contribution aux logiciels libres, l’objectif
est de faciliter et valoriser la co-construction au sein des réseaux
8. La logistique proposée par l’Abes pour
faciliter et valoriser la co-construction au
sein des réseaux
Julien Gibert ; Aurélien Charot ; Stéphane Gully (Abes)
9. La logistique proposée par l’Abes pour faciliter et valoriser la co-construction au sein des
réseaux
9
Sommaire
- Les développements informatique aujourd’hui à l’Abes
- La politique informatique de l’Abes :
- Open source
- Web services
10. La logistique proposée par l’Abes pour faciliter et valoriser la co-construction au sein des
réseaux
10
Politique de développement
depuis 2015
- Partager un cadre, des pratiques de développement
- Faciliter la maintenance des applications
- Faciliter l’arrivée de nouveaux développeurs sur les
applications
- Respecter les règles en termes de sécurité
11. La logistique proposée par l’Abes pour faciliter et valoriser la co-construction au sein des
réseaux
11
Politique de développement se
traduit par :
- Plateforme d'intégration continue : Gitlab, Jenkins, Artifactory,
Sonarqube, déploiement via Puppet sur env. de dev, test et
prod
- Règles de codage, versions, TU, doc technique
- Utilisation de frameworks : Java Spring (security, batch,
JPA...), VueJS
- Evolutive : ajout de Gitflow
12. La logistique proposée par l’Abes pour faciliter et valoriser la co-construction au sein des
réseaux
12
À partir de maintenant : open
source
- Renforcer les bonnes pratiques
- Loi pour une république numérique du 7 octobre 2016
(codes sources = documents administratifs
communicables et réutilisables)
- Permettre la co-construction (pull request)
13. La logistique proposée par l’Abes pour faciliter et valoriser la co-construction au sein des
réseaux
13
Open source en pratique
- Ouverture organisation Github :
https://github.com/abes-esr et un contact github@abes.fr
- Distinction dépôts Abes et dépôts pour les établissements
- Dépôts Abes : les nouveaux codes, certains anciens qui ne
posent pas de problème en termes de sécurité (mot de passe en
clair etc.)
- dépôts établissements : visibilité + collaboration
- Publication de notre politique de développement
- Licences CeCILL et MIT
14. La logistique proposée par l’Abes pour faciliter et valoriser la co-construction au sein des
réseaux
14
Architecture SOA (API & Client)
- Découpler client et serveur : ex : item-client
- Meilleure expérience utilisateur (vuejs)
- On peut remplacer ou ajouter un nouveau client
- Serveur : API, ensemble de services web accessibles
- API sécurisée :
- authentification sudoc + jwt
- autorisation : spring security pour droits sur les services
- API documentée openAPI (Swagger)
15. La logistique proposée par l’Abes pour faciliter et valoriser la co-construction au sein des
réseaux
15
16. La logistique proposée par l’Abes pour faciliter et valoriser la co-construction au sein des
réseaux
16
Vos besoins et idées
- Exprimer et recenser les besoins
- Partager vos codes sources existants
- Echanger sur les pratiques de développement
- Communiquer et valoriser les réalisations
- Autres besoins
17. La logistique proposée par l’Abes pour faciliter et valoriser la co-construction au sein des
réseaux
17
Liens
- Le dépôt github :
https://github.com/abes-esr/
- Nous contacter sur ce sujet, demander des droits sur les dépôts,
etc :
github@abes.fr
Notes de l'éditeur
https://www.mentimeter.com/app
Exprimer et recenser les besoins : Via des canaux : ABESStp (plutôt ticket), Jabes, liste de discussion, twitter, github (issues), Kanboard/Trello ABES (Fonctionnalités à mettre en place), vote comme webpack, autres ?Inviter le réseau aux revues de sprint (ICI ? Expliquer ce qu’est une revue de sprint)=>1 mentimeter : tous ces choix (tous affichés ou alors on laisse la création)
Partager vos codes sources existantsL’ABES va mettre sur github en opensource les nouveaux développements : comme Kopya client, Paprika, des codes de WS (une fois la conf ds spring cloud). Mais aussi, peut-être des apps plus anciennes si possible, comme le serveur OAI-PMH de STAR. Et vous ? Connecteurs SGBm / ExLibris / AMUE (Sinaps) & Cocktail
=>1 mentimeter : Et vous ? quel développement voudriez-vous partager ? Ils seront propriétaires de leur dépôt et on n’interviendrait pas, à part pour donner les droits au départ
Echanger sur les pratiques de développementUtilisation des fonctionnalités de github : pull request, issues pour travailler en co-construction. Pas forcément avec l’ABES d’ailleurs. Préciser que l’ABES fera du support dans la mesure de ses capacités : pas expert et peu de temps dédié à cela. Les utilisateurs devront connaître par eux même : Git, Gitflow, Github, etc. Vous pouvez vous entre-aider.Grosse communauté : ESR et au-delà. Permettra d’avoir des contributions, des corrections de bugs, des idées d’évolution.Une idée, logistique/moyen/outils : les jecours experts , un slack ouvert
& - Communiquer et valoriser les réalisationsPunktokomo Jecours expert ou contribution revues de sprint=> pour des contributeurs sur nos codes sources
code2bib@groupes.renater.fr
=>1 mentimeter : Quels moyens pour communiquer sur les réalisations ?
Autres besoins
=>1 mentimeter : c’est nouveau pour nous, donc nous avons peut être oublié des choses. Ou vous avez des besoins que nous n’avons pas perçus ?