Olivier Banville, souriant, en noir et blanc

Bonjour, moi c’est Olivier!

Je suis développeur, et je m’occupe aussi de l’infrastructure. Ces temps-ci, c’est pour un programme de recherche en génomique à l’Université Laval; à la maison, c’est un homelab qui a pris un peu trop de place.

CV (PDF) Me contacter CV complet

Recherche

Plateformes de données de recherche

Chez Genovalia, je m’occupe de l’endroit où vivent les données de recherche : le catalogue, les schémas et les standards de métadonnées, l’API dont se servent les autres outils, et le cluster OpenShift où tout ça roule.

en développement depuis
2010
ans de logiciels pour la recherche
8+
en production sur OpenShift depuis
2022
langues de travail
FR · EN

Dev

Des applications web, jusqu’en production

Je développe des applications web, de l’API à la page, et je m’occupe aussi de la suite : conteneurs, CI/CD, identités et accès. J’aime rester sur un projet une fois qu’il est en ligne.

  1. Push
  2. Tests et accessibilité
  3. Build et déploiement
  4. Vérification

Labo et loisirs

Le homelab

Quelques machines à la maison où j’essaie des choses : un LLM local avec une passerelle devant, mes notes en graphe de connaissances que je peux interroger, et des serveurs MCP pour que les assistants d’IA puissent se servir des deux.

  • Docker Swarm
  • Caddy
  • GitHub Actions
  • Gatus
  • LLM locaux
  • MCP

Infrastructure de recherche

Tous les projets
  • 2022– · Actif

    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.

    • Python
    • FastAPI
    • PostgreSQL
  • 2022– · Actif

    Normes de métadonnées en génomique animale

    Des descriptions de jeux de données selon DCAT en JSON-LD, avec vocabulaires contrôlés, correspondances ontologiques, schémas OCA et validation automatisée, pour que les jeux de données de génotypage publics soient curés une fois et réutilisés d’un projet à l’autre.

    • DCAT
    • JSON-LD
    • OCA
  • 2022– · Actif

    Identité de la plateforme de recherche

    L’authentification unique des applications de Genovalia avec Keycloak, OpenID Connect et ORCID, et les rôles de l’équipe interne et des partenaires externes.

    • Keycloak
    • OpenID Connect
    • ORCID
  • 2018–2023 · Terminé

    Analyse de contenu automatisée

    Des pipelines d’apprentissage automatique sur de grands corpus de textes politiques et médiatiques pour la recherche quantitative en sciences sociales à la CLESSN, évalués sur des échantillons codés à la main.

    • Python
    • R
    • Apprentissage automatique
  • 2018–2023 · Terminé

    Plateforme de sondage et d’analyse de saillance

    Un seul outil pour concevoir des questionnaires, recueillir les réponses et analyser la saillance des enjeux, utilisé par les chercheurs et les étudiants de la CLESSN.

    • Python
    • Django
    • PostgreSQL
  • Ce que je fais

    Apprentissage automatique et outils LLM

    Apprentissage automatique sur de grands corpus de textes, vérifié contre un codage humain; et maintenant des LLM locaux, des serveurs MCP, et les règles de ce qu’ils ont le droit de faire.

Logiciel et exploitation

Tous les projets
  • Ce que je fais

    Sites et applications web

    De l’API à la page. FastAPI et Django pour le back-end; SvelteKit, Vue et Nuxt pour le front-end; Wagtail pour les sites de contenu. Ce site-ci en est un.

  • Ce que je fais

    Conteneurs et hébergement

    OpenShift et Kubernetes en production, Docker Swarm et Caddy pour les plus petits parcs. Je les mets en place, je les surveille, je les mets à jour, je fais les backups et je répare quand quelque chose brise.

  • Ce que je fais

    CI/CD et automatisation

    GitHub Actions, avec mes propres runners quand ça vaut la peine, et des manifestes Kustomize. Chaque push est testé, un push sur main déploie, un mauvais déploiement revient en arrière tout seul, et les dépendances restent à jour.

  • Ce que je fais

    Identités, accès et Microsoft 365

    L’authentification des plateformes avec Keycloak, OpenID Connect et ORCID, avec des rôles pour chaque équipe et partenaire; et Microsoft 365 et Exchange : comptes, administration et migrations.

  • 2018–2023 · Terminé

    Projet Quorum

    Le backend Django d’une plateforme de participation citoyenne.

    • Python
    • Django
    • PostgreSQL
  • En ligne

    Ce site

    Du HTML simple généré d’avance avec SvelteKit, en deux langues. Une politique de sécurité stricte (aucun script externe), des aperçus et un CV PDF générés au build, et des vérifications d’accessibilité dans ses tests.

À la maison

Tous les projets
  • 2026– · Actif

    Graphe de connaissances personnel

    Mes notes, les gens, les lieux, les projets et les tâches dans un graphe typé avec recherche sémantique, et un serveur MCP pour qu’un assistant d’IA classe les choses à ma place.

    • Python
    • FastAPI
    • PostgreSQL
  • 2026– · Actif

    Tâches pour un LLM local

    Un petit service devant le LLM qui roule sur mon propre GPU : les autres applications appellent une tâche par son nom et reçoivent une décision, un document JSON ou du texte, sans rien savoir des prompts ni des modèles.

    • Python
    • FastAPI
    • PostgreSQL
  • 2026– · Actif

    Automatisations du homelab

    Mes automatisations à la maison en petits scripts Python : une IA peut les écrire, mais j’approuve chacun, et ils roulent dans un sandbox qui ne peut faire que ce qu’ils ont déclaré.

    • Python
    • FastAPI
    • PostgreSQL
  • 2026– · Actif

    Journal d’événements

    Une timeline de ce qui s’est passé : lieux, achats, voyages, déploiements. Mes applications et mes assistants d’IA y écrivent, et je peux lui demander ce qu’on a fait le printemps passé.

    • Python
    • FastAPI
    • PostgreSQL
  • 2026– · Actif

    Page d’accueil du navigateur

    La page qu’ouvre mon navigateur : l’heure et la météo sur une scène dessinée qui suit le moment de la journée, mes liens, et des cartes de mon agenda, de mes courriels et de mes notes.

    • Python
    • FastAPI
    • PostgreSQL
  • 2026– · Actif

    Épicerie et menus de la semaine

    Une liste d’épicerie qui se classe toute seule par rangée, et un menu de la semaine avec nos recettes. La liste est dans Home Assistant : tout le monde à la maison peut y ajouter quelque chose.

    • Python
    • FastAPI
    • SQLite
  • Homelab

    Le cluster

    Docker Swarm derrière une passerelle Caddy, un runner CI self-hosted, des health checks et un déploiement à chaque push pour toutes les applications, ce site compris.

Où j’ai travaillé

  • Genovalia
  • CRDM
  • Université Laval
  • CLESSN
  • Edgenda
  • Fujitsu
  • ACPE inc.
  • Frima Studio

CV complet

On s’en parle

Vous travaillez sur une plateforme de données de recherche, ou vous démêlez qui a accès à quoi entre équipes? Écrivez-moi, ça me fait toujours plaisir d’en discuter!

[email protected] CV (PDF)