Quickstarters

Comment créer un backend pour Swift ?

45min

Introduction

Dans ce tutoriel, vous apprendrez à construire un backend complet pour une application Swift en utilisant Back4App.

Nous allons passer en revue l'intégration des 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, les requêtes en temps réel (Live Queries), et plus encore—pour créer un backend sécurisé, évolutif et robuste qui communique sans problème avec votre application cliente basée sur Swift.

En tirant parti de la configuration rapide et de l'environnement intuitif de Back4App, vous réduirez considérablement le temps et les efforts nécessaires par rapport à la configuration manuelle des serveurs et des bases de données.

En cours de route, vous acquerrez une expérience pratique avec des fonctionnalités cruciales, y compris des fonctionnalités de sécurité avancées, la planification de tâches avec Cloud Jobs, et la configuration de webhooks pour des intégrations externes.

À la fin de ce tutoriel, vous serez bien préparé à améliorer ce service backend fondamental en une application prête pour la production ou à intégrer facilement une logique personnalisée et des API tierces selon vos besoins.

Vous verrez comment travailler avec une plateforme BaaS peut transformer le développement backend en une expérience plus fluide, surtout lors de la création d'un backend rapide ou de toute autre application backend. Commençons!

Prérequis

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 de développement Swift Vous pouvez utiliser Xcode comme votre IDE pour créer des applications iOS ou macOS en utilisant Swift. Assurez-vous d'avoir une version stable récente de Xcode installée sur votre machine.
  • Familiarité avec le langage de programmation Swift Si vous êtes nouveau dans Swift, consultez la Documentation Swift officielle ou un tutoriel pour débutants avant de commencer.
  • Parse Swift SDK Si vous utilisez CocoaPods, ajoutez pod 'ParseSwiftOG' à votre Podfile. Ou si vous utilisez Swift Package Manager, ajoutez .package(url: "https://github.com/netreconlab/Parse-Swift.git", from: "5.0.0") à vos dépendances. Lisez-en plus dans les Docs Parse Swift.

Assurez-vous d'avoir tous ces prérequis en place avant de commencer. Avoir votre projet Back4App configuré et votre environnement Swift local prêt vous aidera à suivre plus facilement.

Étape 1 – Créer un nouveau projet sur Back4App et se connecter

La première étape pour construire votre backend Swift sur Back4App consiste à créer un nouveau projet. Ce projet est la base de toutes les configurations backend discutées dans ce tutoriel. Swift peut se connecter sans problème à votre nouveau backend en utilisant le SDK Parse Swift. Voyons comment.

Créer un nouveau projet

  1. Connectez-vous à votre compte Back4App.
  2. Cliquez sur le bouton “Nouvelle application” dans votre tableau de bord Back4App.
  3. Nommez votre application (par exemple, “Swift-Backend-Tutorial”).
Document image


Après la création, vous verrez la nouvelle application listée dans votre tableau de bord. C'est ici que vous configurerez votre base de données, vos fonctions cloud et d'autres paramètres cruciaux pour votre application backend.

Connectez le SDK Parse Swift

