Quickstarters
Feature Overview
Comment construire un backend pour Ruby On Rails ?
35 min
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 https //www back4app com/docs/get started/new parse app 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 https //guides rubyonrails org/getting started html client ruby parse si vous avez l'intention d'utiliser le sdk parse directement, vous pouvez installer le parse ruby client https //github com/parse community/parse sdk ruby gem pour gérer les opérations de données avec back4app familiarité avec rails mvc si vous êtes nouveau sur ruby on rails, consultez les guides officiels de rails https //guides rubyonrails org/ 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 connectez vous à votre compte back4app cliquez sur le bouton “nouvelle application” dans votre tableau de bord back4app donnez un nom à votre application (par exemple, “rails backend tutorial”) 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 ) ajoutez le gem parse ruby client à votre gemfile gem 'parse ruby client' ensuite, exécutez bundle install initialisez parse dans un initialiseur, tel que config/initializers/parse rb \# config/initializers/parse rb require 'parse' parse init application id 'your application id', api key 'your rest api key', server url 'https //parseapi back4app com' à 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 modèle todo accédez à “base de données” dans votre tableau de bord back4app créez une nouvelle classe nommée “todo” et ajoutez des colonnes comme titre (string) et estcomplété (boolean) 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 un modèle de données en utilisant l'agent ia l'agent ia de back4app peut automatiser la création de schémas ouvrez l'agent ia depuis votre tableau de bord décrivez votre modèle de données (par exemple, “veuillez créer une nouvelle application todo avec un schéma de classe complet ”) laissez l'agent générer votre schéma 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 \# app/controllers/todos controller rb def create todo class = parse object new('todo') todo class\['title'] = params\[ title] todo class\['iscompleted'] = false begin todo class save render json { message 'todo saved successfully' } rescue => e render json { error e message }, status 500 end end def index query = parse query new('todo') results = query get render json results end 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 curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "finish rails guide", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo lecture et écriture de données en utilisant l'api graphql back4app propose également graphql mutation { createtodo(input { fields { title "plan web pages" iscompleted false } }) { todo { objectid title iscompleted } } } 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 à wss\ //your subdomain 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 des objets et des classes cela aide à garantir que seuls les utilisateurs authentifiés ou autorisés peuvent lire/écrire des données sensibles configuration des permissions au niveau de la classe allez dans la base de données dans votre tableau de bord back4app sélectionnez une classe (par exemple, “todo”) 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 à todo = parse object new('todo') acl = parse acl new \# set read/write for a user acl set read access for(user id, true) acl set write access for(user id, true) todo acl = acl todo save étape 4 – écriture des fonctions cloud code pourquoi cloud code le 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 le cloud code pour traiter des données parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); déploiement déployez via le back4app cli ou depuis le tableau de bord back4app le cloud code est un moyen pratique d'encapsuler la logique partagée entre tous les clients, peu importe les langages de programmation qu'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 curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"username" "john", "password" "secretpass"}' \\ https //parseapi back4app com/users 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 https //www back4app com/docs/platform/sign in with apple 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 file data = file open('path/to/image jpg') parse file = parse file new('image jpg', file data) begin parse file save puts "file uploaded #{parse file url}" rescue => e puts "error uploading file #{e message}" end exemple vous pouvez ensuite attacher ce fichier à un objet photo obj = parse object new('photo') photo obj\['imagefile'] = parse file photo obj save étape 7 – vérification par email et réinitialisation de mot de passe activer la vérification par email dans votre tableau de bord back4app sous paramètres d'email configurer la réinitialisation de mot de passe en personnalisant le modèle d'email et les paramètres de domaine 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 parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo'); const query = new parse query(todo); const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now thirty days); query lessthan('createdat', cutoff); try { const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; } catch (err) { throw new error('error during cleanup ' + err message); } }); 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 allez à plus > webhooks dans votre tableau de bord back4app ajoutez un nouveau webhook pointant vers votre url externe (par exemple, une route dans votre contrôleur rails) spécifiez l'événement qui déclenche le 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 étape 10 – exploration du panneau d'administration back4app l' application admin 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 admin depuis votre tableau de bord en allant dans plus > application admin et en cliquant sur 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 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é des 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 étendez votre application rails en ajoutant des relations plus complexes, des stratégies de mise en cache ou des intégrations avancées incorporez des api tierces (comme des passerelles de paiement) et exploitez le code cloud pour un développement d'applications web plus approfondi explorez la documentation officielle de back4app pour une sécurité avancée, un réglage des performances, une analyse des journaux, et plus encore expérimentez 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!