Quickstarters

Comment construire un backend pour Ruby On Rails ?

35min

Introduction

Dans ce tutoriel, vous apprendrez à construire un backend pour Ruby on Rails en utilisant Back4App.

Nous explorerons les étapes clés pour intégrer votre application Rails avec les fonctionnalités essentielles de Back4App—comme les interactions avec la base de données, les fonctions Cloud Code, les API REST et GraphQL, l'authentification des utilisateurs et les requêtes en temps réel (Live Queries)—toutes exécutées côté serveur.

En tirant parti du langage de programmation Ruby, vous construirez une architecture robuste et évolutive qui s'aligne avec le modèle de contrôleur de vue MVC dans Rails, permettant aux développeurs d'accélérer le développement d'applications web.

Vous découvrirez également comment Back4App réduit considérablement le temps et les efforts en simplifiant la gestion des serveurs et des bases de données.

Ces fonctionnalités automatisées peuvent vous éviter de configurer manuellement un serveur web ou de gérer des infrastructures complexes.

À la fin, vous disposerez d'une structure flexible et sécurisée, prête pour la production ou de futures expansions—comme des intégrations supplémentaires et une logique personnalisée avancée.

Que vous souhaitiez servir des pages web ou alimenter des applications web basées sur des données, Rails et Back4App offrent une synergie parfaite pour créer des solutions modernes dans des langages de programmation populaires.

Prérequis

Pour compléter ce tutoriel, vous aurez besoin de :

  • Un compte Back4App et un nouveau projet Back4App Commencer avec Back4app. Si vous n'avez pas de compte, vous pouvez en créer un gratuitement. Suivez le guide ci-dessus pour préparer votre projet.
  • Un environnement de développement Ruby on Rails Assurez-vous d'avoir Ruby installé (de préférence la version 2.7 ou supérieure) et le gem Rails (Rails 6 ou supérieur). Installer Rails
  • Client Ruby Parse Si vous avez l'intention d'utiliser le SDK Parse directement, vous pouvez installer le parse-ruby-client gem pour gérer les opérations de données avec Back4App.
  • Familiarité avec Rails MVC Si vous êtes nouveau dans Ruby on Rails, consultez les guides officiels de Rails ou un tutoriel pour débutants afin de comprendre l'architecture view controller MVC de Rails avant de commencer.

Assurez-vous que ces prérequis sont en place avant de commencer. Avoir votre projet Back4App configuré, ainsi que votre application Rails prête, garantit une expérience de tutoriel fluide.

Étape 1 – Créer un nouveau projet sur Back4App et se connecter

Créer un nouveau projet

La première étape pour configurer un backend côté serveur pour votre application Rails consiste à créer un nouveau projet sur Back4App. Si vous ne l'avez pas encore fait :

  1. Connectez-vous à votre compte Back4app.
  2. Cliquez sur le bouton “Nouvelle application” dans votre tableau de bord Back4App.
  3. Donnez un nom à votre application (par exemple, “Rails-Backend-Tutorial”).
Document image


Une fois le projet créé, il sera visible dans votre tableau de bord Back4App. Ce nouveau projet constitue le cœur de toutes les configurations backend dans ce tutoriel.

Connectez le SDK Parse (Optionnel : parse-ruby-client)

Pour simplifier les interactions avec la base de données et les requêtes en temps réel, Back4App utilise la plateforme Parse. Si vous souhaitez intégrer votre serveur Rails directement avec Parse, vous pouvez installer le gem parse-ruby-client. Sinon, vous pouvez vous fier aux points de terminaison REST ou GraphQL standard.

