- Comprendre les bases du langage Ruby
- Maîtriser le framework Ruby on Rails pour développer des applications web
- Concevoir, structurer et optimiser une application MVC
- Utiliser ActiveRecord pour gérer les bases de données
- Créer des API REST avec Rails
- Assurer la sécurité, la performance et les tests d'une application Rails
- Déployer une application Ruby on Rails en production
Module 1 : Introduction à Ruby et à l'écosystème Rails
- Présentation du langage Ruby
- Installation et environnement de développement
- Syntaxe, objets, classes et modules
- Gestion des dépendances avec Bundler
- Présentation de Ruby on Rails et de son architecture
Module 2 : Architecture MVC et structure d'une application Rails
- Philosophie MVC
- Arborescence d'un projet Rails
- Générateurs Rails
- Routes et ressources
- Contrôleurs, vues, helpers et layouts
Module 3 : Base de données avec ActiveRecord
- Migrations, modèles et validations
- Relations entre modèles
- Requêtes ActiveRecord
- Seeds et gestion des données
- Structuration et optimisation du schéma
Module 4 : Développement côté front dans Rails
- ERB, partials et layouts
- Introduction à Turbo et Stimulus
- Gestion des assets, Webpacker ou importmaps selon version
- Formulaires avancés et interactions dynamiques
Module 5 : Création d'API REST avec Rails
- Configuration d'une API-only
- Endpoints, routes et contrôleurs
- Sérialisation des données
- Authentification et tokens
- Tests d'API
Module 6 : Sécurité et bonnes pratiques
- Protection CSRF, XSS, injections SQL
- Gestion des sessions et cookies
- Chiffrement et gestion des secrets
- Limitation des accès et policies
Module 7 : Tests et qualité de code
- RSpec ou Minitest
- Tests unitaires et d'intégration
- Tests d'API
- Automatisation et CI/CD basique
- Mesure de couverture de tests
Module 8 : Déploiement et production
- Configuration d'un serveur (Linux, SSH)
- Déploiement avec Capistrano, Docker ou Platform-as-a-Service
- Gestion des logs, monitoring et maintenance
- Optimisation des performances
- Procédure de mise à jour et rollback
Attestation de formation
Non certificiante
Sans niveau spécifique