← Tous les projets

Plateforme de données Genovalia

Un catalogue de jeux de données de recherche, des schémas de description standardisés, une API de métadonnées et un explorateur de données, sur le cluster OpenShift de l’Université Laval. Conçus, construits et exploités de bout en bout.

Status
Actif · 2022–
Techno
  • Python
  • FastAPI
  • PostgreSQL
  • Ceph
  • OpenShift
  • Kustomize
  • GitHub Actions

Genovalia est un programme de recherche en génomique animale de l’Université Laval. Ses scientifiques et leurs partenaires doivent pouvoir trouver des jeux de données, comprendre ce qu’ils contiennent et en demander l’accès. La plateforme, c’est ce qui le permet.

Ce que c’est

  • Un catalogue de données de jeux de données de recherche, décrits une seule fois et publiés partout où il le faut, dont un catalogue construit pour le carrefour de données CSDCC de Génome Canada.
  • Une API de métadonnées qui fournit ces descriptions et leurs schémas aux catalogues. J’en ai mené la refonte.
  • Un explorateur de données pour parcourir et interroger le contenu des jeux de données.
  • Des schémas standardisés qui rendent tout ça cohérent : voir Normes de métadonnées en génomique animale.

Comment ça roule

Tout roule sur le cluster OpenShift de l’université, avec PostgreSQL et du stockage objet S3 sur Ceph. Chaque service est livré par GitHub Actions et des manifestes Kustomize versionnés, du développement à la production. L’authentification passe par Keycloak avec OpenID Connect et ORCID, et Sentry et Gatus (suivi des erreurs et vérification de disponibilité) surveillent la production.

Je conçois les services, j’écris une bonne partie du code, j’exploite la plateforme au quotidien et je coordonne les autres développeurs.