2 points par GN⁺ 2026-03-13 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • En créant une application de gestion de setlists (setlist.rocks) pour son groupe, l’auteur a redécouvert avec plaisir le développement en Ruby on Rails
  • Le récent Rails 8 conserve la structure MVC traditionnelle tout en se modernisant avec un frontend “no-build” basé sur Hotwire (Stimulus·Turbo), ainsi que Solid Cache/Queue/Cable
  • SQLite a été suffisamment optimisé pour convenir à un service en production avec la configuration par défaut, et l’outil de déploiement Kamal simplifie les déploiements sans interruption basés sur des conteneurs
  • Grâce à la philosophie “la convention plutôt que la configuration” de Rails et à son riche écosystème de gems, il est possible de passer rapidement de l’idée au prototype
  • La popularité de Ruby et Rails a diminué par rapport à autrefois, mais ils restent un framework OSS mature et cohérent qui procure toujours du plaisir à développer

Projet annexe et retour à Rails

  • Afin de gérer les setlists et les notes de morceaux de son groupe, l’auteur a développé lui-même une web app, cherchant une approche plus efficace que les feuilles de calcul ou le chat
  • Au cours du développement, il a de nouveau ressenti la simplicité et la productivité de Rails, et explique avoir retrouvé un “plaisir pur de développer” face à la complexité récente de l’écosystème web
  • Ruby est toujours considéré comme un langage à la syntaxe naturelle et expressive, qui facilite la traduction de la pensée en code
  • Selon l’enquête Stack Overflow 2025, la popularité de Ruby et Rails a baissé, mais ils restent appréciés pour les projets personnels

Évolutions de Rails 8 et frontend

  • Rails 8 conserve la structure MVC existante tout en proposant une intégration frontend basée sur Hotwire (Stimulus·Turbo)
    • Turbo intercepte les clics sur les liens et les soumissions de formulaires pour offrir une réactivité de niveau SPA
    • Stimulus ajoute du comportement JS uniquement là où c’est nécessaire, ce qui permet de créer une UI interactive avec un minimum de JavaScript
  • Avec Importmap, il est possible de charger directement des bibliothèques JS depuis un CDN sans Webpack ni npm
  • L’auteur a utilisé des outils d’IA pour générer l’UI, tout en exprimant ses interrogations sur le rapport entre création et dimension artistique du code

Workflow de développement et productivité

  • La philosophie “la convention plutôt que la configuration (Convention over Configuration)” de Rails permet de mettre rapidement en place modèles, routage, contrôleurs et vues
    • L’exemple montre la génération d’un modèle Tag, l’automatisation du routage RESTful et le traitement des réponses JSON
  • Les templates ERB et le live reload permettent un prototypage rapide
  • Le riche écosystème de gems permet d’intégrer facilement diverses fonctionnalités comme le CSV ou le PDF

Améliorations backend : série Solid* et SQLite

  • Solid Cache/Queue/Cable est inclus par défaut dans Rails 8, ce qui permet de gérer cache, file de jobs et WebSocket sans Redis
    • Solid Cache utilise un cache basé sur la base de données pour économiser la RAM et simplifier l’architecture
    • Solid Queue gère les tâches en arrière-plan via la base de données, avec une exécution possible via le seul réglage SOLID_QUEUE_IN_PUMA=1
    • Solid Cable fournit un adaptateur Action Cable basé sur la base de données pour les fonctionnalités temps réel
  • SQLite applique par défaut des optimisations comme le mode WAL et la synchronisation NORMAL via le réglage pragmas: dans database.yml
    • Il peut ainsi être utilisé de manière pratique dans de petits environnements de production sans serveur de base de données séparé

Automatisation du déploiement et Kamal

  • En rappelant la complexité des déploiements passés basés sur Capistrano et Ansible, l’article présente Kamal comme l’outil de déploiement par défaut de Rails 8
    • Il automatise la séquence construction de conteneur → push → déploiement sur serveur → health check → bascule sans interruption
    • kamal-proxy prend en charge la bascule du trafic et le traitement SSL
    • Le fichier .kamal/secrets permet une gestion sécurisée des secrets fondée sur des variables d’environnement
  • Intégré à GitLab CI, le déploiement peut se faire avec un simple git push, retrouvant la simplicité d’Heroku d’autrefois

Authentification et autres fonctionnalités

  • Rails 8 fournit un générateur d’authentification intégré (auth generator), permettant de construire un système d’authentification plus simple que Devise
  • Devise reste utile grâce à ses fonctionnalités riches et à sa documentation, mais la simplicité de l’authentification native de Rails est également présentée comme séduisante

État actuel et durabilité de l’écosystème Rails

  • La popularité de Ruby et Rails a diminué, mais des services majeurs comme Shopify·Basecamp·SoundCloud·GitHub les utilisent toujours
  • De nombreuses gems sont entrées dans une phase de maintenance, mais Rails conserve un cycle de publication régulier chaque année
  • L’article le décrit comme “un framework dans lequel il est toujours agréable de développer”, même si l’arrivée de nouvelles générations de développeurs a ralenti

Conclusion

  • Rails s’est tenu à l’écart des tendances les plus récentes, mais il est mis en avant comme un outil qui redonne le plaisir de développer et la simplicité
  • En privilégiant le plaisir de créer et la créativité plutôt que la popularité, l’article se conclut sur un message simple : “essayez Rails à nouveau”

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.