IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Quoi de neuf dans Ruby on Rails 8 : avec Rails 8.0 Beta 1, pas de PaaS (platform-as-a-service) requis et intégration avec Kamal 2 pour des déploiements sans soucis

Le , par Jade Emy

217PARTAGES

5  0 
La première version bêta de Rails 8 a été officiellement publiée, apportant un ensemble passionnant de fonctionnalités, de corrections de bugs et d'améliorations. Rails 8 est préconfiguré avec Kamal 2 pour déployer votre application n'importe où. Que ce soit sur une VM dans le cloud ou sur votre propre matériel. Pour réduire le nombre de services accessoires nécessaires pour démarrer, Rails 8 introduit un trio de nouveaux adaptateurs adossés à la base de données avec SQLite, nommés Solid Cable, Solid Cache et Solid Queue.

Ruby on Rails (simplifié en Rails) est un framework d'application web côté serveur écrit en Ruby sous la licence MIT. Rails est un cadre modèle-vue-contrôleur (MVC), qui fournit des structures par défaut pour une base de données, un service web et des pages web. Il encourage et facilite l'utilisation de standards web tels que JSON ou XML pour le transfert de données et HTML, CSS et JavaScript pour l'interface utilisateur. Outre le MVC, Rails met l'accent sur l'utilisation d'autres modèles et paradigmes bien connus du génie logiciel, notamment la convention plutôt que la configuration (CoC), le principe "ne pas se répéter" (DRY) et le modèle de l'enregistrement actif.

La première version bêta de Rails 8 a été officiellement publiée, apportant un ensemble passionnant de fonctionnalités, de corrections de bugs et d'améliorations. Cette version s'appuie sur les fondations de Rails 7.2, tout en introduisant de nouvelles fonctionnalités et optimisations pour rendre le développement Rails encore plus productif et agréable.

Parmi les points forts, citons l'intégration avec Kamal 2 pour des déploiements sans souci, l'introduction de Propshaft en tant que nouveau pipeline d'actifs par défaut, et des améliorations considérables d'ActiveRecord. Rails 8 apporte également plusieurs améliorations à l'intégration de SQLite, ce qui en fait une option viable pour une utilisation en production.


Voici l'annonce de la sortie de Rails 8.0 Beta 1 :


Le déploiement d'applications web modernes - avec toutes les dispositions nécessaires pour être rapides et sûres tout en étant facilement actualisables - est devenu si difficile que de nombreux développeurs n'osent pas le faire sans un PaaS (platform-as-a-service). Mais c'est ridicule. Personne ne devrait avoir à payer des ordres de grandeur plus élevés pour l'informatique de base juste pour rendre le déploiement convivial et utilisable. C'est un travail pour l'open source, et Rails est prêt à le résoudre.

C'était la prémisse de ma présentation ici à Rails World, et c'est la mission de Rails 8. Nous sommes donc ravis de publier la première version bêta de cette nouvelle version à l'occasion de Rails World, ici à Toronto.

Bien qu'il s'agisse d'une version bêta, la grande majorité des éléments inclus ont déjà fait l'objet de tests approfondis. Rails a la chance unique d'avoir d'énormes applications comme Shopify et GitHub, ainsi que de nombreuses autres applications de toutes tailles, qui s'exécutent directement sur la pointe du framework afin de s'assurer que les problèmes sont détectés rapidement.

De plus, tous les nouveaux outils de déploiement, ainsi que Solid Cache et Solid Queue, ont permis à 37signals de sortir du cloud depuis plus de 18 mois dans des applications telles que Basecamp et HEY.

Cependant, il y aura toujours des problèmes avec les nouveaux outils, et nous vous serions reconnaissants de nous aider à les trouver en mettant à jour vos applications vers Rails 8 avant la sortie de la version finale. Faisons en sorte que cette version soit aussi SOLIDE que possible !

Voici les principales nouveautés de cette version :

Intégration Kamal 2 + Thruster

Rails 8 est préconfiguré avec Kamal 2 pour déployer votre application n'importe où. Que ce soit sur une VM dans le cloud ou sur votre propre matériel. Kamal prend une boîte Linux fraîche et la transforme en un serveur d'applications ou d'accessoires avec une seule commande "kamal setup". Tout ce dont il a besoin, ce sont les adresses IP d'un ensemble de serveurs avec votre clé SSH déposée, et vous serez prêt à passer en production en moins de deux minutes.

Kamal peut faire cela si facilement parce que Rails est déjà livré avec un fichier Docker très efficace et réglé pour transformer votre application en une image de conteneur prête pour la production dès la sortie de la boîte. Tout ce dont vous avez besoin, c'est de votre propre compte de registre de conteneurs, comme Docker Hub ou GitHub, pour stocker les images.

Dans Rails 8, ce fichier Docker a été mis à jour pour inclure un nouveau proxy appelé Thruster, qui se trouve devant le serveur web Puma pour fournir l'accélération X-Sendfile, la mise en cache des actifs et la compression des actifs. Cela signifie qu'il n'est pas nécessaire de mettre un Nginx ou tout autre serveur web devant. Le conteneur Rails par défaut est prêt à accepter le trafic de l'internet immédiatement.

Kamal 2 inclut également un proxy, cette fois une unité sur mesure appelée Kamal Proxy pour remplacer l'option générique Traefik utilisée au lancement. Ce proxy fournit des déploiements super rapides sans temps d'arrêt, des certificats SSL automatisés via Let's Encrypt, et un support pour de multiples applications sur un seul serveur sans aucune configuration compliquée.

Avec une stratégie révisée pour gérer les secrets (avec une intégration intégrée pour 1password, Bitwarden, et LastPass) et une nouvelle fonctionnalité d'alias pour obtenir des commandes comme "kamal console" pour démarrer une session de console Rails à distance, il fournit un ensemble complet pour gérer non seulement le déploiement mais aussi l'exploitation de votre application en production.


Une solide réduction des dépendances

Pour faciliter le déploiement de Rails, il faut notamment réduire le nombre de services accessoires nécessaires pour démarrer. Dans le passé, Rails avait...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !