Ruby on Rails

Ruby on Rails

BACKEND

Framework web full-stack développé avec Ruby offrant une approche "Convention over Configuration" et "Don't Repeat Yourself" pour maximiser la productivité. Architecture MVC mature avec Active Record ORM, scaffolding automatique, migration system robuste et écosystème complet pour APIs REST et applications web modernes.

Ce que tu vas apprendre

Ruby moderne avec syntaxe élégante, blocks, metaprogramming et gems

Active Record ORM avec associations, validations, callbacks et migrations

Convention over Configuration pour productivité maximale

Rails generators pour scaffolding rapide (models, controllers, migrations)

Action Cable pour WebSockets temps réel intégré nativement

Active Storage pour upload de fichiers avec cloud storage (S3, GCS)

Action Mailer pour emails transactionnels avec templates ERB

Active Job pour background jobs avec adapters (Sidekiq, Resque, Delayed Job)

Testing complet (RSpec, Minitest, fixtures, factories avec FactoryBot)

Performance avec caching (Redis, Memcached), eager loading et turbo-rails

Sujets clés à maîtriser

Les concepts les plus importants pour comprendre cette techno et réussir tes entretiens

1

Ruby : blocks, procs, lambdas, symbols, metaprogramming, modules et mixins

2

Rails architecture : MVC pattern, config/routes.rb, autoloading, Zeitwerk

3

Active Record : models, associations (has_many, belongs_to, has_and_belongs_to_many)

4

AR validations : presence, uniqueness, custom validators, validation contexts

5

AR callbacks : before_save, after_create, around_update, lifecycle hooks

6

Migrations : create_table, add_column, change_column, rollback, schema.rb

7

Routing : resources, nested routes, namespaces, constraints, route helpers

8

Controllers : params, strong parameters, filters (before_action), respond_to

9

Views : ERB templates, partials, helpers, layouts, content_for/yield

10

Active Record Query : where, joins, includes, preload, eager_load (N+1 prevention)

11

Rails API mode : API-only applications, serializers (ActiveModel::Serializers, jbuilder)

12

Authentication : Devise gem, has_secure_password, session management, cookies

13

Authorization : Pundit gem, CanCanCan, policies, role-based access control

14

Action Cable : channels, streams, broadcasting, WebSocket connections

15

Active Job : perform_later, queue adapters (Sidekiq), job priorities, retry logic

16

Active Storage : attachments (has_one_attached, has_many_attached), variants, direct uploads

17

Testing : RSpec (describe, context, it), FactoryBot, fixtures, request specs, system tests

18

Concerns : ActiveSupport::Concern, code reusability, module composition

19

Rails engines : mountable engines, namespacing, gem development

20

Performance : fragment caching, Russian doll caching, query optimization, bullet gem

21

Security : CSRF protection, SQL injection prevention, mass assignment protection (strong params)

22

Deployment : Capistrano, Heroku, Docker, Puma/Unicorn servers, assets pipeline