L'interview de Charles et Killian, développeurs de Portabase
Portabase

L'interview de Charles et Killian, développeurs de Portabase

Table des matières

Les interviews sont faites au feeling plutôt qu'en quantité. Aussi, belginux n'est pas un grand magazine tech en ligne ni très doué pour l'exercice. Je suis belge mais pas Tintin, et encore moins l'inverse.

Néanmoins, c'est toujours un plaisir de discuter avec des développeurs qui partagent volontiers leur passion, leur travail, et de vous en faire profiter. Si en plus on utilise sois-même l'application, ce n'est plus qu'un back-end ou un front-end, c'est une histoire complète. L'open source est un terrain propice à l'échange sur les outils qu'on utilise de manière intensive, presque religieuse. Si, si, on en connaît tous un qui est comme ça.

Oui, toi !

Aujourd'hui, j'ai le plaisir de poser quelques questions aux développeurs de Portabase, Charles et Killian, ou Killian et Charles (c'est difficile de trancher), les développeurs derrière Portabase !


🎙️ L'interview

Derrière chaque application se cache une histoire, un besoin, un objectif, qu’est-ce qui a nourri l’envie de vous lancer dans le développement de Portabase ?

Portabase | Les prémices de Portabase remontent à début 2024, avec un besoin interne : pouvoir sauvegarder et restaurer facilement les bases de données PostgreSQL de nos clients, notamment pour effectuer un rollback lors de migrations, à la suite d’une erreur de manipulation sur une base de données ou encore d’une erreur d’un utilisateur depuis un applicatif.

Le projet a commencé avec de simples scripts Python, puis a évolué progressivement jusqu’à mi-2025, où nous l’avons profondément restructuré pour qu’il devienne ce qu’il est aujourd’hui.

Une communauté s’est ensuite progressivement créée autour du projet à partir de fin 2025.

Le nom « Portabase » vient de la contraction de « port » et « database ». L’idée était d’avoir un nom qui reflète cette volonté de rendre la sauvegarde et la restauration de bases de données simples à déployer et à utiliser, un peu dans l’esprit de Portainer avec les conteneurs.

Combien de personnes sont utiles au développement et au maintien de Portabase, quels sont leurs rôles et qui sont-elles ?

Portabase | Portabase a été créé par Charles Gauthereau et Killian Larcher, également fondateurs de Soluce Technologies, un bureau d’ingénierie logicielle spécialisé dans l’open source.

Nous sommes donc tous les deux à maintenir le projet. Aucun de nous n’y travaille à temps plein, nous avons aussi une entreprise à faire tourner ! Parfois, certains employés de Soluce Technologies travaillent également sur le projet.

Depuis la création de la communauté fin 2025, Charles est le principal mainteneur technique, et Killian se concentre davantage sur la communication.

D’un point de vue technique, l’écosystème de Portabase est composé de 3 éléments très liés : le Control Plane, l’Agent et le CLI. La plupart des fonctionnalités nécessitent donc des développements sur les 3 projets, ce qui demande un temps important de développement et de tests. Une partie considérable de notre temps est maintenant aussi consacrée à la communication sur les réseaux sociaux et auprès d’autres acteurs de l’open source, comme toi ! Mais aussi à accompagner la communauté en répondant aux questions et en étudiant les demandes de fonctionnalités.

Il ne faut évidemment pas oublier la communauté, qui joue un rôle majeur dans l’évolution de Portabase. Nous avons besoin d’utilisateurs réels et de retours provenant de cas d’usage concrets, puisque notre objectif est justement d’orienter les développements vers des fonctionnalités répondant à des besoins validés, plutôt que de créer des fonctionnalités uniquement sur la base d’hypothèses.

Si tu devais résumer, de manière accessible, la technique derrière Portabase, quelles en sont les principales composantes et à quoi servent-elles? Comment cela fonctionne-t-il ?

Portabase | Portabase repose sur une architecture distribuée.

D’un côté, nous avons un serveur central, appelé Control Plane, développé en Next.js et TypeScript. Celui-ci gère l’orchestration des agents et les métadonnées.

De l’autre côté, nous avons des agents développés en Rust avec Tokio, qui sont déployés au plus près des bases de données à sauvegarder.

Ces agents se chargent d’exécuter les sauvegardes et les restaurations en s’appuyant sur les outils natifs proposés par les différents moteurs de bases de données, comme pg_dump pour PostgreSQL ou mongodump pour MongoDB.

L’objectif de Portabase n’est donc pas de réinventer ces outils, qui sont éprouvés depuis longtemps, mais d’ajouter une couche d’orchestration permettant de structurer, automatiser et industrialiser l’ensemble du processus de sauvegarde et de restauration, à grande échelle.

Comme vous l’avez mentionné vous-même, il existe plusieurs solutions similaires. Qu’est-ce qui différencie Portabase des autres solutions ?

Portabase | L’un des premiers éléments différenciants de Portabase est son approche « Secure by Design ». Grâce à son fonctionnement distribué, les agents sont déployés au plus près des bases de données et initient eux-mêmes la communication avec le serveur central. Le Control Plane n’établit jamais de connexion entrante vers les infrastructures hébergeant les bases de données, les communications fonctionnent ainsi en mode « outbound only », ce qui limite l’exposition du réseau et simplifie considérablement l’intégration de Portabase dans des infrastructures sécurisées.

Nous travaillons au maximum sur la compatibilité. D’abord installable avec Docker, Portabase est maintenant utilisable sous Podman, Kubernetes, Proxmox, Unraid OS et sur des PaaS comme Coolify ou Dokploy.

Portabase est entièrement open source sous licence Apache 2.0 et auto-hébergeable. Cela permet notamment de garder la maîtrise de son infrastructure, de ses données et de l’endroit où sont stockées les sauvegardes.

Dans quelle mesure les backups effectués par Portabase sont fiables et quelles sont les précautions à prendre malgré que l’on sauvegardes régulièrement nos bases de données ?

Portabase | Pour l’instant, Portabase ne permet pas encore de réaliser des tests de restauration automatisés en environnement sandboxé, c’est donc encore un point à contrôler régulièrement.

Même si ce n’est pas lié à Portabase, la gestion de la sécurité des infrastructures est un point crucial. Si l’accès à un stockage est compromis parce qu’une clé d’accès fuite, cela peut entraîner une perte, fuite ou corruption de données. Il en va de même si votre base de données est exposée sur Internet, que votre serveur n’a pas de pare-feu activé, etc.

Une sauvegarde ne dispense donc pas d’avoir une infrastructure correctement sécurisée.

On entend parler de souveraineté numérique, et je pense qu’il est temps de s’en soucier, Portabase peut-il contribuer à ce principe ?

Portabase | Bien sûr. D’abord, l’auto-hébergement face au SaaS permet de conserver le contrôle sur sa donnée, mais aussi de choisir où elle est hébergée et qui y a accès.

C’est particulièrement important lorsque l’on veut éviter de dépendre de fournisseurs soumis à des lois extraterritoriales, notamment le CLOUD Act aux États-Unis.

Portabase étant open source et auto-hébergeable, vous gardez donc le choix de l’infrastructure, de l’hébergeur et du stockage utilisé pour vos sauvegardes.

Avez-vous une autre version de Portabase que la Community Edition ?

Portabase | Portabase est 100 % open source sous licence Apache 2.0. Il n’existe pas à ce jour de version Enterprise.Cela pourrait arriver dans les prochains mois, notamment pour trouver un modèle économique viable qui fasse perdurer le projet. Cela n’aura évidemment pas d’impact sur les utilisateurs actuels.

Pourquoi avoir fait le choix, et je vous en remercie, de l’open source ?

Portabase | Tout d’abord, l’open source est ancré dans notre philosophie et dans notre vision du logiciel.

Ensuite, Portabase n’est pas financé, nous avons donc besoin de la communauté pour faire évoluer l’écosystème : découvrir des bugs et suggérer des fonctionnalités qui répondent à des cas d’usage réels.

L’open source apporte également un niveau de transparence, et donc de confiance, nécessaire pour un outil qui manipule des données aussi sensibles.

Le code est public et auditable par n’importe qui. C’est d’ailleurs grâce à cette transparence qu’une CVE, donc une vulnérabilité de sécurité, a pu être découverte lors d’un audit réalisé par une personne extérieure au projet, puis corrigée évidemment.

Y a-t-il un autre futur projet dans le coin dans votre tête ?

Portabase | Portabase a vocation à être une solution de sauvegarde plus globale, et pas uniquement centrée sur les bases de données. Cette évolution a d’ailleurs déjà commencé avec l’ajout de la sauvegarde et de la restauration des volumes Docker.

Quel conseil donneriez-vous à quelqu’un qui veut lancer son propre projet open source ?

Portabase | Il faut se lancer. Dès que l’on atteint le stade du PoC (Proof of Concept), il faut commencer à créer une communauté : publier des posts sur Reddit (grosse communauté tech), sur des plateformes comme Medium et Dev.to, voire même sur Twitter. Ça permet de recueillir rapidement des retours, qu’ils soient positifs ou négatifs, et de faire évoluer son produit en fonction des besoins réels des utilisateurs.

Merci beaucoup d'avoir répondu aux questions, et surtout, bonne continuation !

🗣️ GitHub | Discord

GitHub Portabase

GitHub - Portabase/portabase: Portabase - Database backup & restore tool for PostgreSQL, MySQL, MsSQL, MariaDB, Firebird SQL, SQLite, MongoDB, Redis and Docker Volume
Portabase - Database backup & restore tool for PostgreSQL, MySQL, MsSQL, MariaDB, Firebird SQL, SQLite, MongoDB, Redis and Docker Volume - Portabase/portabase

Discord Portabase

Rejoins le serveur Discord Portabase !
Découvre la communauté Portabase sur Discord - discute avec 65 autres membres et profite du chat vocal et textuel gratuit.

zarev

->.<-
🐧 Passionné de self-hosting, je partage ce que je connais et me nourris des connaissances des bonnes âmes qui partagent avec moi. Soutenons l'utilisation des apps open source et leurs développeurs.