Formation
Audience
Cette formation s’adresse aux développeurs Web ayant déjà une expérience avec Ruby on Rails et qui désirent aller au delà du pattern MVC afin d’être en mesure d’architecturer de complexes applications tout en portant une grande importance à la qualité de leur production (méthodologies, code, architectures, tests, etc.).
Format
C'est une formation individuelle de 5 jours, articulée autour de modules. Chaque module comporte un cours théorique et sa mise en pratique.
Il est offert au participant de venir avec un projet sur lequel travailler afin de mettre en pratique les notions vues sur un cas concret et personnalisé.
Pré-requis
- Bonnes connaissances de Ruby et Ruby on Rails
- Bonnes connaissances des bases de données
- Connaissance du pattern MVC (Model View Controller)
- Connaissance d'un environnement Unix (Linux, OSX, ...)
- Notions de TDD (Test Driven Development)
- Notions de moteurs de recherche (Elasticsearch, Solr, ...)
Objectifs
- Avoir une bonne hygiène de code
- Travailler avec le code d'une application existante et l'améliorer
- Savoir architecturer une application Ruby on Rails complexe
- Appréhender de nouvelles problématiques par les tests
- Intégrer un moteur de recherche
- Connaître les outils, services et méthodologies couramment utilisés dans la profession
Programme
Jour 1
Introduction
Présentation du planning de formation, des outils et de la méthodologie qui seront employés.
Bases
Exploration des bases nécessaires pour la réalisation d'applications de qualité.
- Conventions de code Ruby / Ruby on Rails
- Plugins (gems) indispensables
- Méthodologies usuelles de développement
- Outils et services largement employés par la communauté Ruby
Jour 2
Structure type d'une application
Présentation des différents composants standards d'une application Ruby on Rails.
- Modèles
- Vues
- Contrôleurs
- Helpers
- Lib
Structure avancée d'une application
Présentation des composants d'une application complexe Ruby on Rails.
- SRP (Single Responsibility Principle)
- Décorateurs
- Présenteurs
- Formulaires
- Contrats
- Services
- Polices
Jour 3
Tests
Présentation du développement par les tests.
- TDD (Test-Driven Development)
- RSpec
- Plugins (gems) indispensables
- Composants à tester impérativement
- Tester du code existant
Jour 4
Code existant
Compilation et application de ce qui a été vu au cours des précédants modules sur une base de code existante et ne répondant pas aux mêmes standards de qualité.
- Où commencer
- Corriger l'existant
- Retravailler l'existant
- Ajouter de nouvelles fonctionnalités
Jour 5
Moteur de recherche
Découverte, configuration et exploitation d'Elasticsearch.
- Installation et configuration
- Plugins (gems) disponibles
- Manipulation : recherche, facettes, etc.
- Faire cohabiter deux moteurs de recherche
Rétrospective
Echanges sur la formation réalisée.
- Questions/Réponses sur ce qui a été vu
- Références, ressources et supports disponibles en ligne
- Pistes d'amélioration
Intervenant
Cécile Veneziani
Développeur Ruby on Rails avec plus de 10 ans d'expérience. Passionnée par les méthodes agiles et la qualité de code. Egalement prof au Wagon.
- Cecilitse / Grands Ensemble
- SCOP SA - SIRET 488 458 969 00059
- Organisme de formation 31 62 02007 62