Comment construire un backend pour Ruby ?
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.
- Tirer parti 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.
- Un compte Back4app et un nouveau projet Back4app Commencer avec Back4app. Inscrivez-vous gratuitement si vous n'avez pas de compte.
- Un environnement Ruby local Vous devez avoir Ruby 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.
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.
- 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:
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.
- 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.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/0snNZwHWzxuXlNu30n7IA_image.png?format=webp)
Voici un exemple simple de création d'un nouvel enregistrement dans une classe “Todo” en utilisant le SDK Ruby :
Vous pouvez également créer et récupérer des enregistrements en utilisant l'interface REST :
Back4App offre un point de terminaison GraphQL pour des applications web:
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.
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.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/PdAyrw1nqA1QQJFuCc-4t_image.png?format=webp)
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 :
Cela garantit que seul le propriétaire peut lire/écrire cette tâche Todo particulière.
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.
Dans le main.js de votre projet (ou similaire) sur Back4App, vous pouvez définir une fonction Cloud :
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.
- Back4App CLI:
- Tableau de bord Back4App: Copiez/collez votre fonction dans Cloud Code > Fonctions et cliquez sur Déployer.
Vous pouvez installer des modules npm (par exemple, axios) pour votre environnement Cloud Code. Par exemple :
Dans votre main.js, incluez-le et effectuez des appels API externes selon les besoins.
Activez l'authentification des utilisateurs dans les Paramètres de l'application. Back4App utilise Parse.User pour la gestion des utilisateurs.
Pour intégrer des connexions sociales (Facebook, Google, Apple), consultez les Documents de connexion sociale. Les détails de mise en œuvre varient selon chaque fournisseur.
Back4App gère les téléchargements de fichiers via l'objet Parse::File. En Ruby:
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.
Configurez votre application pour restreindre les téléchargements de fichiers aux utilisateurs authentifiés si nécessaire.
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é.
- Activer Vérification par e-mail.
- Configurer des modèles personnalisés pour la vérification et la réinitialisation du mot de passe.
Depuis Ruby, vous pouvez demander une réinitialisation de mot de passe :
Cela envoie un lien de réinitialisation de mot de passe à l'e-mail de l'utilisateur.
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.
Planifiez-le sous Paramètres de l'application > Paramètres du serveur > Travaux en arrière-plan dans votre tableau de bord Back4App.
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.
Allez dans le tableau de bord Back4App de votre application > Plus > WebHooks, et ajoutez un nouveau Webhook avec l'URL de votre service externe.
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 code Cloud et effectuer des requêtes HTTP dans ces déclencheurs.
Dans le tableau de bord de votre application, cliquez sur Plus > Application Admin, puis activez-le.
- 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.
![Activer l'application Admin Activer l'application Admin](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5BTk1ntDh9JLXurObmm_o_image.png?format=webp)
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 vous aligner sur les modèles de contrôleur de vue de modèle (MVC) ou d'autres styles architecturaux.
- 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 sur la 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!
![Doc contributor](https://s3.amazonaws.com/archbee-animals/cat.png)