<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Forum du club des développeurs et IT Pro - Ruby on Rails</title>
		<link>https://www.developpez.net/forums/</link>
		<description>Le forum sur le framework Ruby on Rails. Voir aussi la FAQ RoR et les cours RoR.</description>
		<language>fr</language>
		<lastBuildDate>Wed, 06 May 2026 05:55:52 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>15</ttl>
		<image>
			<url>https://forum.developpez.be/images/misc/rss.png</url>
			<title>Forum du club des développeurs et IT Pro - Ruby on Rails</title>
			<link>https://www.developpez.net/forums/</link>
		</image>
		<item>
			<title><![CDATA[Ruby on Rails 8.1 apporte des continuations de tâches actives et des rapports d'événements structurés]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2180108&amp;goto=newpost</link>
			<pubDate>Mon, 27 Oct 2025 10:02:01 GMT</pubDate>
			<description>*Le framework web Ruby on...</description>
			<content:encoded><![CDATA[<div><b><font size="4">Le framework web Ruby on Rails 8.1 est disponible et apporte des continuations de tâches actives, des rapports d'événements structurés et une intégration continue locale</font></b><br />
<br />
<b>Ruby on Rails 8.1 est désormais disponible et introduit plusieurs mises à jour concernant le déploiement, les tests et les workflows des développeurs. Parmi les nouvelles fonctionnalités, les tâches de longue durée peuvent désormais être divisées en étapes distinctes, ce qui permet de reprendre l'exécution à partir de la dernière étape terminée après un redémarrage. Cette amélioration est utile pour les déploiements utilisant Kamal, qui limite les conteneurs d'exécution des tâches à une fenêtre d'arrêt de trente secondes.</b><br />
<br />
Ruby on Rails (simplifié en Rails) est un framework d'applications web côté serveur écrit en Ruby sous licence MIT. Rails est un framework model–view–controller (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 normes web telles que JSON ou XML pour le transfert de données et HTML, CSS et JavaScript pour l'interface utilisateur. En plus du MVC, Rails met l'accent sur l'utilisation d'autres modèles et paradigmes d'ingénierie logicielle bien connus, notamment la convention plutôt que la configuration (CoC), ne vous répétez pas (DRY) et le modèle d'enregistrement actif.<br />
<br />
Ruby on Rails 8.1 est désormais disponible et introduit plusieurs mises à jour concernant le déploiement, les tests et les workflows des développeurs. Parmi les nouvelles fonctionnalités, les tâches de longue durée peuvent désormais être divisées en étapes distinctes, ce qui permet de reprendre l'exécution à partir de la dernière étape terminée après un redémarrage. Cette amélioration est utile pour les déploiements utilisant Kamal, qui limite les conteneurs d'exécution des tâches à une fenêtre d'arrêt de trente secondes.<br />
<br />
En parallèle, Rails 8.1 ajoute un nouveau rapporteur d'événements, qui permet une journalisation structurée des événements et améliore le post-traitement des journaux au-delà de ce qui est possible avec le journaliseur par défaut du framework, convivial pour les humains. En réponse aux améliorations de performances des machines modernes des développeurs, Rails a également introduit un langage spécifique au domaine de déclaration CI par défaut défini dans config/ci.rb et exécuté par bin/ci. Ce changement est motivé par la possibilité d'exécuter localement de grandes suites de tests en quelques minutes, éliminant ainsi le besoin de configurations d'intégration continue entièrement basées sur le cloud pour les petits projets.<br />
<br />
Grâce à ces améliorations, les développeurs peuvent désormais rendre plus facilement les réponses Markdown directement. Kamal offre une plus grande flexibilité, car les secrets sont accessibles à partir des identifiants Rails cryptés et un registre d'images distant n'est plus nécessaire pour les déploiements de base. Des mises à jour supplémentaires permettent aux développeurs de marquer les associations Active Record comme obsolètes. Rails 8.1 apporte également d'autres améliorations et corrections de bogues.<br />
<br />
<div style="text-align: center;">
<div class="video-container"><iframe class="restrain" title="YouTube video player" width="560" height="315" allowfullscreen src="//www.youtube.com/embed/jXxlKo_Neqo?wmode=transparent&amp;fs=1" frameborder="0"></iframe></div>
</div><br />
<b>Poursuite des tâches actives</b><br />
<br />
Les tâches de longue durée peuvent désormais être divisées en étapes distinctes, ce qui permet de poursuivre l'exécution à partir de la dernière étape terminée plutôt que de recommencer depuis le début après un redémarrage. Cela est particulièrement utile lors des déploiements avec Kamal, qui ne laisse que trente secondes aux conteneurs exécutant des tâches pour s'arrêter par défaut.<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">class</span> ProcessImportJob <span style="color:#006600; font-weight:bold;">&lt;</span> ApplicationJob
  <span style="color: #0000ff;">include</span> ActiveJob::Continuable
&nbsp;
  <span style="color: #0000ff;">def</span> perform<span style="color:#006600; font-weight:bold;">&#40;</span>import_id<span style="color:#006600; font-weight:bold;">&#41;</span>
    <span style="color:#006600; font-weight:bold;">@</span>import = Import.<span style="color: #0080ff;">find</span><span style="color:#006600; font-weight:bold;">&#40;</span>import_id<span style="color:#006600; font-weight:bold;">&#41;</span>
&nbsp;
    <span style="color: #808080;"># block format</span>
    step :initialize <span style="color: #0000ff;">do</span>
      <span style="color:#006600; font-weight:bold;">@</span>import.<span style="color: #0080ff;">initialize</span>
    <span style="color: #0000ff;">end</span>
&nbsp;
    <span style="color: #808080;"># step with cursor, the cursor is saved when the job is interrupted</span>
    step :process <span style="color: #0000ff;">do</span> <span style="color:#006600; font-weight:bold;">|</span>step<span style="color:#006600; font-weight:bold;">|</span>
      <span style="color:#006600; font-weight:bold;">@</span>import.<span style="color: #0080ff;">records</span>.<span style="color: #0080ff;">find_each</span><span style="color:#006600; font-weight:bold;">&#40;</span>start: step.<span style="color: #0080ff;">cursor</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color: #0000ff;">do</span> <span style="color:#006600; font-weight:bold;">|</span>record<span style="color:#006600; font-weight:bold;">|</span>
        record.<span style="color: #0080ff;">process</span>
        step.<span style="color: #0080ff;">advance</span>! from: record.<span style="color: #0080ff;">id</span>
      <span style="color: #0000ff;">end</span>
    <span style="color: #0000ff;">end</span>
&nbsp;
    <span style="color: #808080;"># method format</span>
    step :finalize
  <span style="color: #0000ff;">end</span>
&nbsp;
  private
    <span style="color: #0000ff;">def</span> finalize
      <span style="color:#006600; font-weight:bold;">@</span>import.<span style="color: #0080ff;">finalize</span>
    <span style="color: #0000ff;">end</span>
<span style="color: #0000ff;">end</span></pre></td></tr></table></code><hr />
</div><br />
<br />
<br />
<b>Rapports d'événements structurés</b><br />
<br />
Le logger par défaut de Rails est idéal pour une utilisation humaine, mais moins adapté au post-traitement. Le nouveau Event Reporter fournit une interface unifiée pour produire des événements structurés dans les applications Rails :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">Rails.<span style="color: #0080ff;">event</span>.<span style="color: #0080ff;">notify</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #FF0000;">&quot;user.signup&quot;</span>, user_id: <span style="color: #cc66cc;">123</span>, email: <span style="color: #FF0000;">&quot;user@example.com&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span></code><hr />
</div><br />
<br />
<br />
Il prend en charge l'ajout de balises aux événements :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br /></div></td><td valign="top"><pre style="margin: 0">Rails.<span style="color: #0080ff;">event</span>.<span style="color: #0080ff;">tagged</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #FF0000;">&quot;graphql&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color: #0000ff;">do</span>
  <span style="color: #808080;"># Event includes tags: { graphql: true }</span>
  Rails.<span style="color: #0080ff;">event</span>.<span style="color: #0080ff;">notify</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #FF0000;">&quot;user.signup&quot;</span>, user_id: <span style="color: #cc66cc;">123</span>, email: <span style="color: #FF0000;">&quot;user@example.com&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
<span style="color: #0000ff;">end</span></pre></td></tr></table></code><hr />
</div><br />
<br />
<br />
Ainsi que le contexte :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #808080;"># All events will contain context: {request_id: &quot;abc123&quot;, shop_id: 456}</span>
Rails.<span style="color: #0080ff;">event</span>.<span style="color: #0080ff;">set_context</span><span style="color:#006600; font-weight:bold;">&#40;</span>request_id: <span style="color: #FF0000;">&quot;abc123&quot;</span>, shop_id: <span style="color: #cc66cc;">456</span><span style="color:#006600; font-weight:bold;">&#41;</span></pre></td></tr></table></code><hr />
</div><br />
<br />
<br />
Les événements sont émis vers les abonnés. Les applications enregistrent les abonnés afin de contrôler la manière dont les événements sont sérialisés et émis. Les abonnés doivent implémenter une méthode <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #808080;">#emit</span></span>, qui reçoit le hachage de l'événement :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">class</span> LogSubscriber
  <span style="color: #0000ff;">def</span> emit<span style="color:#006600; font-weight:bold;">&#40;</span>event<span style="color:#006600; font-weight:bold;">&#41;</span>
    payload = event<span style="color:#006600; font-weight:bold;">&#91;</span>:payload<span style="color:#006600; font-weight:bold;">&#93;</span>.<span style="color: #0080ff;">map</span> <span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#006600; font-weight:bold;">|</span>key, value<span style="color:#006600; font-weight:bold;">|</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">#{key}</span>=<span style="color: #800000;">#{value}</span>&quot;</span> <span style="color:#006600; font-weight:bold;">&#125;</span>.<span style="color: #0080ff;">join</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #FF0000;">&quot; &quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
    source_location = event<span style="color:#006600; font-weight:bold;">&#91;</span>:source_location<span style="color:#006600; font-weight:bold;">&#93;</span>
    log = <span style="color: #FF0000;">&quot;[<span style="color: #800000;">#{event[:name]}</span>] <span style="color: #800000;">#{payload}</span> at <span style="color: #800000;">#{source_location[:filepath]}</span>:<span style="color: #800000;">#{source_location[:lineno]}</span>&quot;</span>
    Rails.<span style="color: #0080ff;">logger</span>.<span style="color: #0080ff;">info</span><span style="color:#006600; font-weight:bold;">&#40;</span>log<span style="color:#006600; font-weight:bold;">&#41;</span>
  <span style="color: #0000ff;">end</span>
<span style="color: #0000ff;">end</span></pre></td></tr></table></code><hr />
</div><br />
<br />
<br />
<b>CI locale</b><br />
<br />
Les machines des développeurs sont devenues incroyablement rapides grâce à leurs nombreux cœurs, ce qui en fait d'excellents exécuteurs locaux, même pour des suites de tests relativement volumineuses. La suite de tests HEY, qui compte plus de 30 000 assertions, prenait auparavant plus de 10 minutes à s'exécuter dans le cloud, si l'on tient compte de la coordination, de la création d'images et de l'exécution parallélisée. Désormais, elle s'exécute localement sur une machine Framework Desktop AMD Linux en seulement 1 min 23 s et sur une M4 Max en 2 min 22 s.<br />
<br />
Cela rend non seulement possible, mais également souhaitable, la suppression de la configuration cloud pour l'ensemble de la CI pour de nombreuses applications de petite et moyenne taille. Rails a donc ajouté une déclaration DSL CI par défaut, qui est définie dans <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">config<span style="color:#006600; font-weight:bold;">/</span>ci.<span style="color: #0080ff;">rb</span></span> et exécutée par <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">bin<span style="color:#006600; font-weight:bold;">/</span>ci</span>. Elle se présente comme suit :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br /></div></td><td valign="top"><pre style="margin: 0">CI.<span style="color: #0080ff;">run</span> <span style="color: #0000ff;">do</span>
  step <span style="color: #FF0000;">&quot;Setup&quot;</span>, <span style="color: #FF0000;">&quot;bin/setup --skip-server&quot;</span>
  step <span style="color: #FF0000;">&quot;Style: Ruby&quot;</span>, <span style="color: #FF0000;">&quot;bin/rubocop&quot;</span>
&nbsp;
  step <span style="color: #FF0000;">&quot;Security: Gem audit&quot;</span>, <span style="color: #FF0000;">&quot;bin/bundler-audit&quot;</span>
  step <span style="color: #FF0000;">&quot;Security: Importmap vulnerability audit&quot;</span>, <span style="color: #FF0000;">&quot;bin/importmap audit&quot;</span>
  step <span style="color: #FF0000;">&quot;Security: Brakeman code analysis&quot;</span>, <span style="color: #FF0000;">&quot;bin/brakeman --quiet --no-pager --exit-on-warn --exit-on-error&quot;</span>
  step <span style="color: #FF0000;">&quot;Tests: Rails&quot;</span>, <span style="color: #FF0000;">&quot;bin/rails test&quot;</span>
  step <span style="color: #FF0000;">&quot;Tests: Seeds&quot;</span>, <span style="color: #FF0000;">&quot;env RAILS_ENV=test bin/rails db:seed:replant&quot;</span>
&nbsp;
  <span style="color: #808080;"># Requires the `gh` CLI and `gh extension install basecamp/gh-signoff`.</span>
  <span style="color: #0000ff;">if</span> success?
    step <span style="color: #FF0000;">&quot;Signoff: All systems go. Ready for merge and deploy.&quot;</span>, <span style="color: #FF0000;">&quot;gh signoff&quot;</span>
  <span style="color: #0000ff;">else</span>
    failure <span style="color: #FF0000;">&quot;Signoff: CI failed. Do not merge or deploy.&quot;</span>, <span style="color: #FF0000;">&quot;Fix the issues and try again.&quot;</span>
  <span style="color: #0000ff;">end</span>
<span style="color: #0000ff;">end</span></pre></td></tr></table></code><hr />
</div><br />
<br />
<br />
L'intégration optionnelle avec gh garantit que les PR doivent être validées par une exécution CI réussie afin d'être éligibles à la fusion.<br />
<br />
<b>Rendu Markdown</b><br />
<br />
Markdown est devenu la lingua franca de l'IA, et Rails a adopté cette adoption en facilitant la réponse aux demandes de markdown et en les rendant directement :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">class</span> Page
  <span style="color: #0000ff;">def</span> to_markdown
    body
  <span style="color: #0000ff;">end</span>
<span style="color: #0000ff;">end</span>
&nbsp;
<span style="color: #0000ff;">class</span> PagesController <span style="color:#006600; font-weight:bold;">&lt;</span> ActionController::Base
  <span style="color: #0000ff;">def</span> show
    <span style="color:#006600; font-weight:bold;">@</span>page = Page.<span style="color: #0080ff;">find</span><span style="color:#006600; font-weight:bold;">&#40;</span>params<span style="color:#006600; font-weight:bold;">&#91;</span>:id<span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
&nbsp;
    respond_to <span style="color: #0000ff;">do</span> <span style="color:#006600; font-weight:bold;">|</span><span style="color: #0000ff;">format</span><span style="color:#006600; font-weight:bold;">|</span>
      <span style="color: #0000ff;">format</span>.<span style="color: #0080ff;">html</span>
      <span style="color: #0000ff;">format</span>.<span style="color: #0080ff;">md</span> <span style="color:#006600; font-weight:bold;">&#123;</span> render markdown: <span style="color:#006600; font-weight:bold;">@</span>page <span style="color:#006600; font-weight:bold;">&#125;</span>
    <span style="color: #0000ff;">end</span>
  <span style="color: #0000ff;">end</span>
<span style="color: #0000ff;">end</span></pre></td></tr></table></code><hr />
</div><br />
<br />
<br />
<b>Récupération des informations d'identification en ligne de commande</b><br />
<br />
Kamal peut désormais récupérer facilement ses secrets à partir du magasin d'informations d'identification cryptées de Rails pour les déploiements. Cela en fait une alternative low-fi aux magasins de secrets externes qui ne nécessitent que la clé principale pour fonctionner :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #808080;"># .kamal/secrets</span>
KAMAL_REGISTRY_PASSWORD=$<span style="color:#006600; font-weight:bold;">&#40;</span>rails credentials:fetch kamal.<span style="color: #0080ff;">registry_password</span><span style="color:#006600; font-weight:bold;">&#41;</span></pre></td></tr></table></code><hr />
</div><br />
<br />
<br />
<b>Associations obsolètes</b><br />
<br />
Les associations Active Record peuvent désormais être marquées comme obsolètes :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">class</span> Author <span style="color:#006600; font-weight:bold;">&lt;</span> ApplicationRecord
  has_many :posts, deprecated: <span style="color: #0080ff;">true</span>
<span style="color: #0000ff;">end</span></pre></td></tr></table></code><hr />
</div><br />
<br />
<br />
Ainsi, l'utilisation de l'association <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">posts</span> sera signalée. Cela inclut les appels API explicites tels que<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br /></div></td><td valign="top"><pre style="margin: 0">author.<span style="color: #0080ff;">posts</span>
author.<span style="color: #0080ff;">posts</span> = ...</pre></td></tr></table></code><hr />
</div><br />
<br />
<br />
et autres, ainsi que les utilisations indirectes telles que<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">author.<span style="color: #0080ff;">preload</span><span style="color:#006600; font-weight:bold;">&#40;</span>:posts<span style="color:#006600; font-weight:bold;">&#41;</span></code><hr />
</div><br />
<br />
<br />
l'utilisation via des attributs imbriqués, et plus encore.<br />
<br />
Trois modes de signalement sont pris en charge (<span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">:warn</span>, <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">:<span style="color: #0000ff;">raise</span></span> et <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">:notify</span>), et les traces de retour peuvent être activées ou désactivées, mais vous obtenez toujours l'emplacement de l'utilisation signalée. Les valeurs par défaut sont le mode <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">:warn</span> et les traces de retour désactivées.<br />
<br />
<b>Déploiements Kamal sans registre</b><br />
<br />
Kamal n'a plus besoin d'un registre distant, tel que Docker Hub ou GHCR, pour effectuer des déploiements de base. Par défaut, Kamal 2.8 utilise désormais un registre local pour les déploiements simples. Pour les déploiements à grande échelle, vous devrez toujours utiliser un registre distant, mais cela facilite la prise en main et vous permet de voir votre premier déploiement Hello World en action.<br />
<br />
Cette annonce semble confirmer les affirmations de Patrick Helm, développeur back-end. Il avait notamment expliqué <a href="https://ruby.developpez.com/actu/349921/Pourquoi-Ruby-on-Rails-ne-serait-pas-encore-mort-d-apres-Patrick-Helm-developpeur-back-end/" target="_blank">pourquoi Ruby on Rails ne serait pas encore mort</a>. Du point de vue de la maintenance, Rails n'est pas encore mort. Rails 7.1 a été publié avec plus de 800 contributeurs différents. Rails 8.1 est le fruit du travail de plus de 500 contributeurs et de 2 500 commits.<br />
<br />
En outre, En 2022, la Rails Foundation a été créée. Il s'agit d'une organisation à but non lucratif visant à améliorer la documentation, l'éducation, le marketing et les événements autour de Rails. L'une de ses principales étapes a été l'organisation de la toute première conférence Rails World à Amsterdam cette année. Les billets ont été vendus en 45 minutes, le signe d'une communauté très active.<br />
<br />
<b>Source</b> : <a rel="nofollow" href="https://rubyonrails.org/" target="_blank">Ruby on rails</a><br />
<br />
<b>Et vous ?</b><br />
<br />
:fleche: Pensez-vous que ces améliorations sont crédibles ou pertinentes ? <br />
:fleche: Quel est votre avis sur le sujet ?<br />
<br />
<b>Voir aussi :</b><br />
<br />
:fleche: <a href="https://ruby.developpez.com/actu/363587/Quoi-de-neuf-dans-Ruby-on-Rails-8-avec-Rails-8-0-Beta-1-pas-de-PaaS-platform-as-a-service-requis-et-integration-avec-Kamal-2-pour-des-deploiements-sans-soucis/" target="_blank">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</a><br />
<br />
:fleche: <a href="https://jetbrains.developpez.com/actu/364709/RubyMine-2024-3-est-disponible-prise-en-charge-de-Rails-8-integration-native-avec-RBS-Collection-mises-a-jour-de-Ruby-3-4-et-bien-plus/" target="_blank">RubyMine 2024.3 est disponible : prise en charge de Rails 8, intégration native avec RBS Collection, mises à jour de Ruby 3.4 et bien plus</a><br />
<br />
:fleche: <a href="https://ruby.developpez.com/actu/366161/La-version-3-4-0-de-Ruby-est-desormais-disponible-ajoutant-la-reference-au-parametre-de-bloc-it-le-support-de-Happy-Eyeballs-v2-a-la-bibliotheque-socket-et-rendant-Prism-comme-parseur-par-defaut/" target="_blank">La version 3.4.0 de Ruby est désormais disponible, ajoutant la référence au paramètre de bloc &quot;it&quot;, le support de Happy Eyeballs v2 à la bibliothèque socket et rendant Prism comme parseur par défaut</a></div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f833/autres-langages/autres-langages/ruby/ruby-on-rails/">Ruby on Rails</category>
			<dc:creator>Alex</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2180108/autres-langages/autres-langages/ruby/ruby-on-rails/ruby-on-rails-8-1-apporte-continuations-taches-actives-rapports-d-evenements-structures/</guid>
		</item>
	</channel>
</rss>