Récupérez vos clés Parse: Dans votre tableau de bord Back4App, allez dans les “Paramètres de l'application” ou “Sécurité & Clés” de votre application pour trouver votre ID d'application et clé API REST. Vous obtiendrez également votre URL du serveur Parse (par exemple, https://parseapi.back4app.com).

Document image


Ajoutez le gem parse-ruby-client à votre Gemfile:

Ruby


Ensuite, exécutez :

Bash


Initialisez Parse dans un initialiseur, tel que config/initializers/parse.rb:

Ruby


À ce stade, votre application Rails est capable de communiquer avec Back4App pour stocker et récupérer des données, orchestrer une logique personnalisée, et plus encore. Cette approche intégrée simplifie la façon dont votre application Ruby on Rails gère le backend.

Étape 2 – Configuration de la base de données

Création d'un modèle de données

Dans de nombreuses applications web, vous définissez votre structure de données dans Rails en utilisant des migrations ActiveRecord. Avec Back4App, vous avez également la possibilité de construire votre schéma directement sur le tableau de bord. Par exemple, si vous avez un Todo modèle :

  1. Accédez à “Base de données” dans votre tableau de bord Back4App.
  2. Créez une nouvelle classe nommée “Todo” et ajoutez des colonnes comme title (String) et isCompleted (Boolean).
Créer une nouvelle classe
Créer une nouvelle classe


Back4App prend en charge String, Number, Boolean, Date, File, Pointer, Relation, Array, GeoPoint, et Polygon. Rails gère généralement cela dans ses définitions de modèle, mais vous pouvez également laisser Parse créer des colonnes automatiquement lors de la première sauvegarde (si vous utilisez le SDK Parse ou les API REST/GraphQL).

Créer une colonne
Créer une colonne


Créer un modèle de données en utilisant l'agent IA

L'agent IA de Back4App peut automatiser la création de schémas :

  1. Ouvrez l'agent IA depuis votre tableau de bord.
  2. Décrivez votre modèle de données (par exemple, “Veuillez créer une nouvelle application ToDo avec un schéma de classe complet.”).
  3. Laissez l'agent générer votre schéma.
Document image


Lire et écrire des données en utilisant le SDK

Si vous choisissez d'intégrer le parse-ruby-client, vous pouvez stocker un enregistrement comme ceci :

Ruby


Lecture et écriture de données en utilisant l'API REST

Alternativement, vous pouvez utiliser des appels REST depuis votre code Rails (ou tout client externe). Par exemple, pour créer un Todo:

Bash


Lecture et écriture de données en utilisant l'API GraphQL

Back4App propose également GraphQL :

GraphQL


Travailler avec des requêtes en direct (optionnel)

Si vous souhaitez des mises à jour en temps réel dans votre application Rails, vous pouvez vous abonner aux requêtes en direct depuis un client front-end ou WebSocket. Activez les requêtes en direct dans les Paramètres du serveur, puis connectez-vous à le wss://VOTRE_SOUS_DOMAINE.b4a.io pour un flux continu de changements. Cela est utile pour les applications web dynamiques qui nécessitent des rafraîchissements de données immédiats.

Étape 3 – Application de la sécurité avec les ACL et les CLP

Aperçu rapide

La sécurité est vitale dans le développement d'applications web. Back4App propose des Listes de contrôle d'accès (ACL) et des Permissions au niveau de la classe (CLP) pour contrôler la visibilité des données à la fois au niveau de l'objet et de la classe. Cela aide à garantir que seuls les utilisateurs authentifiés ou autorisés peuvent lire/écrire des données sensibles.

Document image


Configuration des permissions au niveau de la classe

  1. Allez dans la base de données dans votre tableau de bord Back4App.
  2. Sélectionnez une classe (par exemple, “Todo”).
  3. Ouvrez l'onglet des CLP pour configurer l'accès en lecture/écriture par rôles, utilisateurs authentifiés ou le public.

Configuration des ACL

Vous pouvez définir une ACL sur un objet afin qu'un utilisateur spécifique puisse le lire ou le modifier. Dans Rails avec parse-ruby-client, cela pourrait ressembler à :

Ruby


Étape 4 – Écriture des fonctions Cloud Code

Pourquoi Cloud Code

Cloud Code exécute du JavaScript côté serveur, permettant aux développeurs d'ajouter une logique personnalisée, des déclencheurs et des validations sans gérer votre propre serveur web. Vous pourriez vouloir gérer une logique serveur supplémentaire ou effectuer des vérifications avant d'enregistrer des données.

Fonction d'exemple

Voici un exemple en JavaScript. Pendant que votre serveur Rails gère l'application principale, vous pouvez toujours utiliser Cloud Code pour traiter des données :

JS


Déploiement

Déployez via le Back4App CLI ou depuis le Tableau de bord Back4App. Cloud Code est un moyen pratique d'encapsuler la logique partagée entre tous les clients, peu importe quels langages de programmation ils utilisent. Avec le support des modules basés sur node (NPM), vous pouvez intégrer des packages externes sans effort.

Étape 5 – Configuration de l'authentification

Activer l'authentification des utilisateurs

Back4App gère les inscriptions des utilisateurs, les connexions et les sessions avec la classe Utilisateur intégrée de Parse. Vous pouvez créer un utilisateur avec un appel REST ou via n'importe quel SDK officiel.

Bash


Connexion Sociale

Vous pouvez intégrer les flux de connexion Facebook, Google ou Apple. Chaque fournisseur a une approche légèrement différente, mais le principe principal est d'échanger des jetons avec Parse. Consultez la Documentation de Connexion Sociale pour des détails sur la façon de les intégrer dans votre application rails.

Étape 6 – Gestion du Stockage de Fichiers

Configuration du Stockage de Fichiers

Utiliser Parse pour les fichiers est aussi simple que de les télécharger via l'API Parse. Si vous utilisez le client parse-ruby :

Ruby


Exemple

Vous pouvez ensuite attacher ce fichier à un objet :

Ruby

Document image


Étape 7 – Vérification par Email et Réinitialisation de Mot de Passe

  1. Activer la vérification par email dans votre tableau de bord Back4App sous Paramètres d'Email.
  2. Configurer la réinitialisation de mot de passe en personnalisant le modèle d'email et les paramètres de domaine.
  3. Déclencher des flux d'email automatiquement après l'inscription d'un utilisateur ou lorsqu'un utilisateur demande une réinitialisation de mot de passe. Cela garantit une sécurité améliorée et aide à confirmer la propriété valide de l'email.

Étape 8 – Planification des Tâches avec des Jobs Cloud

Emplois Cloud

Si vous souhaitez automatiser des tâches comme le nettoyage des données ou l'envoi de résumés quotidiens, utilisez les Emplois Cloud :

JS


Vous pouvez programmer de tels emplois dans le tableau de bord Back4App sous Paramètres du serveur > Emplois en arrière-plan pour s'exécuter quotidiennement ou à des intervalles souhaités.

Étape 9 – Intégration des Webhooks

Les Webhooks permettent à votre application Back4App d'envoyer des données à une URL externe chaque fois que certains événements se produisent. Vous pouvez transférer des données d'objet nouvelles ou mises à jour vers un autre système—comme Stripe ou Slack.

  1. Allez à Plus > WebHooks dans votre tableau de bord Back4App.
  2. Ajoutez un nouveau webhook pointant vers votre URL externe (par exemple, une route dans votre contrôleur Rails).
  3. Spécifiez l'événement qui déclenche le webhook.
Ajout d'un Webhook
Ajout d'un Webhook


Si vous préférez, vous pouvez également déclencher un webhook depuis Cloud Code en effectuant une requête HTTP dans une fonction beforeSave ou afterSave.

WebHook BeforeSave
WebHook BeforeSave


Étape 10 – Exploration du panneau d'administration Back4App

L' Application d'administration Back4App offre un moyen convivial pour les équipes non techniques ou les clients d'effectuer des opérations CRUD sur vos données Back4App. Cette interface élimine le besoin de modifications de code directes ou d'utilisation du tableau de bord Parse pour des tâches de base.

Où le trouver

Vous pouvez activer l'application d'administration depuis votre tableau de bord en allant dans Plus > Application d'administration et en cliquant sur Activer l'application d'administration.

Activer l'application Admin
Activer l'application Admin


Fonctionnalités

Une fois activé, vous pouvez :

  • Créer et gérer des données sans écrire de requêtes.
  • Surveiller les journaux, planifier des tâches en arrière-plan et gérer les notifications push (si activées).
  • Fournir un accès basé sur les rôles aux membres de l'équipe pour un editing plus sûr.
Document image


Conclusion

Félicitations ! Vous avez appris à construire un backend pour Ruby on Rails en utilisant Back4App. Dans ce tutoriel, vous avez :

  • Configuré un projet Rails pour interagir avec Back4App via REST, GraphQL ou le client Ruby Parse.
  • Mise en place d'interactions sécurisées avec la base de données en utilisant des schémas de classe, des ACL, des CLP et des requêtes en direct optionnelles.
  • Intégré l'authentification des utilisateurs avec vérification par e-mail et réinitialisation de mot de passe.
  • Déployé le code Cloud pour une logique personnalisée, des déclencheurs et des tâches planifiées.
  • Géré les téléchargements de fichiers, exploité les webhooks et exploré le panneau d'administration.

En combinant l'architecture MVC de Ruby on Rails avec l'ensemble de fonctionnalités robuste de Back4App, votre application Rails peut évoluer sans problème.

Vous économiserez un temps considérable dans la gestion de l'infrastructure, vous permettant de vous concentrer sur la création d'applications web avec des expériences utilisateur raffinées et une logique côté serveur fiable.

Prochaines étapes

  • Étendre votre application Rails en ajoutant des relations plus complexes, des stratégies de mise en cache ou des intégrations avancées.
  • Incorporer des API tierces (comme des passerelles de paiement) et exploiter le code Cloud pour un développement d'applications web plus approfondi.
  • Explorer la documentation officielle de Back4App pour une sécurité avancée, un réglage des performances, une analyse des journaux, et plus encore.
  • Expérimenter avec des fonctionnalités en temps réel pour créer des applications de chat ou des plateformes collaboratives—idéales pour les données qui changent fréquemment.

Avec ces fondamentaux en place, vous pouvez développer, itérer et faire évoluer rapidement votre serveur Rails pour des applications web modernes. Bon codage!