BIGP

Une plateforme moderne pour la recherche psychiatrique : migrer une base de données intégrée vers Django

Contexte

Le CERVO mènent depuis plusieurs années des recherches en génétique psychiatrique. Ces travaux nécessitent de gérer de grandes quantités de données : informations sur les sujets et leurs familles, évaluations cliniques, échantillons biologiques conservés en laboratoire, données génétiques, résultats d’analyses statistiques.

Pour répondre à ces besoins, une plateforme web nommée BIGP (Base de données Intégrée en Génétique Psychiatrique) a été développée avec l’aide de l’IBIS (Institut de Biologie Intégrative et des Systèmes). Elle centralise dans une seule base de données MySQL l’ensemble de ces informations, auparavant éparpillées dans de multiples applications Access, fichiers Excel et outils maison. La base de données compte aujourd’hui 287 tables et l’interface web qui permet d’y accéder représente plus de 100 000 lignes de code.

Cette interface a été construite en PHP 5 avec le framework Zend Framework 1 (ZF1), une technologie qui est aujourd’hui obsolète et qui n’est plus maintenue. Cela représente un risque croissant pour la sécurité, la stabilité et la pérennité de la plateforme.

Notre contribution : moderniser BIGP avec Django

Nous avons été sollicités pour migrer entièrement l’interface web de BIGP vers Django, un framework web Python moderne, robuste et activement maintenu. La base de données MySQL demeure inchangée : c’est uniquement la couche applicative — le site web qui permet de consulter et modifier les données — qui est reconstruite de zéro avec les technologies actuelles.

Cette migration ne consiste pas seulement à changer de langage : c’est l’occasion de consolider la sécurité de la plateforme, d’adopter les bonnes pratiques du développement web contemporain et de préparer BIGP à évoluer pour répondre aux futurs besoins des équipes de recherche.

Sur le plan de l’interface utilisateur, l’approche retenue est celle d’une modernisation soignée plutôt que d’une refonte radicale. Les utilisateurs retrouveront une expérience familière, avec les mêmes écrans et les mêmes flux de travail qu’ils connaissent, mais bénéficieront d’une présentation rafraîchie, plus claire et mieux adaptée aux écrans actuels. L’objectif est d’améliorer le confort d’utilisation sans bouleverser les habitudes d’une équipe qui travaille quotidiennement avec cet outil.

Réalisations

Index Maître — le cœur du système

Le module Index Maître est le point central de toute la plateforme. Il permet de gérer les sujets participants aux études, leurs familles et les projets de recherche auxquels ils sont rattachés. C’est à partir de cet écran que l’on accède à l’ensemble des autres modules pour un sujet donné. Sa migration est prioritaire, car tous les autres modules en dépendent.

Données cliniques

Quatre modules regroupent les évaluations cliniques et neuropsychologiques des sujets :

  • Diagnostiques — saisie et consultation des diagnostics psychiatriques.
  • CQDM — données du projet CQDM : critères d’inclusion et d’exclusion, médication, habitudes de vie.
  • Neuropsy — évaluations neuropsychologiques détaillées.
  • Symptômes cliniques — données issues de l’ancienne application.

Ces modules, autrefois des bases de données Access séparées, sont intégrés dans BIGP pour éliminer la double saisie et offrir une vue d’ensemble par sujet.

Biobanques — gestion des échantillons de laboratoire

Le module Biobanques permet de gérer l’inventaire complet des échantillons biologiques (ADN, ARN, cellules) conservés dans les congélateurs du laboratoire. Il couvre la gestion des congélateurs, le suivi des productions d’échantillons, les dilutions et l’historique des lignées lymphocytaires. Un tableau de bord donne une vue en temps réel du taux d’occupation et de l’état des stocks.

Données génétiques

Le module Génétiques archive l’ensemble des données génétiques des sujets : génotypes, données de séquençage, variants structuraux (CNV), microsatellites, ainsi que les informations sur les gènes et les marqueurs génomiques. Ces informations sont liées aux bases de référence internationales (NCBI dbSNP).

Analyses statistiques

Le module Analyses Statistiques permet aux biostatisticiens de générer les fichiers nécessaires au lancement de leurs analyses génétique, en conservant un historique complet des données utilisées à chaque analyse (les « photos »). Cela garantit la reproductibilité des résultats scientifiques.

ERG — électrorétinographie

Le module ERG conserve les résultats des évaluations électrorétinographiques effectuées sur les sujets, génère des graphiques à partir des données brutes et calcule les valeurs synthétiques utilisées par les biostatisticiens.

Administration et sécurité

Un module d’administration permet de gérer les utilisateurs, leurs rôles et leurs permissions d’accès. La sécurité est appliquée de façon hiérarchique via une liste de contrôle d’accès (ACL), permettant de définir des droits en lecture ou en modification à tous les niveaux de la plateforme.

Hébergement sur l'infrastructure de l'Université Laval

Notre mandat inclut également la mise en place de l’hébergement de la nouvelle plateforme. Le site sera déployé sur l’infrastructure OpenShift de l’Université Laval. OpenShift est une plateforme d’applications basée sur Kubernetes (développée par Red Hat) qui permet de déployer et gérer des applications dans des conteneurs, de façon fiable, sécurisée et évolutive. Ce type d’infrastructure, utilisé par de nombreuses grandes organisations, garantit une haute disponibilité du service et facilite les mises à jour sans interruption. Le fait que l’hébergement soit assuré par l’Université Laval elle-même assure également que les données de recherche sensibles restent dans un environnement institutionnel contrôlé.

Le résultat

Vers une solution au goût du jour

Une plateforme sécurisée et pérenne

La migration vers Django permettra à BIGP de reposer sur une technologie maintenue et sécurisée, éliminant les risques liés à l’utilisation d’un framework PHP abandonné. Les chercheurs et le personnel de laboratoire continueront à utiliser les mêmes fonctionnalités, sans interruption ni perte de données.

Un socle pour l’avenir

Au-delà de la simple migration, ce travail établit une base de code moderne et bien structurée qui facilitera l’ajout de nouvelles fonctionnalités dans le futur. Ce projet illustre comment une collaboration entre développement logiciel et recherche scientifique peut assurer la durabilité d’outils essentiels à la production de connaissances.

Collaborateurs