Comment construire un backend pour le framework Play ?
Dans ce tutoriel, vous apprendrez à construire un backend complet pour le Play Framework en utilisant Back4App.
Nous passerons en revue les fonctionnalités essentielles pour les backends de serveur, y compris la configuration, la gestion de base de données, les fonctions Cloud Code, les API REST et GraphQL, l'authentification des utilisateurs, le stockage de fichiers et les requêtes en temps réel.
Vous verrez comment Back4App simplifie le processus de configuration, de mise à l'échelle et de maintenance d'un backend d'application web tout en vous permettant de vous concentrer sur votre code Play Framework.
En apprenant à construire un backend pour Play Framework avec Back4App, vous réduirez le temps de développement et minimiserez les maux de tête liés aux opérations de développement.
Vous ajouterez également des fonctionnalités robustes telles que la connexion sociale, la planification de tâches (Cloud Jobs) et les webhooks. Une fois que vous aurez terminé cela, vous pourrez étendre le système en une solution de niveau production, en intégrant des fonctionnalités plus avancées selon les besoins.
Lorsque vous aurez terminé, vous disposerez d'un plan solide pour créer votre prochaine application web Play Framework évolutive et sécurisée.
Vous serez prêt à plonger plus profondément dans les améliorations de performance, les intégrations ou les optimisations en mode développement pour répondre aux exigences du monde réel.
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 Play Framework fonctionnel
- Connaissances de base du Play Framework Référez-vous à la Documentation Play si vous avez besoin de revoir les fondamentaux.
- Familiarité avec REST ou GraphQL Cela vous aidera à interagir avec Back4App, surtout si vous décidez de ne pas utiliser ou si vous ne pouvez pas utiliser le SDK Parse directement.
Assurez-vous d'avoir ces conditions préalables en place avant de commencer. Avoir votre projet Back4App configuré et votre environnement Play Framework prêt vous aidera à suivre facilement.
Un nouveau projet Back4App est la colonne vertébrale de votre backend car il gère les données de votre application, l'authentification et la logique cloud. Que vous construisiez un petit prototype ou une application web à grande échelle, il est facile de connecter votre application Play Framework à un nouveau projet Back4App.
- Connectez-vous à votre compte Back4App.
- Cliquez sur “Nouvelle application” dans votre tableau de bord Back4App.
- Nommez votre application, par exemple, “Play-Framework-Backend”.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/drXO0UqsgxhFvRDiVmsMb_image.png?format=webp)
Une fois créé, votre nouveau projet apparaîtra dans le tableau de bord.
Back4App utilise Parse Server. Si votre application Play Framework prévoit d'interagir avec Back4App via le SDK Java Parse, vous pouvez l'ajouter à votre build.sbt si nécessaire. Sinon, vous pouvez utiliser des points de terminaison REST ou GraphQL.
Récupérez vos clés Parse:
- Dans votre tableau de bord Back4App, ouvrez Paramètres de l'application ou Sécurité et clés pour trouver votre ID d'application, clé API REST, clé JavaScript (si vous utilisez des appels front-end), ou clé client, ainsi que l’ URL du serveur, (généralement https://parseapi.back4app.com).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/F9teHXd_M8ERn1OPGirbi_image.png?format=webp)
Utiliser le SDK Java/Parse (Optionnel):
Si vous souhaitez une intégration directe côté serveur en utilisant le SDK Parse, ajoutez une dépendance dans votre build.sbt:
Ensuite, dans votre code Play Framework, vous pouvez initialiser Parse:
Vous pouvez placer cela dans votre Global.scala ou l'appeler depuis un point d'initialisation approprié. Cela vous prépare à une interaction directe avec votre projet Back4App. Si vous préférez, utilisez les points de terminaison REST ou GraphQL pour les opérations de données, surtout si vous souhaitez plus de contrôle sur vos requêtes HTTP ou si vous construisez des microservices.
Le service de stockage de données de Back4App prend en charge un large éventail de types de données et la création de schémas dynamiques. Cela vous permet de stocker les données de votre application Play avec un minimum de tracas.
- Ouvrez la section “Base de données” dans votre tableau de bord Back4App.
- Créez une nouvelle classe (par exemple, “Todo”) et ajoutez des colonnes (par exemple, titre en tant que chaîne, estTerminé en tant que booléen).
- Enregistrez pour finaliser votre schéma de base de données.
![Créer une nouvelle classe Créer une nouvelle classe](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/iaZ_P-7epc_LSMFIPlaZV_image.png?format=webp)
Si vous souhaitez définir rapidement votre structure de données :
- Ouvrez l'agent IA dans votre tableau de bord d'application.
- Décrivez votre modèle de données souhaité en langage simple (par exemple, “Créez un modèle ToDo simple.”).
- L'agent génère automatiquement le schéma pour vous.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/0snNZwHWzxuXlNu30n7IA_image.png?format=webp)
Si vous avez choisi d'inclure le SDK Java Parse dans votre application Play Framework, vous pouvez enregistrer et interroger des données :
Vous pouvez envoyer des requêtes HTTP depuis vos contrôleurs ou services Play Framework :
Back4App fournit également une API GraphQL :
C'est pratique si vous construisez des microservices ou si vous souhaitez une API flexible pour vos clients front-end.
Si votre application web nécessite des données en temps réel, activez les requêtes en direct:
- Activer les requêtes en direct dans le tableau de bord Back4App sous Paramètres du serveur.
- Configurez votre abonnement dans le code. Si vous utilisez le SDK Parse ou un code personnalisé, assurez-vous de configurer le liveQueryServerURL.
- Abonnez-vous aux changements pour des classes comme “Todo.”
Back4App fournit des Listes de contrôle d'accès (ACL) pour la sécurité au niveau des objets et des Permissions au niveau de la classe (CLP) pour des restrictions générales. Cela aide à garder vos serveurs en sécurité et garantit que seules des opérations autorisées se produisent.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/PdAyrw1nqA1QQJFuCc-4t_image.png?format=webp)
Dans la section Base de données de votre tableau de bord Back4App :
- Sélectionnez une classe (par exemple, “Todo”).
- Ouvrez les CLP pour limiter la lecture/écriture aux utilisateurs authentifiés, rôles ou au public.
- Configurez selon vos besoins (par exemple, “Nécessite une authentification” pour toute écriture).
Les ACL protègent des objets individuels. Par exemple, vous pouvez vous assurer qu'un utilisateur particulier peut lire ou écrire un enregistrement spécifique. Si vous utilisez le SDK Parse depuis le code Scala :
Le Cloud Code vous permet d'exécuter une logique personnalisée sur les serveurs de Back4App, ajoutant des règles commerciales ou des validations avant ou après les transactions de données. Vous n'aurez pas besoin de gérer votre propre approvisionnement de serveur ou de redémarrages en mode développement pour mettre en œuvre de telles fonctions.
Vous pouvez appeler cela depuis votre application Play via REST, GraphQL, ou si vous utilisez le SDK Parse, directement.
Utilisez le Back4App CLI ou le tableau de bord :
- Installez le CLI (exemple Linux/MacOS) :
- Configurez la clé de compte:
- Déployez:
Ou déployez via le tableau de bord en collant votre fonction dans Cloud Code > Functions et en cliquant sur “Déployer”.
Le Cloud Code prend en charge les modules NPM. Par exemple, si vous avez besoin d'un client HTTP comme axios:
Back4App utilise la Parse.User classe pour l'inscription, la connexion et la gestion des sessions. Dans votre paramètre de configuration, assurez-vous d'activer « Vérification par e-mail » et « Réinitialisation du mot de passe » si désiré.
Si vous avez besoin de connexions sociales (Google, Apple ou Facebook), configurez-les dans votre tableau de bord Back4App. Parse fournit des méthodes utilitaires ou vous pouvez vous fier aux flux OAuth standard, selon vos besoins et votre approche.
Back4App stocke des fichiers via Parse.File. Depuis Play Framework, vous pouvez télécharger avec REST ou Parse SDK.
Considérations de sécurité: Vous pouvez configurer les autorisations de téléchargement de fichiers (activer pour le public, anonyme ou authentifié) dans les paramètres du serveur Back4App.
- Naviguez vers les paramètres de messagerie dans le tableau de bord Back4App.
- Activer la vérification par e-mail et configurer les modèles d'e-mail pour les réinitialisations de mot de passe.
- Dans votre application Play, vous pouvez appeler:
Cela déclenchera Back4App pour envoyer des instructions de réinitialisation de mot de passe à l'email de l'utilisateur.
Si vous avez besoin d'un tâche de démarrage pour un travail en arrière-plan (par exemple, nettoyage des données ou génération de rapports), vous pouvez planifier des Cloud Jobs sur Back4App.
Planification:
- Déployez votre Cloud Code.
- Dans Paramètres de l'application > Paramètres du serveur > Tâches en arrière-plan, planifiez la tâche pour qu'elle s'exécute quotidiennement, hebdomadairement ou selon les besoins.
![Planification d'un Cloud Job Planification d'un Cloud Job](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5wG60YnWIST74erryTb-u_image.png?format=webp)
Si vous souhaitez notifier des services externes chaque fois que les données changent, configurez Webhooks dans Back4App.
- Allez à Plus > WebHooks dans votre tableau de bord Back4App.
- Ajouter un Webhook avec un point de terminaison (par exemple, Slack ou Stripe).
- Choisissez des déclencheurs, tels que “Nouvel enregistrement dans la classe Todo.”
![Ajout d'un Webhook Ajout d'un Webhook](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/morUMdwsAbVQ1EmBfUfAA_image.png?format=webp)
Vous pouvez également créer des Webhooks dans les déclencheurs de Cloud Code, en effectuant des requêtes HTTP directes vers des services tiers.
![Webhook AvantSauvegarde Webhook AvantSauvegarde](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/fXvy4eRzabyWmN80OMyqW_image.png?format=webp)
Le Back4App Admin App est une interface conviviale pour la gestion des données et des enregistrements. Les utilisateurs non techniques peuvent effectuer des opérations CRUD sans plonger dans le code.
- Allez à App Dashboard > Plus > Admin App.
- Activez-le et créez un utilisateur administrateur.
- Choisissez un sous-domaine pour un accès pratique.
![Activer l'Admin App Activer l'Admin App](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5BTk1ntDh9JLXurObmm_o_image.png?format=webp)
Une fois connecté, vous pouvez gérer les entrées de données sans vous mêler des tableaux de bord de bas niveau ou des outils CLI.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/jOFU8C0qiFm6wiVZXS9l0_image.png?format=webp)
Félicitations ! Vous avez appris comment construire un backend pour Play Framework en utilisant les services de Back4App. Tout au long de ce tutoriel, vous avez :
- Créé un backend sécurisé pour une application Play Framework sur Back4App.
- Mis en place une base de données, y compris la conception du schéma, les relations et les requêtes en temps réel.
- Appliqué des ACL et des CLP pour un accès sécurisé aux données.
- Écrit du Cloud Code pour une logique personnalisée, des déclencheurs et des intégrations externes.
- Configuré l'authentification des utilisateurs, la connexion sociale et les réinitialisations de mot de passe.
- Géré les téléchargements de fichiers et ajouté une sécurité de fichier optionnelle.
- Planifié des tâches en arrière-plan avec Cloud Jobs.
- Intégré avec des services tiers via Webhooks.
- Exploré le Panneau d'administration Back4App pour une gestion des données simplifiée.
Avec ces outils en place, vous pouvez optimiser le mode développement, évoluer selon vos besoins et construire des applications web robustes sur le Play Framework.
Adoptez des intégrations supplémentaires, un réglage des performances et des mesures de sécurité avancées pour amener vos backends de serveur au niveau supérieur.
- Améliorez votre configuration de production avec des outils de mise en cache, de journalisation ou de surveillance.
- Explorez la sécurité avancée avec des contrôles d'accès basés sur les rôles ou des configurations de confiance zéro.
- Intégrez des passerelles de paiement ou d'autres API tierces pour le commerce ou l'analyse.
- Consultez la documentation officielle de Back4App pour des informations plus approfondies sur les performances et le dépannage.
- Revoyez plus de tutoriels sur les applications de chat en temps réel, les solutions IoT ou les services basés sur la localisation — dont beaucoup s'appuient sur les techniques de ce guide.
![Doc contributor](https://s3.amazonaws.com/archbee-animals/cat.png)