3 points par GN⁺ 2025-11-29 | 1 commentaires | Partager sur WhatsApp
  • PocketBase est un backend open source à fichier unique en temps réel
  • Il intègre une base de données performante incorporée avec constructeur de schéma, validation des données, abonnements en temps réel et REST API
  • La gestion des utilisateurs est simplifiée grâce à la connexion par e-mail/mot de passe et à la connexion OAuth2 (Google, Facebook, GitHub, GitLab)
  • Il est possible de stocker des fichiers en toute sécurité en local ou sur S3 Storage et d’associer des médias aux enregistrements de la base de données pour générer des miniatures automatiquement
  • PocketBase peut être utilisé comme une application autonome ou comme un framework extensible en Go et JavaScript, ce qui le rend pratique pour créer un backend léger sur mesure

Présentation de PocketBase

  • PocketBase est une plateforme backend open source qui fonctionne avec un seul fichier exécutable
    • Base de données, authentification, stockage de fichiers et tableau de bord d’administration fournis de manière intégrée
    • Une architecture qui peut être démarrée rapidement sans configuration de serveur distincte

Fonctionnalités de base de données

  • Intégration d'une base de données embarquée avec constructeur de schéma, validation des données, abonnements en temps réel et REST API
    • Détection et abonnement aux changements de données en temps réel
    • Consultation, création, modification et suppression de données possibles facilement via la REST API

Authentification des utilisateurs

  • Prise en charge de la gestion des utilisateurs de l'application et de la connexion par e-mail/mot de passe
  • OAuth2 permet l’inscription et la connexion avec des comptes Google, Facebook, GitHub, GitLab

Stockage de fichiers

  • Les fichiers peuvent être stockés en toute sécurité en local ou sur S3 Storage
    • Possibilité de joindre des fichiers médias aux enregistrements de la base de données
    • La création automatique de miniatures est disponible lors du téléversement

Évolutivité et support développeur

  • PocketBase peut être utilisé comme une application autonome ou exploité comme un framework extensible via des hooks Go et JavaScript
    • Les développeurs peuvent ajouter leur propre logique pour implémenter un backend personnalisé

Exemple de SDK JavaScript

  • Le SDK JavaScript permet d’interagir avec le serveur PocketBase
    • L’exemple de code montre la liste des enregistrements de la collection example, la consultation, la suppression et la création d'un seul enregistrement, ainsi que l'abonnement et la désinscription en temps réel
    • Les méthodes pb.collection('example').getList(), getOne(), create(), delete(), subscribe() sont proposées

