
Rails Engines & Apps modulaires
Mountable engines, isolated engines, namespacing, gem-based architecture
1Qu'est-ce qu'un Rails Engine ?
Qu'est-ce qu'un Rails Engine ?
Réponse
Un Rails Engine est une application Rails miniature qui peut être montée dans une application hôte. Il permet de partager du code (models, controllers, views, routes) entre plusieurs applications ou de créer des fonctionnalités isolées et réutilisables. Les gems comme Devise, Sidekiq Web UI et ActiveAdmin sont des exemples d'engines populaires utilisés dans l'écosystème Rails.
2Quelle commande permet de générer un nouveau Rails Engine mountable ?
Quelle commande permet de générer un nouveau Rails Engine mountable ?
Réponse
La commande rails plugin new avec l'option --mountable génère un engine complet avec son propre namespace, ses routes isolées et sa structure de dossiers. L'option --mountable crée un engine entièrement isolé de l'application hôte, contrairement à --full qui génère un engine non-isolé partageant le namespace de l'application principale.
3Quelle est la différence principale entre un engine --mountable et un engine --full ?
Quelle est la différence principale entre un engine --mountable et un engine --full ?
Réponse
Un engine --mountable est entièrement isolé avec son propre namespace (module), ses propres helpers et ses routes isolées sous un préfixe configurable. Un engine --full partage le namespace de l'application hôte, ce qui peut créer des conflits de noms. L'isolation du mountable engine garantit que les classes et routes de l'engine ne polluent pas l'espace de noms de l'application principale.
Comment monter un Rails Engine dans le fichier routes.rb de l'application hôte ?
À quoi sert la directive isolate_namespace dans un Rails Engine ?
+15 questions d'entretien
Autres sujets d'entretien Ruby on Rails
Les bases de Ruby
Programmation orientée objet en Ruby
Fondamentaux Rails
Routing & Controllers
Les bases d'ActiveRecord
Views & Templates ERB
Associations ActiveRecord
Requêtes ActiveRecord avancées
Formulaires Rails
Authentification & Autorisation
Asset Pipeline & Frontend moderne
Rails en mode API
Tests avec RSpec
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
Stratégies de caching
Migrations avancées
Optimisation des performances
Design Patterns Rails
Métaprogrammation Ruby
Sécurité Rails
GraphQL avec Rails
Déploiement & Production
Monitoring & Logging
Stratégies d'upgrade Rails
Maîtrise Ruby on Rails pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement