Créez un gestionnaire de tâches full-stack en Gleam : un seul langage, tous les plateformes !

Créez un gestionnaire de tâches full-stack en Gleam : un seul langage, tous les plateformes !

Avr 30, 2026 gleam full-stack development type safety web architecture backend development frontend development cross-platform apps erlang lustre tauri

Créer un gestionnaire de tâches full-stack avec Gleam : un seul langage pour tous les fronts

Le rêve d'un code unique pour tous les environnements existe depuis des années. Java, Electron, React Native ou Flutter ont essayé. Et si la solution se cachait dans le choix du langage dès le départ ?

Découvrez Gleam : un langage typé statiquement qui compile vers Erlang pour le backend et JavaScript pour le frontend. Résultat : un développement full-stack vraiment unifié. On passe aux choses sérieuses avec un exemple concret : une app de gestion de tâches.

L'idée : un code, plusieurs cibles

On parle ici d'un vrai partage. Pas comme les frameworks qui limitent à un type de déploiement. Gleam compile le même code source vers des runtimes différents.

Notre app, Doable, reste basique : créer, lire, modifier, supprimer des tâches. Mais sous cette simplicité se cache une stack complète :

  • API HTTP JSON sur Erlang avec PostgreSQL
  • Interface web réactive dans le navigateur
  • Apps desktop pour Windows, macOS et Linux via Tauri
  • Apps mobiles iOS et Android, toujours avec Tauri

Tout ça. Un seul langage. Un seul système de types. Une seule logique de validation.

Architecture : dev et prod à l'unisson

Le quotidien des devs

En dev, on veut du feedback rapide. Docker pour la base et l'API. Hot reload pour tous les fronts. Tests d'intégration sans rebuild constant.

Ça donne :

  • PostgreSQL en Docker, bases séparées pour dev et test
  • Serveur Gleam en Docker ou local
  • Un serveur Lustre unique pour hot reload web, desktop et mobile
  • Proxy API pour éviter les CORS
  • Tests directs sur le router avec base test dédiée

Vitesse dev = productivité. Attendre 30 secondes par changement, c'est de la perte de temps.

En production, tout s'emboîte

Là, ça simplifie. Tout en Docker. Caddy gère l'entrée : proxy vers l'API Gleam et serveur de fichiers pour le front compilé.

Côté web : front via Caddy, API via le même proxy. Desktop et mobile ? Même front bundlé localement, mais appels API via Tauri vers Caddy. Optimisé par plateforme, unifié au cœur.

La stack technique décortiquée

Backend : la robustesse d'Erlang

L'API compile vers Erlang avec Wisp et Mist. Vous héritez de la concurrence, tolérance aux pannes et distribution d'Erlang – du solide, testé en télécom depuis des décennies.

PostgreSQL assure la persistance relationnelle fiable.

Le code partagé : le vrai atout

Gleam brille avec un projet shared : lib multi-cible pour Erlang et JS. Types, validation, sérialisation – tout commun. Changez une structure de tâche, tout se met à jour partout.

Adieu mismatches types front/back. Le compilateur traque les incohérences avant runtime.

Frontend : patterns Elm

Le web repose sur Lustre et l'architecture Elm : gestion d'état UI prévisible et testable. Si vous connaissez Elm, c'est du familier. Sinon, adoptez-la : c'est la référence pour du front solide.

Desktop et mobile reprennent les mêmes patterns.

Pourquoi ça change la donne pour vos projets

La sécurité types full-stack compte de plus en plus. Voici les gains :

Refactoring sans peur. Modifiez un champ en base, mettez à jour les types shared : le compilateur liste les 47 endroits à corriger.

Cohérence multi-plateforme gratuite. Une validation Gleam, compilée partout – fin des doublons en TS, Swift ou Kotlin.

Onboarding rapide. Une langue, un système de types. Pas trois écosystèmes à maîtriser.

Ops simplifiées. Moins de langues = moins de dépendances, déploiements et surprises.

La réalité du terrain

Gleam va-t-il tout révolutionner ? Pas sûr. Son éco est petit face à TypeScript ou Python – recruter et libs limitées. Mais pour des projets neufs full-stack, où types et unification priment, ça élimine des bugs entiers.

Doable est simple exprès. Ça prouve que l'archi tient à petite échelle. Les vraies apps complexifient, mais le principe reste : compiler une fois, valider partout, déployer multi.

Pour démarrer

Curieux ? La courbe d'apprentissage est raide mais accessible. Syntaxe inspirée de JS, Python, Rust. Types puissants sans exigence immédiate.

Commencez par le backend Erlang. Montez votre API. Ajoutez Lustre au front. Voyez les types shared chasser les bugs. Une fois goûté l'unification, les approches fragmentées semblent datées.

L'avenir full-stack ? Pas forcément plus d'outils par couche. Plutôt le bon langage pour toutes les couches.


Prêt pour du full-stack Gleam ? Plongez dans la doc Gleam. Imaginez votre prochain projet avec compilation typesafe multi-plateforme.

Read in other languages:

RU BG EL CS UZ TR SV FI RO PT PL NB NL HU IT ES DE DA ZH-HANS EN