pyIATI : la trousse à outils de l’IITA destinée aux développeurs

  • 27 septembre 2017

Nous nous sommes entretenus avec Dale Potter, développeur au sein de l’IITA, au sujet de pyIATI – la trousse à outils de l’IITA destinée aux développeurs.

En quoi consiste pyIATI ?

pyIATI – la trousse à outils de l’IITA destinée aux développeurs (prononcez paï-ati) est une bibliothèque en accès libre de codes réutilisables utilisant le langage de programmation Python. Nous allons progressivement l’utiliser et intégrer les outils de l’IITA, nouveaux ou existants, aux fins de stabilité et d’adaptabilité. Nous espérons également que d’autres développeurs de logiciels de la communauté de l’IITA s’en serviront pour publier et utiliser des données.

Pourquoi l’équipe technique de l’IITA crée-t-elle cet outil ?

Les outils de l’IITA (notamment la banque de données, le tableau de bord et l’ outil de validation) présentent souvent des dysfonctionnements. La résolution de ces problèmes prend parfois du temps.

En outre, il est difficile d’adapter ces outils à l’évolution des besoins de nos utilisateurs. En effet, leur code source a initialement été créé pour assurer le démarrage de l’IITA, mais il s’avère aujourd’hui trop complexe et trop peu flexible pour évoluer en fonction des exigences actuelles et futures de l’Initiative. Les outils et services que nous proposons (une bonne quinzaine) reposent sur un code écrit dans au moins six langues suivant différentes méthodes de codage. Il est donc difficile d’assurer efficacement la maintenance générale de ces outils.

Conformément à la section 3A (Infrastructures techniques) du plan de travail de l’IITA, nous créons pyIATI afin de mettre en place une bibliothèque de codes fiables, rédigés suivant les bonnes pratiques du secteur, qui sera indispensable pour créer de nouveaux outils pour l’IITA et mieux assurer leur maintenance.

À qui est destiné pyIATI ?

pyIATI est une trousse à outils logicielle conçue à la fois pour les développeurs de l’équipe technique de l’IITA et pour les développeurs externes de la communauté de l’IITA.

Pour faire simple, la création de pyIATI a pour objectif de proposer des éléments pouvant être réutilisés afin de concevoir des outils pour l’IITA. Grâce à pyIATI, les développeurs n’ont pas besoin de réinventer la roue et de créer de toutes pièces de nouveaux éléments – des éléments réutilisables, prêts à l’emploi et conçus suivant des spécifications fiables et normalisées sont mis à la disposition de toute personne souhaitant créer de nouveaux outils ou réparer les outils existants et assurer leur maintenance.

En quoi pyIATI servira-t-il aux développeurs qui travaillent sur/avec les outils de l’IITA ?

  • Une création d’outils plus rapide : grâce au large éventail de fonctionnalités proposées dans la bibliothèque, les développeurs ne devront plus écrire leurs propres fonctionnalités de A à Z chaque fois qu’ils voudront créer ou mettre à jour un outil de l’IITA. Plus besoin de réinventer la roue !
  • Une modification des outils plus facile : le code étant réutilisable, il sera plus facile de corriger les erreurs, de proposer des mises à jour et de modifier les divers outils afin de mieux répondre aux besoins des utilisateurs.
  • Des outils plus fiables : le code sur lequel repose pyIATI étant rédigé suivant les bonnes pratiques du secteur, les éventuels problèmes sont repérés plus tôt et les dysfonctionnements qui échapperaient à notre vigilance peuvent être corrigés plus rapidement. Plus important encore, corriger ces erreurs risquera moins d’entraîner de nouveaux problèmes imprévus.
  • Une meilleure cohérence : pyIATI applique « à la lettre » la norme de l’IITA. Les utilisateurs des outils conçus à l’aide de pyIATI peuvent donc s’attendre à ce que ceux-ci fonctionnent de manière homogène et prévisible dans le cadre d’un écosystème stable, en particulier s’agissant des éléments les plus complexes (ensembles de règles, par exemple).
  • Un partage d’expérience avec les autres développeurs de l’IITA : les développeurs peuvent faire part de leurs retours d’information, de leurs suggestions et de leurs propositions concernant pyIATI sur Github, ce qui permet aux membres de la communauté d’apprendre les uns des autres.

De manière générale, en quoi les signataires de l’IITA et les utilisateurs de données bénéficieront-ils de cet outil ?

Au fur et à mesure de la mise en place de cette bibliothèque et de son intégration dans les outils (nouveaux et existants), les utilisateurs rencontreront moins de problèmes avec les outils et les sites Internet de l’IITA. En cas de dysfonctionnements, ceux-ci pourront être corrigés plus rapidement, la bibliothèque étant conçue pour faciliter l’utilisation et la maintenance à long terme. En outre, les développeurs d’outils pourront s’appuyer sur une base cohérente qui leur permettra de travailler plus facilement et plus rapidement avec la norme et les données de l’IITA.

Où peut-on trouver des informations supplémentaires concernant pyIATI ?

Pour obtenir des informations plus détaillées, consultez l’article (en anglais) initialement publié sur le forum Discuss de l’IITA : Introducing the IATI Python Library.