Talend + Gitlab : Oh my God !
Récemment, nous avons eu la contrainte d’effectuer une mission Talend exclusivement en télétravail. De plus sans horaires fixes, c’est-à-dire sans avoir souvent le client en direct. Dans ce contexte, on peut d’avance anticiper des problèmes de compréhension, de délai, de moyen de livraison, etc…
Pourtant, avec la combinaison des outils Talend et Gitlab, la mission s’est parfaitement déroulée et le client en a été très satisfait. Cet article vous explique pourquoi…
Les outils
Outil Open Source de versionning Git à l’origine, il a acquis de nombreuses fonctionnalités annexes qui apporte notamment : la gestion de tickets, de tâches, de temps passé.
Outil Open Source très célèbre dans l’univers de l’intrégration de données, il permet graphiquement (par glisser-déposer de composants) de réaliser tout type de tâches (étant un générateur de code java, il n’a quasiment pas de limites).
La méthodologie
1. Versionning Talend
Dans sa version Open Source, Talend ne propose pas d’outil de versionning. Cependant, il est possible de le mettre manuellement sous versionning avec Git et son interface utilisateur Gitlab (bientôt un article pour plus de précisions).
2. Paramétrage de Gitlab
Dans Gitlab, nous allons créer le projet lié à notre client :
- Création du compte utilisateur en rôle « reporter » afin qu’il puisse créer des tâches, des bugs, et accéder aux sources si besoin
- Création des lots de développement (milestones sur Gitlab)
- Création des tâches à réaliser
3. Déroulement du projet
Le diagramme ci-dessous montre le cycle de développement du projet, et notamment les interactions GitLab <-> Talend :
Lorsque nous développons dans Talend des fonctionnalités liées à une ou plusieurs tâches, ce travail se matérialise concrètement dans GitLab par un commit. Tout l’intérêt est de lier ce commit aux tâches créées dans GitLab. L’astuce est simplement de mentionner la tâche dans le message de commit (expl #4 pour lier le commit à la tâche 4). Et alors, la boucle est bouclée : la tâche créée par le client a son commit dans GitLab, c’est-à-dire le développement Talend correspondant à son besoin.
Cette démarche demande une certaine rigueur qui sera très vite récompensée par une transparence et une propreté du projet sans équivalent. A certains égards, cela est même bien plus « propre » et précis que l’enregistrement automatique dans la version entreprise de Talend. En effet, celle-ci déclenche un commit sans commentaires humains, et donc sans lien immédiat avec une tâche.
Les avantages
A première vue, cette méthodologie peut paraître lourde en comparaison d’un développement fait rapidement sous Talend et envoyé au client. Mais à bien y regarder, côté client, les avantages sont clairs :
- Facilité de comprendre ce que le développeur réalise
- Facilité de communication avec le développeur sur des sujets précis (imaginez l’équivalent en communication email…)
- Transparence du développeur sur ce qu’il réalise
- Transparence du développeur sur le temps passé
- Facilité de transmission si le client doit changer de prestataire
Cette dernière assertion n’est pas anodine et nous tient à coeur. Chez Effidic, nous mettons en avant une réelle expertise, et en cela nous ne voulons en aucune façon garder des clients captifs en livrant des boîtes noires qui lient de manière forcée le client et le prestataire.