Catégorie : Développement

  • La Bête, projet exploratoire

    La Bête est un projet d’application narrative interactive, amorcé comme une exploration créative autour du récit, du jeu et de l’expérience utilisateur.

    L’objectif initial était de concevoir une plateforme permettant de créer et de vivre des histoires interactives, où le lecteur devient acteur du récit. Le projet m’a permis d’expérimenter différentes idées liées à la structure narrative, à la progression, à la persistance des choix et à la conception d’outils de création.
    Le projet est actuellement inachevé et en pause. Il demeure toutefois un terrain d’expérimentation important, tant sur le plan technique que conceptuel, et a influencé ma façon d’aborder la conception d’applications plus concrètes et orientées métier.
    Certaines idées explorées dans La Bête trouvent aujourd’hui un écho plus pragmatique dans d’autres projets, notamment dans la manière de concevoir des interfaces simples, évolutives et centrées sur l’utilisateur.

    Pour essayer La Bête, rendez-vous sur le site (non sécurisé…), créez un compte et allez vers le bois. Le village n’est pas encore créé mais vous pourrez quand même tester le petit moteur de combat.

    http://la-bete.atwebpages.com/

    Aperçu du module de combat
  • Dexie

    Dexie

    Quand j’ai commencé à travailler sur le mode hors ligne de Farmitrax, une application web de gestion de ferme laitière, j’ai rapidement compris que le choix de la couche de stockage locale allait être critique.

    Connexion instable, utilisateurs peu techniques, données sensibles, besoin de fiabilité : ce n’était pas un “offline sympa”, mais une vraie contrainte métier.

    Dans cet article, je partage mon retour d’expérience avec Dexie : pourquoi je l’ai choisi, ce que ça m’a apporté, les pièges que j’ai rencontrés, et dans quels cas je le recommanderais (ou pas).

    Le contexte : pourquoi le offline était non négociable

    • Producteurs en zone rurale
    • Connexion cellulaire intermittente
    • Saisie de données sur le terrain (étable, pâturage, déplacements)
    • Impossible de dire à un utilisateur : « reviens quand tu auras du réseau »

    Le offline n’était pas un bonus, c’était une condition de survie de l’application.

    Pourquoi Dexie plutôt que l’IndexedDB “pure”

    • IndexedDB est puissante mais pénible
    • API verbeuse
    • Callbacks / promesses difficiles à lire
    • Risque d’erreurs silencieuses
    • Schéma déclaratif
    • Syntaxe fluide
    • Gestion des versions de base
    • Performance très correcte pour des volumes raisonnables

    Dexie apporte une couche d’abstraction très propre : schémas clairs, requêtes lisibles, transactions compréhensibles. Pour un développeur solo, ça compte énormément.

    Ce que Dexie fait très bien en pratique

    • Cache structuré des données métier
    • Lecture instantanée hors ligne
    • Réactivité de l’interface
    • Développement plus rapide qu’avec IndexedDB natif

    Pour le CRUD local pur, Dexie est un vrai plaisir.

    Là où Dexie commence à montrer ses limites

    Synchronisation

    • Dexie ne résout pas la sync serveur
    • File d’attente, conflits, retries → à faire soi-même

    🔹 Logique métier

    • Le offline force à repousser de la logique côté client
    • Risque de divergence si mal conçu

    🔹 Debugging

    • IndexedDB reste opaque
    • Debug plus lent que du SQL classique

    Dexie simplifie IndexedDB, mais ne supprime pas la complexité conceptuelle du offline.

    Ce que j’ai appris (et referais différemment)

    • Définir le périmètre offline exact dès le départ
    • Séparer clairement :
      • données locales
      • état de synchronisation
      • source de vérité
    • Ne pas sous-estimer le coût mental du offline

    Le offline, ce n’est pas une feature. C’est une architecture.

    À qui je recommande Dexie (et à qui non)

    ✅ Je recommande Dexie si :

    • Application métier
    • Développeur solo ou petite équipe
    • Besoin offline réel
    • Données structurées

    ❌ Je serais plus prudent si :

    • Synchronisation complexe multi-utilisateurs
    • Besoin temps réel strict
    • Équipe backend très lourde

    Conclusion

    Dexie.js a été un excellent choix pour mon cas d’usage, mais ce n’est pas une solution magique.

    Il faut accepter que le offline impose des compromis architecturaux, et Dexie rend ces compromis plus lisibles, pas inexistants.

    Si vous construisez une application web sérieuse avec de vraies contraintes terrain, Dexie mérite clairement sa place dans votre boîte à outils.