Aller au contenu

Développeurs Ruby on Rails

Nous utilisons Ruby on Rails depuis 2007. Ce framework nous permet de construire des applications métier sur mesure, fiables, robustes et performantes. Notre équipe est composée d’experts Ruby on Rails, développeurs seniors et juniors ainsi qu’un directeur technique rompu au développement avec Rails.

Créé par David Heinemeier Hansson en 2005, Ruby on Rails est basé sur le langage de programmation Ruby, ce qui lui confère un code élégant et lisible, favorisant la productivité des développeurs.

En matière de développement web, Ruby on Rails met l’accent sur l’approche pragmatique. Les choix techniques réalisés correspondent à des besoins réels et récurrents.

Pour le client, c’est l’assurance d’atteindre un niveau de productivité élevé de par les caractéristiques intrinsèques de Ruby : langage concis, expressif, complètement objet, et de part sa puissance : flexibilité, introspection, méta-programmation, réflexion…

Si la genèse de l’outil vous intéresse, nous vous invitons à regarder ce documentaire qui interviewe les créateurs de Ruby on Rails : Jason Fried, David Heinemeier Hansson (DHH), Jeremy Daer…

Il est notamment intéressant de voir que DHH a toujours voulu, parfois d’une manière un peu brutale, garder le contrôle sur ce que devait être l’outil, sans se faire dicter une direction ou une autre par les premiers contributeurs.

Ruby on Rails est fondamentalement couplé à une méthodologie agile et dirigée par les tests. La puissance et la productivité de Ruby nous offrent la possibilité de redéfinir les priorités au fil du projet et de se concentrer pour livrer une application :

  • de grande qualité et de haute fiabilité,
  • focalisée sur le business de nos clients.

L’approche TDD (test driven development) ou BDD (behavior driven development) sont des concepts fondamentaux du développement avec Ruby on Rails. Cette approche permet d’offrir des développements pérennes, dont la maintenance est facilitée, tout en s’affranchissant d’éventuelles régressions.

Le framework définit des conventions de base pour la structure de l’application (organisation des dossiers et des fichiers) et la configuration, ce qui permet aux développeurs de gagner du temps en évitant d’écrire des configurations redondantes. Il est bien sûr toujours possible de s’écarter de la configuration par défaut, mais au prix de plus de choses à déclarer.

Rails suit le principe DRY, qui encourage la réutilisation du code. Il favorise la modularité et la réduction de la duplication du code, ce qui simplifie la maintenance de l’application.

Rails suit l’architecture MVC, qui sépare l’application en trois composants principaux :

  • le modèle (qui gère la logique métier et l’accès aux données),
  • la vue (qui gère l’interface utilisateur),
  • le contrôleur (qui traite les requêtes des utilisateurs et orchestre la communication entre le modèle et la vue).

Rails intègre une couche d’abstraction de base de données appelée Active Record, qui permet aux développeurs de manipuler la base de données en utilisant des objets Ruby au lieu de SQL brut. Cela rend l’accès aux données plus simple et plus intuitif.

Ruby on Rails utilise un système de gestion de dépendances appelé Bundler pour gérer les bibliothèques tierces, appelées « gems », ce qui facilite l’intégration de fonctionnalités standards dans une application.

Certaines gems embarquent des fonctionnalités standards qui reviennent dans la plupart des projets, et font gagner beaucoup de temps aux développeurs. Citons-en quelques unes :

Nom de la gem

Description

Site

Devise

Gestion de comptes utilisateurs : inscription, connexion, mot de passe perdu, etc.

Devise sur Github

Simple Form

Facilite grandement la création des champs de formulaire

Simple Form sur Github

Sidekiq

Gestion des tâches de fond

Sidekiq sur Github

Geocoder

Gestion de géolocalisation et de calcul de distances

Geocoder sur Github

Ruby on Rails possède une communauté de développeurs active depuis 2005 ce qui garantit des fondations solides à votre application. Il n’est pas un framework passé de mode comme de nombreux autres projets qui se sont éteints faute d’élan suffisant de la part de leur communauté.

L’adoption d’un framework dans le petit monde des développeurs web tient beaucoup à la qualité de sa documentation, qui est la porte d’entrée pour en comprendre la philosophie et les atouts. La documentation de RoR est très complète, organisée de manière intuitive.

La communauté a largement contribué à cette documentation, mais beaucoup de développeurs ont écrit des articles et des tutoriels pour approfondir certaines notions, enrichissant encore le savoir autour du framework. Sans cet effort louable, il est probable que Rails soit tombé dans l’oubli.

Les priorités affichées par les concepteurs de ce framework sont clairement les performances. Ce n’est pas un hasard si des applications à très forts volumes utilisent Ruby on Rails tel que : Github, Linkedin, Shopify, AirBnB…

Nos développeurs Ruby on Rails sont aussi des experts en gestion de projet.

Ruby on Rails permet de gagner du temps dans les développements. C’est pourquoi son environnement nous invite à bien concevoir vos outils, à étudier vos logiques métiers, à poser les bonnes questions en terme de business, à ne pas s’interdire de remettre à plus tard des fonctionnalités qui paraissent trop complexes. Bref, à progresser pas à pas, en analysant la manière dont vos utilisateurs s’approprient l’outil.

