Quickstarters
Feature Overview
Comment construire un backend pour Ruby ?
35 min
introduction dans ce tutoriel, vous découvrirez comment construire un backend pour ruby en utilisant back4app nous passerons en revue les fonctionnalités essentielles de back4app telles que la gestion de 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) en tirant parti du langage de programmation ruby et de back4app, vous obtenez un backend sécurisé, évolutif et robuste qui s'intègre facilement à votre écosystème de développement logiciel cette approche permet de gagner du temps et des efforts en utilisant une plateforme web open source construite sur parse vous verrez comment accélérer les projets de développement avec des principes de développement rapide en cours de route, vous apprendrez à utiliser des fonctionnalités de sécurité avancées, à planifier des tâches avec cloud jobs et à configurer des webhooks pour des intégrations externes à la fin, vous serez prêt à créer une structure de framework d'application web et à l'étendre pour des applications de production vous pourrez intégrer ruby avec back4app pour des modèles de données, une logique orientée objet et des données en temps réel profiter des meilleures pratiques du processus de développement pour le développement d'applications dans un style modèle vue contrôleur (mvc) ou toute autre architecture de votre choix améliorer votre rôle en tant que développeur backend en gérant l'authentification sécurisée des utilisateurs, les déclencheurs de cloud code, et plus encore affiner davantage vos applications web pour répondre aux besoins du monde réel en utilisant les fonctionnalités flexibles de back4app prérequis un compte back4app et un nouveau projet back4app commencer avec back4app https //www back4app com/docs/get started/new parse app inscrivez vous gratuitement si vous n'avez pas de compte un environnement ruby local vous devez avoir ruby https //www ruby lang org/en/documentation/installation/ installé en général, ruby 2 6 ou supérieur est recommandé familiarité avec le langage de programmation ruby connaissances de base de la syntaxe ruby, des concepts orientés objet et de l'utilisation courante des langages de programmation bundler (optionnel mais recommandé) bundler aide à gérer les gems pour votre framework d'application web ou vos projets de développement documentation officielle de bundler https //bundler io/ assurez vous d'avoir tous ces prérequis en place avant de commencer avoir votre projet back4app créé et votre environnement ruby prêt vous offrira une expérience de tutoriel fluide étape 1 – créer un nouveau projet sur back4app et se connecter pourquoi cette étape est importante un nouveau projet back4app est la base de votre développement d'application il héberge votre base de données, gère l'authentification des utilisateurs et fournit l'environnement pour exécuter cloud code créer un nouveau projet connectez vous à back4app cliquez sur nouvelle application dans votre tableau de bord back4app donnez un nom à votre application (par exemple, “ruby backend tutorial”) installer parse sdk et se connecter à back4app le parse sdk pour ruby vous aide à interagir avec le backend de back4app vous pouvez l'installer via gem étape 2 – configuration de la base de données 1\ création d'un modèle de données dans back4app, une classe est comme une table de base de données par exemple, vous pouvez créer une classe “todo” pour stocker des tâches vous pouvez créer des classes à la volée depuis ruby ou les définir dans le tableau de bord pour un contrôle précis 2\ création d'un modèle de données en utilisant l'agent ia ouvrez l'agent ia dans votre tableau de bord d'application décrivez votre modèle de données en langage simple (par exemple, “une application todo avec des champs titre, iscompleted”) laissez l'agent ia créer votre schéma automatiquement 3\ lecture et écriture de données en utilisant ruby (parse sdk) voici un exemple simple de création d'un nouvel enregistrement dans une classe “todo” en utilisant le sdk ruby require relative 'parse config' \# create a todo object todo = parse object new("todo") todo\["title"] = "buy groceries" todo\["iscompleted"] = false saved todo = todo save puts "todo saved with objectid #{saved todo\['objectid']}" \# query todos query = parse query new("todo") results = query get puts "fetched #{results size} todos " results each do |t| puts "title #{t\['title']}, completed #{t\['iscompleted']}" end 4\ lecture et écriture de données en utilisant l'api rest vous pouvez également créer et récupérer des enregistrements en utilisant l'interface rest 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" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/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" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo 5\ lecture et écriture de données en utilisant l'api graphql back4app offre un point de terminaison graphql pour des applications web mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } 6\ travailler avec des requêtes en direct (optionnel) activez les requêtes en direct dans le tableau de bord back4app (paramètres du serveur) et abonnez vous depuis votre script ruby si votre environnement prend en charge les connexions websocket vous pouvez également les utiliser pour des mises à jour en temps réel dans un framework d'application web qui prend en charge la concurrence étape 3 – application de la sécurité avec les acl et les clp 1\ vue d'ensemble les acl (listes de contrôle d'accès) et les clp (permissions au niveau de la classe) protègent vos données de manière orientée objet les acl vous permettent de décider qui peut lire ou écrire chaque enregistrement les clp vous permettent de gérer les permissions pour une classe entière 2\ définir les permissions au niveau de la classe (clp) et les acl allez dans la base de données de votre application et sélectionnez votre classe, comme “todo ” configurez les clp de votre classe sous “sécurité” ou “permissions au niveau de la classe ” pour définir des acl sur un enregistrement owner = parse user current todo = parse object new("todo") acl = parse acl new(owner) acl public read = false acl public write = false todo acl = acl todo\["title"] = "private task" todo save cela garantit que seul le propriétaire peut lire/écrire cette tâche todo particulière étape 4 – écriture de fonctions cloud code 1\ pourquoi cloud code cloud code aide à intégrer la logique métier et les validations directement dans le serveur c'est idéal pour garantir l'intégrité des données et effectuer des tâches non exposées aux clients 2\ exemple de fonction dans le main js de votre projet (ou similaire) sur back4app, vous pouvez définir une fonction cloud parse cloud define('calculatetextlength', (request) => { const { text } = request params; if (!text) { throw 'no text provided'; } return { length text length }; }); remarque bien que notre application principale utilise ruby, cloud code dans parse est basé sur javascript c'est ainsi que vous intégrez la logique côté serveur sur back4app 3\ déploiement back4app cli tableau de bord back4app copiez/collez votre fonction dans cloud code > fonctions et cliquez sur déployer 4\ modules npm vous pouvez installer des modules npm (par exemple, axios) pour votre environnement cloud code par exemple npm install axios dans votre main js , incluez le et effectuez des appels api externes selon les besoins étape 5 – configuration de l'authentification 1\ paramètres du tableau de bord activez l'authentification des utilisateurs dans les paramètres de l'application back4app utilise parse user pour la gestion des utilisateurs 2\ inscription / connexion avec ruby require relative 'parse config' \# signing up a user user = parse user new({ username "alice", password "secret123", email "alice\@example com" }) begin user sign up puts "user signed up successfully" rescue => e puts "error #{e message}" end \# logging in a user logged in user = parse user login("alice", "secret123") puts "logged in as #{logged in user username}" 3\ connexion sociale pour intégrer des connexions sociales (facebook, google, apple), consultez les documents de connexion sociale https //www back4app com/docs/platform/sign in with apple les détails de mise en œuvre varient selon chaque fournisseur étape 6 – gestion du stockage de fichiers 1\ configuration du stockage de fichiers back4app gère les téléchargements de fichiers via l'objet parse file en ruby file = parse file new("image png", file read("/path/to/image png")) saved file = file save puts "file saved at #{saved file url}" \# attach file to an object photo = parse object new("photo") photo\["imagefile"] = saved file photo save puts "photo object created with file reference " 2\ exemple les utilisateurs peuvent télécharger des images, des documents ou d'autres fichiers récupérez l'url pour l'afficher dans votre frontend ou d'autres services 3\ considérations de sécurité configurez votre application pour restreindre les téléchargements de fichiers aux utilisateurs authentifiés si nécessaire étape 7 – vérification par e mail et réinitialisation du mot de passe 1\ pourquoi c'est important la vérification par e mail garantit des adresses e mail valides pour les nouveaux comptes la réinitialisation du mot de passe permet à vos utilisateurs de récupérer leurs comptes en toute sécurité 2\ configuration du tableau de bord back4app activer la vérification par e mail configurer des modèles personnalisés pour la vérification et la réinitialisation du mot de passe 3\ exemple de code depuis ruby, vous pouvez demander une réinitialisation de mot de passe 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 '{"email" "alice\@example com"}' \\ https //parseapi back4app com/requestpasswordreset cela envoie un lien de réinitialisation de mot de passe à l'e mail de l'utilisateur étape 8 – planification des tâches avec les cloud jobs 1\ ce que font les cloud jobs les travaux cloud exécutent des tâches périodiques comme le nettoyage des anciennes données ou l'envoi d'e mails récapitulatifs 2\ exemple de travail 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); const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; }); planifiez le sous paramètres de l'application > paramètres du serveur > travaux en arrière plan dans votre tableau de bord back4app étape 9 – intégration des webhooks 1\ définition les webhooks vous permettent d'envoyer des requêtes http à des services externes chaque fois que certains événements se produisent dans back4app c'est idéal pour se connecter à des services tiers ou déclencher des tâches dans d'autres langages de programmation 2\ configuration allez dans le tableau de bord back4app de votre application > plus > webhooks , et ajoutez un nouveau webhook avec l'url de votre service externe 3\ exemple envoyez des données à stripe ou slack chaque fois qu'un nouveau “todo” est créé alternativement, vous pouvez définir des déclencheurs dans le cloud code et effectuer des requêtes http dans ces déclencheurs étape 10 – exploration du panneau d'administration back4app 1\ où le trouver dans le tableau de bord de votre application, cliquez sur plus > application admin , puis activez le 2\ fonctionnalités interface graphique pour la gestion des données sans code outils pour analyser les journaux, planifier des tâches en arrière plan, et plus contrôle d'accès basé sur les rôles, vous permettant de fournir aux utilisateurs non techniques un moyen sûr de gérer le contenu conclusion vous avez construit un backend sécurisé et évolutif pour votre application ruby sur back4app, en utilisant le langage de programmation ruby pour vous connecter à l'api parse votre processus de développement comprend maintenant une base de données avec des fonctionnalités de sécurité avancées (acl, clp) mises à jour de données en temps réel via des requêtes en direct déclencheurs de cloud code pour une logique métier personnalisée authentification des utilisateurs et gestion des fichiers tâches planifiées avec des cloud jobs et des webhooks pour des services externes un panneau d'administration convivial pour la gestion des données avec cette base, vous pouvez étendre vos applications web ou d'autres projets de langages de programmation pour répondre aux exigences du monde réel que vous soyez un développeur backend expérimenté ou que vous commenciez tout juste avec ruby, back4app offre une plateforme orientée objet et facile à utiliser pour un développement rapide n'hésitez pas à intégrer des api ou des fonctionnalités supplémentaires, et explorez d'autres personnalisations pour s'aligner avec les modèles de contrôleur de vue (mvc) ou d'autres styles architecturaux prochaines étapes affinez votre environnement de production en ajoutant un cache avancé, un accès basé sur des rôles ou des optimisations de performance ajoutez des relations plus complexes entre les classes de données pour alimenter des cas d'utilisation réels explorez la documentation officielle de back4app pour la sécurité, les informations de performance et l'analyse expérimentez avec d'autres frameworks web open source pour étendre les fonctionnalités de votre application profitez de la construction d'applications web plus robustes et riches en fonctionnalités avec ruby et back4app!