1 commentaires

 
GN⁺ 2025-11-29
Avis Hacker News
  • Dire que « SQLite ne passe pas à l’échelle » relève le plus souvent de l’illusion de l’optimisation prématurée
    En pratique, on atteint rarement les limites de contention du WAL, et la simplicité d’un binaire unique me semble largement préférable à la complexité des systèmes distribués
    Aujourd’hui, même les petits projets ajoutent par réflexe un cluster de base de données et un cache Redis, mais Pocketbase montre bien que, dans 99 % des applis CRUD, le goulot d’étranglement n’est pas la base de données, mais la latence réseau et le temps d’administration du développeur

    • Pour la plupart des applis, le vrai goulot d’étranglement, plus que la technique, c’est l’acquisition d’utilisateurs
    • J’héberge mon blog perso sur le droplet DigitalOcean le moins cher avec SQLite
      J’ai fait des tests avec un benchmark CLI en Rust, et les performances étaient meilleures que MySQL ou Postgres sur la même machine
      À cette échelle, SQLite est le meilleur choix
    • En revanche, l’absence de type decimal rend SQLite difficile à utiliser pour les calculs financiers
      Il faut gérer tous les calculs côté application, ce qui est pénible
  • Quand je vois Pocketbase, je mets immédiatement un upvote
    Je l’utilise sur plusieurs applis en production et c’est très stable
    Il y a parfois des changements cassants, mais dans l’ensemble c’est excellent et ça passe bien à l’échelle
    Quand il manque une fonctionnalité, ça peut être un peu délicat, mais pour un développeur expérimenté, ça reste tout à fait gérable

    • J’adore la phrase de la FAQ : « Si vous n’avez même pas le temps de lire la documentation et que vous comptez uniquement sur des outils d’IA, n’utilisez pas Pocketbase »
    • Je pense pareil. Je l’ai étendu en JS et ça marche très bien
      En revanche, comme il n’y a qu’un seul développeur, je m’inquiète pour la maintenance à long terme
      Cela dit, c’est un très bon choix quand il faut séparer le front et le back
    • Je serais curieux de savoir quels types d’applis en production vous faites tourner avec Pocketbase
  • J’utilise beaucoup Pocketbase pour des projets perso et des outils internes
    Avec PocketPages, on peut facilement utiliser du routage basé sur les fichiers et des templates
    La fonctionnalité de migration de base de données automatique permet d’inclure les changements de schéma dans le versioning
    J’y ai même branché un serveur du protocole Gemini pour parcourir mon graphe de connaissances personnel avec Lagrange

    • J’envisage de l’héberger sur un Raspberry Pi 5, et je me demande quels sont les besoins en performance et s’il y a des contraintes particulières par rapport à Supabase
    • Je ne sais pas ce qu’est Lagrange. Ça ne ressemble pas à un projet lié aux LLM ni aux graphes de connaissances
  • Pocketbase est un serveur backend configurable via une interface graphique
    On peut créer un backend fonctionnel presque sans code, ce qui le rend adapté aux prototypes, aux MVP et aux applis simples
    C’est Firebase qui a popularisé ce concept

    • Je me demande concrètement ce que ça fait
      Les backends que j’écris nécessitent des centaines voire des milliers de lignes de code ; j’aimerais comprendre comment ça remplace cela
      Je suis curieux de connaître l’étendue des applis qu’on peut construire avec ce genre d’outil
    • Les exemples sur la page d’accueil me font penser à Parse
  • J’ai testé Pocketbase sur un side project et j’ai été vraiment impressionné
    Je travaille avec Django depuis longtemps, et pour les projets petits à moyens, Pocketbase est bien plus adapté que de construire soi-même un backend traditionnel
    Si vous avez des questions, j’y répondrai volontiers

    • L’intégration GIS de Django est excellente ; je me demande ce qu’il en est avec Pocketbase
      Et j’aimerais aussi savoir s’il prend en charge PostgreSQL ou s’il est limité à SQLite
    • Je suis aussi curieux de savoir à quel point la migration est simple depuis un backend existant basé sur SQLite
    • Je l’ai aussi utilisé sur un projet perso, mais les LLM confondent sans cesse la manière d’interagir avec Pocketbase
      J’ai donc créé une Claude Skill ; je me demande si d’autres ont eu la même expérience
  • Trailbase est une implémentation du même concept en Rust

    • Il existe une page de comparaison
    • J’apprécie qu’ils n’aient pas omis les commandes curl dans leurs exemples, ça m’a rendu Trailbase sympathique
    • Pocketbase repose sur SQLite, mais l’absence de colonnes NULLABLE m’a gêné
      Je suis donc passé à Trailbase
    • Trailbase peut exécuter du JS sur ses endpoints
      Autrement dit, il peut aussi héberger l’application complète
      Lien vers le guide
    • Vu sous cet angle, Pocketbase pourrait malgré tout sembler plus séduisant
  • J’utilise Pocketbase comme couche d’authentification pour un side project
    C’est en production sur kavla.dev, et son système de hooks est excellent
    La documentation des hooks d’événements Go facilite aussi beaucoup l’automatisation de l’infrastructure

  • J’ai rapidement construit un MVP avec SQLite et DuckDB, mais je l’ai regretté plus tard au moment de la sauvegarde et du passage en production
    Si j’avais commencé directement avec Supabase, cela aurait sans doute été plus simple

  • J’ai créé OpenSOHO avec Pocketbase, et cela m’a fait gagner énormément de temps de développement
    J’ai légèrement modifié le backend pour le rendre réutilisable, mais ce n’était pas difficile
    Rien qu’en regardant les captures d’écran, on reconnaît immédiatement la patte de Pocketbase
    Lien GitHub

  • Comme les sauvegardes SQLite de Pocketbase m’inquiétaient, j’ai créé moi-même sqlrsync.com, un outil qui permet de sauvegarder avec sqlite3_rsync même pendant l’exécution
    Le MVP fonctionne, il repose sur Cloudflare Durable Objects, donc c’est rapide et fiable
    Tous les retours sont bienvenus

    • J’aime aussi beaucoup SQLite. J’utilise une réplication continue avec litestream ; est-ce que vous utilisez par hasard SQLite rsync ?
    • Je me demande si vous avez essayé l’API de sauvegarde en ligne de SQLite. Il vaut sans doute mieux éviter l’accès direct au fichier brut
    • J’aimerais comprendre la différence entre sqlrsync et litestream