Quickstarters
Feature Overview
Comment construire un backend pour Ionic ?
35 min
introduction dans ce tutoriel, vous apprendrez à construire un backend complet pour une application ionic en utilisant back4app nous aborderons la gestion de base de données, les fonctions cloud code, les api rest et graphql, l'authentification des utilisateurs, la gestion des fichiers, et plus encore notre objectif est de vous montrer comment construire un backend pour ionic qui est sécurisé, évolutif et facile à maintenir nous utiliserons l'environnement intuitif de back4app pour simplifier la configuration côté serveur, vous évitant ainsi de configurer manuellement des serveurs ou des bases de données vous apprendrez des outils essentiels tels que la planification de tâches avec cloud jobs, l'application de règles de sécurité avancées, et l'intégration de webhooks avec d'autres services à la fin, vous serez prêt à étendre ce backend fondamental en un système prêt pour la production pour votre application ionic conditions préalables 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, créez en un gratuitement et suivez le guide ci dessus pour configurer votre projet environnement de développement ionic de base assurez vous d'avoir le ionic cli https //ionicframework com/docs/intro/cli installé et de pouvoir créer et exécuter une application ionic node js (version 14 ou supérieure) installé télécharger node js https //nodejs org/en/download/ pour gérer les dépendances et construire votre projet familiarité avec javascript/typescript et les concepts ionic documentation officielle d'ionic https //ionicframework com/docs une bonne compréhension des structures, composants et hooks de cycle de vie d'ionic sera utile étape 1 – création d'un nouveau projet sur back4app et connexion connectez vous à votre compte back4app créez une nouvelle application en utilisant le bouton “nouvelle application” dans votre tableau de bord back4app nommez votre application (par exemple, “ionic backend tutorial”) ce projet back4app est la base de votre backend contrairement à l'utilisation d'un sdk parse côté client, ce tutoriel démontrera comment effectuer des appels via rest et graphql depuis votre application ionic récupération de vos identifiants dans le tableau de bord back4app, allez à paramètres de l'application ou sécurité et clés notez votre id d'application , clé api rest , et point de terminaison graphql vous aurez besoin de ces éléments pour envoyer des requêtes depuis votre application ionic étape 2 – configuration de la base de données avoir une base de données bien structurée est la colonne vertébrale de chaque application le tableau de bord de back4app facilite la conception de modèles de données et la gestion des relations 1\ création d'un modèle de données allez à la base de données section dans votre tableau de bord back4app créez une nouvelle classe (par exemple, “todo”) et ajoutez des colonnes (par ex , titre comme une chaîne, estterminé comme un booléen) 2\ création d'un modèle de données en utilisant l'agent ia ouvrez l' agent ia depuis votre tableau de bord back4app décrivez votre schéma souhaité, comme “créer une classe todo avec des champs pour le titre (string) et iscompleted (boolean) ” l'agent ia générera automatiquement le schéma 3\ lecture et écriture de données en utilisant l'api rest depuis votre code ionic, vous pouvez exécuter des requêtes http 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" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo pour récupérer tous les todos curl x get \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ https //parseapi back4app com/classes/todo vous pouvez intégrer ces appels en utilisant fetch , axios , ou toute bibliothèque cliente http dans les fichiers de service ou de composant de votre application ionic 4\ lecture et écriture de données en utilisant l'api graphql de même, vous pouvez envoyer des mutations et des requêtes graphql depuis votre application ionic par exemple, pour créer un nouveau todo mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } exemple les appels rest ou graphql peuvent être placés dans un fichier de fournisseur/service dans votre structure ionic, puis appelés depuis vos pages 5\ travailler avec des requêtes en direct (optionnel) les requêtes en direct fournissent des mises à jour en temps réel aux données de votre application, bien qu'elles nécessitent le sdk parse ou une approche d'abonnement spécialisée si vous avez besoin de données en temps réel, vous pouvez activer live queries dans les paramètres de votre serveur back4app vous utiliseriez généralement une connexion websocket pour surveiller les changements dans vos classes cependant, pour les appels basés sur http standard, vous pouvez interroger périodiquement les points de terminaison rest ou graphql étape 3 – appliquer la sécurité avec les acl et les clp aperçu rapide les acl (listes de contrôle d'accès) vous permettent de définir des autorisations de lecture/écriture sur des objets individuels les clp (permissions au niveau de la classe) vous permettent de gérer un accès plus large au niveau de la classe ces fonctionnalités sont cruciales pour protéger les données privées et garantir que seuls les utilisateurs autorisés peuvent modifier les informations configuration des permissions au niveau de la classe dans votre tableau de bord back4app, allez à base de données > permissions au niveau de la classe configurez vos paramètres par défaut de classe (par exemple, seuls les utilisateurs authentifiés peuvent créer de nouveaux todos) configuration des acl lors de la création ou de la mise à jour des enregistrements, vous pouvez passer des acl via rest 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 '{ "title" "private task", "acl" { "user object id here" { "read" true, "write" true } } }' \\ https //parseapi back4app com/classes/todo pour plus d'informations, consultez les directives de sécurité de l'application https //www back4app com/docs/security/parse security étape 4 – écriture des fonctions de code cloud pourquoi le code cloud le code cloud vous permet d'exécuter du javascript côté serveur pour des tâches telles que la validation des données, les déclencheurs ou les intégrations vous pouvez créer des points de terminaison personnalisés pour centraliser la logique, ce qui est particulièrement utile si vous souhaitez garder le code hors du client exemple de fonction et déclencheurs dans votre main js côté serveur (back4app), vous pourriez écrire // main js parse cloud define('validatetodo', (request) => { const { title } = request params; if (!title) { throw 'a title is required '; } return `title "${title}" looks good `; }); parse cloud beforesave('todo', (request) => { const todo = request object; if (!todo get('title')) { throw 'todos must have a title '; } }); déployez cela via le back4app cli https //www back4app com/docs/local development/parse cli ou dans la section code cloud du tableau de bord appeler le code cloud depuis ionic vous pouvez envoyer une requête post 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 '{"title" "check this out"}' \\ https //parseapi back4app com/functions/validatetodo vous recevrez une réponse json contenant les données retournées ou un message d'erreur modules npm vous pouvez installer des packages comme axios dans votre environnement cloud code pour intégrer des services tiers incluez les dans main js const axios = require('axios'); parse cloud define('fetchdata', async (request) => { const url = request params url; const response = await axios get(url); return response data; }); déployez et appelez le de la même manière que vous le feriez pour toute fonction cloud code étape 5 – configuration de l'authentification activation de l'authentification des utilisateurs l'inscription et la connexion des utilisateurs peuvent être effectuées avec des appels rest à la user classe par exemple, pour s'inscrire 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" "jon", "password" "somepassword", "email" "jon\@example com" }' \\ https //parseapi back4app com/users connexion curl x get \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ \ data urlencode 'username=jon' \\ \ data urlencode 'password=somepassword' \\ https //parseapi back4app com/login en cas de succès, vous recevrez un sessiontoken conservez le en toute sécurité et incluez le dans les en têtes des futures requêtes pour des opérations authentifiées connexions sociales vous pouvez configurer des connexions sociales (comme google ou facebook) en mettant en place un flux oauth via back4app ou en utilisant des fournisseurs externes consultez la documentation sur les connexions sociales https //www back4app com/docs/platform/sign in with apple pour des étapes détaillées étape 6 – gestion du stockage de fichiers configuration du stockage de fichiers back4app offre un stockage de fichiers sécurisé vous pouvez attacher des fichiers à des objets ou les stocker indépendamment par exemple curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type image/png" \\ \ data binary "@path/to/your/image png" \\ https //parseapi back4app com/files/myimage png la réponse inclura une url de fichier que vous pouvez stocker dans une classe 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 '{ "imagefile" { " type" "file", "name" "myimage png", "url" "response url here" } }' \\ https //parseapi back4app com/classes/photo considérations de sécurité vous pouvez activer des règles de sécurité des fichiers dans les paramètres du serveur de back4app pour exiger une authentification ou limiter les téléchargements de fichiers à des rôles spécifiques étape 7 – vérification par e mail et réinitialisation du mot de passe pourquoi la vérification est importante la vérification par e mail garantit la légitimité des e mails des utilisateurs la réinitialisation du mot de passe fournit un moyen sécurisé de récupérer des identifiants perdus cela aide à maintenir la confiance et une gestion appropriée des utilisateurs dans votre application ionic configuration du tableau de bord back4app allez à paramètres de l'application > paramètres de l'e mail activer la vérification par e mail personnalisez les modèles d'e mail de vérification et de réinitialisation de mot de passe étape 8 – planification des tâches avec les cloud jobs ce que font les cloud jobs les cloud jobs vous permettent de planifier des tâches récurrentes comme le nettoyage des données ou l'envoi d'e mails récapitulatifs vous les écrivez dans votre main js parse cloud job('cleanupoldtodos', async (request) => { 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 `; }); après le déploiement allez à paramètres de l'application > paramètres du serveur > tâches en arrière plan planifiez cleanupoldtodos pour s'exécuter quotidiennement étape 9 – intégration des webhooks les webhooks vous permettent d'envoyer des données vers des services externes lorsque certains événements se produisent dans votre projet back4app si votre application ionic doit déclencher une action dans stripe ou slack après la création d'un nouvel enregistrement, vous pouvez utiliser des webhooks pour automatiser cela allez à plus > webhooks dans votre tableau de bord back4app ajoutez un nouveau webhook et définissez son point de terminaison (par exemple, https //your service com/webhook endpoint ) choisissez l' événement (par exemple, “après enregistrement” dans la classe todo ) vous pouvez également initier des requêtes sortantes à partir des déclencheurs de cloud code dans main js en utilisant des bibliothèques http standard étape 10 – exploration du panneau d'administration back4app le back4app admin app est une interface plus simple pour les parties prenantes non techniques elle fournit un moyen facile d'effectuer des opérations crud sur vos classes sans entrer dans le tableau de bord principal de parse activation de l'admin app dans le tableau de bord, allez à plus > admin app cliquez sur activer l'admin app et créez un utilisateur administrateur choisissez un sous domaine pour accéder à votre interface d'administration ce panneau vous aide à gérer les données sans écrire de requêtes, ce qui le rend idéal pour les clients ou les membres de l'équipe qui préfèrent une interface graphique conclusion en complétant ce guide sur comment construire un backend pour ionic , vous avez créé un backend sécurisé sur back4app avec des modèles de données robustes et des relations intégré avec des api rest et graphql pour lire et écrire des données depuis votre application ionic implémenté la sécurité avec des acl et des clp déployé le cloud code pour une logique et des déclencheurs personnalisés configuré l'authentification des utilisateurs et le stockage de fichiers mis en place des cloud jobs pour la planification des tâches exploité des webhooks pour des intégrations externes exploré le panneau d'administration pour simplifier l'administration des données avec cette base, votre application ionic peut évoluer en une plateforme prête pour la production ajoutez plus de logique, connectez des api tierces ou peaufinez les règles de sécurité pour correspondre à votre cas d'utilisation prochaines étapes améliorez votre build de production en implémentant la mise en cache, l'accès basé sur les rôles et la surveillance des performances intégrez des fonctionnalités avancées telles que des requêtes en temps réel ou l'authentification multi facteurs consultez la documentation officielle de back4app pour une exploration approfondie des analyses, des journaux et de l'optimisation des performances explorez d'autres tutoriels qui démontrent des applications de chat, des intégrations iot ou des fonctionnalités basées sur la localisation combinées avec les services backend robustes de back4app