Back4App est alimenté par la plateforme Parse, qui fournit la base de votre base de données, des mises à jour en temps réel, l'authentification, et plus encore. Votre application Swift peut se connecter à Back4App en installant et en initialisant le SDK Parse Swift.

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é client. Vous verrez également votre URL du serveur Parse (souvent https://parseapi.back4app.com).

Document image


Installez le SDK Parse Swift:

  • Gestionnaire de paquets Swift (Recommandé):
Swift

  • CocoaPods:
Ruby


Initialisez Parse dans votre application:

Vous pouvez faire cela dans le point d'entrée principal de votre projet Swift (par exemple, AppDelegate.swift ou la structure SwiftUI @main . Par exemple :

Swift


Avec cette configuration, votre client Swift peut maintenant envoyer des requêtes sécurisées à Back4App. Vous avez établi une connexion robuste qui simplifie les opérations de données sans nécessiter d'appels REST ou GraphQL manuels (bien que vous puissiez toujours les utiliser si vous le souhaitez).

Étape 2 – Configuration de la base de données

Dans cette étape, vous allez configurer votre base de données backend sur Back4App et voir comment gérer les données depuis votre code Swift. Back4App utilise le modèle de données Parse, vous permettant de stocker des objets dans des structures semblables à des classes. Swift peut interagir facilement avec ces classes via le SDK Parse Swift.

Création d'un modèle de données

  1. Accédez à la section “Base de données” dans votre tableau de bord Back4App.
  2. Créez une nouvelle classe (par exemple, “Todo”).
  3. Ajoutez des colonnes pour les données dont vous avez besoin, telles que “title” (String) et “isCompleted” (Boolean).
Créer une nouvelle classe
Créer une nouvelle classe


Vous pouvez également laisser le SDK Parse Swift créer ces colonnes automatiquement la première fois que vous enregistrez un objet. Dans tous les cas, votre schéma doit correspondre aux données que vous stockez afin que votre application puisse les gérer sans problème.

Créer un modèle de données en utilisant l'agent IA

Back4App fournit un agent IA qui peut vous aider à concevoir votre modèle de données :

  1. Ouvrez l'agent IA depuis le tableau de bord ou le menu de votre application.
  2. Décrivez votre modèle de données en langage naturel. Par exemple : “Veuillez créer un nouveau projet Swift avec un schéma de classe ToDo.”
  3. Laissez l'agent IA créer le schéma pour vous automatiquement.
Document image


Lire et écrire des données : SDK Parse Swift

En utilisant le SDK Parse Swift, vous pouvez créer une structure conforme à ParseObject pour représenter vos données. Par exemple, si vous avez une classe Todo :

Swift


Créez un objet Todo et enregistrez-le:

Swift


Interroger tous les éléments Todo:

Swift


Lecture et écriture de données : API REST

Si vous préférez les requêtes HTTP standard, vous pouvez utiliser l'API REST. Par exemple, pour créer un nouveau Todo :

Bash


Lecture et écriture de données : API GraphQL

GraphQL est également pris en charge. Voici un exemple de mutation pour créer un Todo :

GraphQL


Travailler avec des requêtes en direct

Si votre application Swift a besoin de mises à jour en temps réel, Back4App prend en charge les requêtes en direct. Pour iOS:

  1. Activer les requêtes en direct dans les Paramètres du serveur de votre application.
  2. Connectez-vous en spécifiant Parse.liveQueryServerURL dans votre application:
Swift

  1. Abonnez-vous aux mises à jour en direct:
Swift


Maintenant, chaque fois qu'un Todo est créé, mis à jour ou supprimé, vous recevrez des mises à jour en temps réel. Cela est particulièrement utile pour les fonctionnalités collaboratives ou sensibles au temps dans le développement de votre backend Swift.

Étape 3 – Application de la sécurité avec les ACL et les CLP

Qu'est-ce que les ACL et les CLP ?

Back4App utilise les Listes de Contrôle d'Accès (ACL) et les Permissions au Niveau de la Classe (CLP) pour sécuriser vos données. Les ACL vous permettent de définir des permissions par objet, tandis que les CLP définissent des règles d'accès par défaut pour toute une classe.

Document image


Permissions au Niveau de la Classe

Dans le tableau de bord Back4App :

  1. Allez à Base de données et sélectionnez une classe (par exemple, “Todo”).
  2. Ouvrez les Permissions au Niveau de la Classe.
  3. Configurez les restrictions sur la lecture, l'écriture ou l'accès public.

Listes de Contrôle d'Accès (ACL)

Lors de la création ou de la mise à jour d'un ParseObject en Swift, vous pouvez définir un ACL. Par exemple :

Swift


Cela garantit que seul l'utilisateur spécifié peut lire ou modifier cet objet. La combinaison des ACL et des CLP forme un modèle de sécurité robuste et stratifié pour les données de votre application.

Étape 4 – Écriture de fonctions Cloud Code

Pourquoi Cloud Code ?

Le Cloud Code vous permet d'exécuter une logique Swift côté serveur (ou JavaScript si vous utilisez le style original de Cloud Code de Parse) sans exposer de secrets au client. C'est parfait pour les validations, les déclencheurs, les tâches planifiées, et plus encore.

Exemple de fonction

Voici un exemple basé sur JavaScript, mais vous pouvez également travailler en TypeScript ou appeler depuis Swift. Dans votre dossier Cloud Code de Back4App, créez main.js:

JS


Vous voudrez peut-être installer des modules NPM en les incluant dans votre package.json fichier, puis en les appelant dans main.js. Une fois déployé, vous pouvez invoquer ces fonctions depuis votre code Swift en utilisant callFunction.

Déploiement

Déployez votre Cloud Code via :

Bash


Vous pouvez également déployer via le tableau de bord Back4App en allant à Cloud Code > Functions. Collez votre code dans l'éditeur en ligne et cliquez sur Déployer.

Appel depuis Swift

Swift


Étape 5 – Configuration de l'authentification

Activation de l'authentification des utilisateurs

Dans le Tableau de bord, vous verrez une classe par défaut _User pour les comptes utilisateurs. Activez tout fournisseur d'authentification supplémentaire (Apple, Facebook, Google, etc.) dans les Paramètres d'authentification de votre application si nécessaire.

Inscription et connexion (Swift)

Swift


Connexion sociale

Back4App prend en charge la connexion OAuth avec Google, Apple et Facebook. Configurez ces fournisseurs sur votre page de paramètres d'authentification, et utilisez le code d'intégration Parse Swift pertinent dans votre application Swift (par exemple, ParseFacebookUtils ou ParseAppleUtils) pour gérer les flux d'authentification. Pour plus de détails, consultez la Documentation sur la connexion sociale.

Étape 6 – Gestion du stockage de fichiers

Configuration du stockage de fichiers

Vous pouvez stocker des images, des vidéos ou tout fichier dans Back4App. En Swift, vous avez ParseFile:

Swift


Ensuite, vous pouvez attacher ce fichier à un ParseObject et l'enregistrer. Récupérez l'URL du fichier pour l'afficher ou le télécharger ailleurs.

Considérations de sécurité

Pour restreindre l'accès aux fichiers, vous pouvez utiliser la configuration des fichiers de Parse Server. Par exemple, vous pourriez autoriser uniquement les utilisateurs authentifiés à télécharger des fichiers ou spécifier des autorisations de lecture/écriture dans votre code Swift.

Étape 7 – Vérification par e-mail et réinitialisation du mot de passe

Pourquoi des e-mails de vérification et de réinitialisation?

Valider l'e-mail d'un utilisateur garantit une boîte aux lettres réelle et active. La réinitialisation du mot de passe aide vos utilisateurs à retrouver en toute sécurité l'accès à leur compte s'ils oublient leurs identifiants.

Configuration dans Back4App

Allez à Paramètres de l'email et activez Vérification de l'email. Modifiez vos modèles d'email pour les flux de vérification et de réinitialisation.

Déclencher une réinitialisation de mot de passe depuis Swift

Swift


Étape 8 – Planification des tâches avec les travaux Cloud

Travaux Cloud

Vous pouvez planifier des tâches côté serveur sur Back4App. Par exemple, nettoyer les anciennes données ou envoyer des rapports hebdomadaires. Définissez un travail dans votre code Cloud et planifiez-le via le tableau de bord Back4App.

JS


Ensuite, dans les Paramètres du serveur de Back4App > Travaux en arrière-plan, vous pouvez le planifier pour qu'il s'exécute quotidiennement ou à tout intervalle.

Planification d'un travail dans le cloud
Planification d'un travail dans le cloud


Étape 9 – Intégration des Webhooks

Qu'est-ce que les Webhooks ?

Les webhooks permettent à votre application de POST automatiquement des données vers des services externes chaque fois que certains événements se produisent. C'est parfait pour s'intégrer avec Slack, Stripe ou d'autres API tierces.

Configuration

  1. Dans votre tableau de bord Back4App, allez à Plus > Webhooks.
  2. Ajoutez un point de terminaison webhook (par exemple, https://example.com/webhook).
  3. Choisissez des déclencheurs (par exemple, création d'objet dans “Todo”).
Ajout d'un Webhook
Ajout d'un Webhook


Pour une logique personnalisée, vous pouvez également émettre des requêtes vers des URL externes dans les déclencheurs de Cloud Code :

Avant de sauvegarder le WebHook
Avant de sauvegarder le WebHook


Étape 10 – Explorer le panneau d'administration Back4App

Qu'est-ce que le panneau d'administration ?

L' Application d'administration Back4App est une interface point-and-click pour le personnel non technique ou de support. Elle fournit une interface graphique simple pour effectuer des opérations CRUD sur vos données—idéale pour gérer des données en dehors de votre environnement de développement.

Activation de l'application d'administration

  1. Allez au tableau de bord de l'application > Plus > Application d'administration.
  2. Activez l'application d'administration et choisissez un sous-domaine.
  3. Créez un utilisateur administrateur.
Activer l'application d'administration
Activer l'application d'administration


Une fois activée, toute personne disposant des identifiants appropriés peut visualiser et modifier vos données à partir d'une interface web conviviale—aucun code requis.

Conclusion

En suivant ce tutoriel complet, vous avez appris comment construire un backend pour Swift en utilisant Back4App. Plus précisément, vous avez :

  • Créé un backend sécurisé pour votre application Swift.
  • Configuré une base de données avec des schémas de classe et des relations de données.
  • Travaillé avec des requêtes en temps réel (Live Queries) pour des mises à jour immédiates.
  • Mis en place une sécurité robuste avec des ACL et des CLP.
  • Utilisé Cloud Code pour exécuter une logique personnalisée côté serveur.
  • Implémenté l'authentification des utilisateurs avec vérification et réinitialisation de mot de passe.
  • Géré les téléchargements de fichiers de manière sécurisée.
  • Planifié des tâches automatisées avec Cloud Jobs.
  • Appris sur les Webhooks pour intégrer des API externes.
  • Exploré le panneau d'administration pour la gestion directe des données.

Vous avez maintenant un service backend fonctionnel et évolutif pour votre application Swift—un service qui peut être facilement étendu pour gérer des fonctionnalités plus complexes, se connecter à des services tiers ou s'adapter à un trafic utilisateur plus important. Vous avez également vu de première main comment la combinaison des fonctionnalités BaaS de Back4App et de la syntaxe moderne de Swift peut accélérer le développement backend.

Prochaines étapes

  • Construire une application Swift prête pour la production en développant votre UI/UX.
  • Intégrer des fonctionnalités avancées comme une authentification spécialisée (basée sur les rôles, SSO), ou une logique Cloud Code supplémentaire pour des règles spécifiques au domaine.
  • Consulter la documentation officielle de Back4App pour des plongées plus profondes dans les journaux, l'analyse ou la sécurité avancée.
  • Explorer d'autres tutoriels sur le chat en temps réel, les tableaux de bord IoT ou les applications basées sur la localisation. Combinez-les avec des API externes pour résoudre des défis du monde réel.

C'est ainsi que l'on construit un backend pour Swift en utilisant Back4App ! Bon codage !