Cette nécessaire, et (parfois) salutaire, prise de recul se concrétise dans notre agence web Ruby on Rails par des rendez-vous réguliers (téléphone, visio, présentiel…) et concis afin d’examiner les retours sur les fonctionnalités dernièrement mises en production puis de convenir des futures priorités à développer.

Certains de nos clients sont venus à nous dans l’optique de nous confier la maintenance de leur site RoR ou de leur logiciel web, réalisé plusieurs années auparavant par une autre agence, voire un freelance.

Afin de nous assurer que nous serons en mesure de vous accompagner dans la durée, nous réalisons un audit du code source de votre outil couvrant divers aspects : existence de tests unitaires, de tests fonctionnels, d’un style tiles, de la version du framework, des bases SEO, etc. Cette étude nous permet de connaître les fondations de votre outil pour définir les étapes d’amélioration et ainsi estimer le volume de travail à envisager.

Qu’il s’agisse d’une simple maintenance ou d’un projet d’amélioration continue de votre application Ruby on Rails, notre équipe est en mesure de vous accompagner.

application web pour le port du havre

La Générale de Manutention Portuaire (société GMP) est spécialisée dans la manutention de conteneurs au sein de 3 terminaux situés dans le port du Havre. Ses clients sont des sociétés de transport. Les principaux objectifs de l’application réalisée avec le framework RoR sont :

  • de permettre aux clients de réserver des créneaux d’enlèvement de conteneurs autorisés à quitter le port et des créneaux de dépose de conteneurs vides,
  • de gérer l’ensemble des volumétries en fonction de nombreux paramètres.

Depuis la création de la première version opérationnelle, Imagile fait évoluer l’application en ajoutant régulièrement, en collaboration avec l’équipe informatique de GMP, de nouvelles fonctionnalités. Le but est toujours d’automatiser et de sécuriser toutes les opérations liées à l’activité des transporteurs.

Lire l’étude de cas « GMP »

application web ruby pour une société de services à la personne

Vitalliance est une société de services d’aide à la personne spécialisée dans l’aide à domicile pour personnes âgées et personnes handicapées. Après avoir réalisé une reprise du site Internet réalisé avec le framework Ruby on Rails, nous nous sommes occupés d’en faire un véritable outil d’acquisition client en l’intégrant dans une stratégie de référencement (naturel et payant). Suite au succès de cette première mission, l’équipe de Vitalliance nous a confié la réalisation de l’espace client et de l’outil de pilotage pour les aides à domicile.

Lire l’étude de cas « Vitalliance »

Vous avez un projet à créer ou à maintenir en Ruby on Rails ? Faites confiance à Imagile et ses 20 ans d’expérience.

Ruby on Rails et Turbo

Turbo est une bibliothèque JavaScript créée par le créateur de Rails, David Heinemeier Hansson, pour améliorer les performances et l’interactivité des applications web Rails. Il est également open source.

Turbo vise à améliorer la réactivité des applications web sans avoir à réécrire des parties importantes de l’application. Il permet de charger des parties spécifiques de la page (plutôt que de recharger toute la page) pour des mises à jour en temps réel.

Ruby on Rails + Tailwind CSS

Tailwind CSS est une bibliothèque CSS qui propose des classes utilitaires prêtes à l’emploi pour styler rapidement les éléments HTML. Nous l’utilisons sur la plupart de nos projets chez Imagile, quel que soit l’environnement de développement (WordPress, Laravel, Symfony, Ruby on Rails…) pour créer rapidement des interfaces utilisateur modernes et réactives.

Il est facile d’installer Tailwind CSS dans un projet Ruby on Rails à l’aide de la gem dédiée gratuite, tailwindcss-rails. Un petit programme tournera en tâche de fond pour compiler les composants CSS en un seul fichier minifié.

De mon point de vue, Ruby on Rails se distingue principalement sur deux points : sa simplicité d'utilisation ainsi que sa capacité à être testé facilement. Cette combinaison accélère le développement web tout en renforçant la fiabilité grâce à l'étonnante facilité de rédaction de tests automatisés. De plus, grâce à sa vaste communauté de développeurs, l'écosystème offre une abondance de bibliothèques externes, ce qui simplifie la concentration sur les tâches essentielles sans avoir à constamment réinventer la roue. Combiné à Turbo et Tailwind, c'est l'arme idéale pour réaliser la grande majorité des projets web !
Guillaume Brosse
Guillaume Brosse Développeur senior Imagile

Laravel est aussi un framework de développement web, très largement inspiré de Ruby on Rails, mais il est écrit en langage PHP et non en Ruby. Chez Imagile, nous aurons toujours tendance à vous orienter sur Ruby on Rails car c’est le framework que nous maîtrisons le mieux, et c’est d’après nous le plus robuste pour une application complexe et pérenne.

Cependant, il n’est pas toujours possible de changer de stack technique, si par exemple c’est vous qui vous chargez de l’hébergement.

Enfin. comme Rails est en Ruby, il est possible que vous préfériez rester sur un éco-système PHP, si par exemple votre équipe en interne doit travailler sur le projet avec nous et qu’elle est plus à l’aise en PHP qu’en Ruby.