
le framework Rails
Ruby on Rails repose sur deux principes clés : Convention Over Configuration (CoC) et Don’t Repeat Yourself (DRY), qui simplifient et accélèrent le développement web :
– CoC (Convention Over Configuration): Rails fait des hypothèses sur les conventions standard, ce qui réduit le besoin de configurations explicites. Par exemple, si vous créez un modèle `Article`, Rails suppose que la table correspondante s’appelle `articles`.
– DRY (Don’t Repeat Yourself) : Encourage la réduction des répétitions dans le code. Les méthodes et modules réutilisables permettent de centraliser la logique, comme les validations de modèles, ce qui rend le code plus propre et plus facile à maintenir.
Rails suit le modèle MVC (Modèle-Vue-Contrôleur) :

Rails facilite aussi le développement avec ses “scaffolds”, qui génèrent automatiquement le code pour les opérations CRUD (Create, Read, Update, Delete). Cela permet de mettre en place rapidement les fonctionnalités de base, laissant les développeurs se concentrer sur les aspects uniques de leur application.
Le Langage Ruby

gtutjttyjtjt
Ruby a été inventé par Yukihiro Matz Matsumoto, un programmeur japonais, au milieu des années 1990, et publié en 1995. Bien que le langage ait été créé dans les années 90, ce n’est qu’à partir de 2006 qu’il a gagné en popularité auprès des développeurs.
Langage interprété et compilé
Les langages compilés (comme C++ ou Java) fonctionnent différemment : le code source est d’abord transformé en code binaire à l’aide d’un compilateur, avant d’être exécuté par le système d’exploitation. Ce processus rend le code plus performant à l’exécution, mais il rend le développement plus complexe et plus long.
Outil de veille et Sources
Feedly :

gtutjttyjtjt
Feedly est un outil de veille qui permet de regrouper et suivre des flux d’actualités et de contenus provenant de blogs, sites web, et autres sources, le tout à un seul endroit. Il utilise les flux RSS pour rassembler les dernières publications des sources que l’utilisateur suit, offrant la possibilité de regrouper et trier les flux que l’utilisateur suit.

Copilot :


Sources
https://www.oracle.com/fr/developer/ruby-developers
oracle.com est le site officiel d’Oracle et une source fiable pour des informations sur le développement avec Ruby et Oracle Database. La page dédiée aux développeurs Ruby fournit des ressources fiables pour l’intégration de Ruby avec les produits Oracle.
Ici rubyonrails.org est le site officiel de Rails qui nous apprend plus sur sa technologie.
Exemples d’utilisation de Ruby et de Ruby on Rails
Oracle :

Oracle Database permet de développer des applications en utilisant le langage Ruby et le framework Ruby on Rails via des outils comme le pilote Ruby-oci8 ou JRuby avec l’adaptateur amélioré Oracle pour ActiveRecord :
– le pilote Ruby-oci8 permet aux applications Ruby de se connecter à Oracle Database, facilitant ainsi l’accès et la gestion des données.
– JRuby intègre Ruby avec la plateforme Java, offrant des options de déploiement plus flexibles et une meilleure compatibilité avec les outils Java.
– ActiveRecord permet aux applications Ruby on Rails d’interagir de manière fluide avec une base de données Oracle, simplifiant le développement d’applications web robustes.

DevOps est une approche qui vise à unir les équipes de développement et opérationnelles pour améliorer la collaboration et l’efficacité dans le développement logiciel, depuis la conception jusqu’à la production.
Dans un contexte DevOps, l’intégration de Ruby on Rails avec Oracle Database est bénéfique pour :
– Automatiser le déploiement et la gestion des bases de données.
– Optimiser la collaboration entre développeurs et administrateurs de bases de données en utilisant un système unifié.
L’éco-conception pour le framework Rails
Kamal et Thruster : Déploiements efficaces et allégés

Thruster est un proxy conçu pour simplifier le déploiement des applications Ruby on Rails en production. Développé par l’équipe de Basecamp, il fonctionne en tandem avec le serveur web Puma pour offrir des fonctionnalités comme :
- Amélioration des performances et de la vitesse de chargement.
- Gestion automatique des certificats TLS avec Let’s Encrypt.
- Compression GZip et mise en cache HTTP basique des fichiers publics.
- Support X-Sendfile pour servir efficacement les fichiers statiques.
Kamal est un outil de déploiement conçu pour simplifier la mise en production des applications web, notamment celles développées avec Ruby on Rails. Il permet de déployer des applications conteneurisées sur divers environnements, allant des serveurs physiques aux machines virtuelles dans le cloud. Voici quelques-unes de ses fonctionnalités principales :
– Déploiements sans interruption : Garantit une disponibilité continue lors des mises à jour.
– Gestion des services accessoires : Prend en charge des outils comme Redis, PostgreSQL
– Provisionnement automatique : Configure les serveurs avec Docker sans préparation préalable.
– Flexibilité : Compatible avec plusieurs fournisseurs cloud ou serveurs dédiés.
Kamal est idéal pour les développeurs souhaitant éviter les solutions commerciales coûteuses tout en gardant un contrôle total sur leur infrastructure.
Rails a intégré des outils comme Kamal et Thruster pour simplifier et améliorer les déploiements. Ces outils se concentrent sur :
– La conteneurisation légère pour réduire la charge serveur.
– L’amélioration des proxys permettant de mieux gérer les connexions, notamment grâce à des services comme Nginx.
– Une gestion simplifiée des certificats TLS pour renforcer la sécurité, tout en automatisant des processus habituellement fastidieux.
L’objectif principal est de limiter la consommation de ressources tout en rendant les déploiements plus fluides, ce qui a un impact écologique direct.
SQLite comme solution autonome dans des cas spécifiques

Traditionnellement, Rails s’appuie sur plusieurs bases de données ou services comme MySQL, PostgreSQL, Redis ou Sidekiq pour certaines fonctionnalités. Cependant, la nouvelle approche est de :
– Centraliser certaines opérations dans SQLite, par exemple pour les files d’attente ou la mise en cache.
– Proposer une architecture simplifiée, réduisant les besoins en maintenance et en infrastructure supplémentaire.
Cela se traduit par moins de dépendances externes, une consommation énergétique moindre et une approche minimaliste pour les projets plus légers.
Améliorations des performances des routes
Des optimisations récentes dans la recherche de routes incluent :
– Une réduction des duplications et des allocations inutiles, accélérant les performances de 10 à 20 %.
– Une simplification des structures de données pour diminuer la charge sur les serveurs.
Gestion des exceptions et des types de données
– Execution Wrapper : Capable de gérer toutes les exceptions, améliorant la stabilité des applications.
– Valeurs mutables par défaut : ActiveModel garantit désormais que les types de données personnalisés sont correctement dupliqués, réduisant les erreurs et les inefficacités.
Ces mises à jour en 4 points reflètent une tendance claire dans l’écosystème Rails : rendre les applications plus performantes tout en réduisant leur impact environnemental.