Comment construire un backend pour PHP ?
Dans ce tutoriel, vous apprendrez comment construire un backend pour PHP en utilisant Back4App pour alimenter une application web dynamique côté serveur.
Nous nous concentrerons sur l'intégration des services clés de Back4App, tels 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.
En suivant ces étapes, vous créerez un backend sécurisé, évolutif et robuste que vous pourrez utiliser dans vos projets PHP.
Nous verrons également pourquoi Back4App accélère le développement backend par rapport à la construction de tout à partir de zéro, afin que vous puissiez gagner du temps et des efforts.
Vous découvrirez comment mettre en œuvre une sécurité avancée, planifier des tâches avec Cloud Jobs, et connecter des intégrations externes avec des webhooks, tout en vous appuyant sur l'infrastructure de Back4App.
À la fin, vous serez prêt à faire évoluer ce backend de base côté serveur en une configuration de production complète, ou à intégrer des API tierces et une logique personnalisée pour un usage 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, créez-en un gratuitement et suivez le guide pour préparer votre nouveau projet.
- Environnement de développement PHP de base Vous pouvez le configurer localement avec PHP installé ou utiliser un environnement d'hébergement qui prend en charge PHP. Documentation officielle de PHP.
- Support cURL ou un moyen d'envoyer des requêtes HTTP La plupart des installations PHP incluent cURL par défaut. Installer cURL (Docs Officiels).
- Familiarité avec les fondamentaux des applications web Comprendre HTTP, le scripting côté serveur et les concepts de base des bases de données sera utile.
Assurez-vous d'avoir ces prérequis en place avant de plonger dans les étapes ci-dessous. Avoir votre projet Back4App configuré et un environnement PHP prêt facilitera le suivi.
La première étape pour construire votre backend côté serveur sur Back4App consiste à créer un nouveau projet. Si vous ne l'avez pas encore fait, suivez ces étapes :
- Connectez-vous à votre compte Back4App.
- Cliquez sur le bouton “Nouvelle application” dans votre tableau de bord Back4App.
- Donnez un nom à votre application (par exemple, “PHP-Backend-Tutorial”).
Une fois créé, votre nouveau projet Back4App apparaît dans le tableau de bord. Ce projet sera la base des prochaines étapes de configuration.
Puisque nous travaillons avec PHP sans SDK spécifique à Parse, nous allons nous fier aux API REST et GraphQL de Back4App pour la communication. Vous aurez besoin des identifiants suivants de votre tableau de bord Back4App :
- ID d'application
- Clé API REST
- URL du serveur Parse (généralement https://parseapi.back4app.com)
Vous pouvez les trouver en naviguant vers les Paramètres de l'application ou la section Sécurité et clés.
En PHP, vous pouvez effectuer des requêtes HTTP en utilisant cURL ou d'autres bibliothèques. Voici un court exemple d'envoi d'une requête POST à Back4App :
Ce snippet démontre comment connecter votre application PHP à votre backend Back4App. Modifiez le VOTRE_ID_APPLICATION, VOTRE_CLE_API_REST, et d'autres paramètres pour correspondre à vos propres clés. Ce faisant, votre code côté serveur peut lire et écrire des données dans votre nouveau projet.
Avec votre projet Back4App prêt, il est temps de structurer votre base de données. Un modèle de données définit comment les données de votre application web sont organisées. Par exemple, vous pourriez stocker des tâches ou des articles de blog dans des classes.
- Allez dans la section “Base de données” de votre tableau de bord Back4App.
- Créez une nouvelle classe (par exemple, “Todo”) avec des champs tels que title (String) et isCompleted (Boolean).
Back4App vous permet de créer des colonnes pour divers types de données, y compris String, Number, Boolean, Pointer, Relation, File, et d'autres. Vous pouvez également laisser le schéma être créé automatiquement lorsque vous enregistrez pour la première fois un objet depuis votre script PHP.
L'agent AI de Back4App peut automatiser la création de modèles de données :
- Ouvrez l'agent AI depuis le tableau de bord.
- Fournissez une description comme “Veuillez créer une nouvelle application ToDo sur Back4App avec un schéma de classe complet.”
- Laissez l'agent AI créer le schéma de base de données pour vous.
Cette fonctionnalité peut vous faire gagner du temps et garder votre application côté serveur cohérente.
Pour enregistrer un nouvel objet dans votre Todo classe en utilisant REST, vous pouvez envoyer une requête POST :
En PHP, vous feriez quelque chose de similaire avec cURL. Par exemple :
Pour interroger tous les Todo éléments :
Back4App prend également en charge GraphQL. Vous pouvez insérer ou récupérer des données en envoyant des requêtes ou des mutations GraphQL à :
Insérer (Mutation) :
Requête:
Si vous avez besoin de mises à jour en temps réel dans votre application web, envisagez les Requêtes en Direct. Activez les Requêtes en Direct dans votre tableau de bord Back4App, puis utilisez une approche WebSocket depuis votre environnement PHP (ou un client séparé) pour vous abonner aux changements. Bien que plus courantes dans les clients JavaScript, vous pouvez configurer des sockets séparés en PHP si nécessaire. Pour plus de détails, consultez les Docs des Requêtes en Direct de Back4App.
Les ACL (Listes de Contrôle d'Accès) et les CLP (Permissions au Niveau de la Classe) protègent vos données en contrôlant qui peut lire ou écrire des objets. Cela sécurise votre backend contre les accès non autorisés.
- Définir les Permissions au Niveau de la Classe (CLP) dans le tableau de bord de la Base de Données. Vous pouvez restreindre la lecture/écriture publique ou exiger une authentification.
- Configurer les ACL sur chaque objet si vous avez besoin d'un contrôle granulaire. Une ACL peut spécifier l'accès en lecture/écriture pour un utilisateur ou un rôle spécifique.
Pour plus de détails, consultez les Directives de Sécurité de l'Application.
Le Code Cloud vous permet d'exécuter du JavaScript côté serveur pour des tâches telles que la logique métier, les déclencheurs ou les validations, sans configurer votre propre serveur. De cette façon, vous pouvez garder certains codes cachés, effectuer des transformations de données, et plus encore.
Une simple fonction de Code Cloud qui calcule la longueur du texte:
Cette fonction peut être invoquée depuis votre script PHP en utilisant REST :
Vous pouvez déployer le Cloud Code via le Back4App CLI ou le tableau de bord Back4App.
Si vous avez besoin de bibliothèques supplémentaires, installez-les avec npm et importez-les dans votre Cloud Code. Cela est utile pour des intégrations avancées côté serveur.
Par défaut, votre projet Back4App dispose d'une authentification utilisateur via la Parse.User classe. Vous pouvez contrôler si les utilisateurs doivent vérifier leur e-mail ou seulement se connecter via un nom d'utilisateur/mot de passe.
Créer un utilisateur :
Connecter un utilisateur existant :
Les connexions sociales (Google, Apple, Facebook) sont possibles en configurant les flux OAuth. Pour des instructions, reportez-vous aux Documents de connexion sociale.
Vous pouvez télécharger des fichiers via REST :
La réponse JSON contient une URL de fichier. Vous pouvez stocker cette URL dans vos classes pour référencer le fichier téléchargé.
Vous pouvez autoriser les téléchargements de fichiers uniquement à partir d'utilisateurs authentifiés ou de certains rôles. Configurez les règles de téléchargement de fichiers dans les paramètres du serveur.
La vérification par e-mail garantit que seules des adresses e-mail valides sont utilisées. Les réinitialisations de mot de passe permettent aux utilisateurs de récupérer leurs comptes en toute sécurité.
- Dans le tableau de bord Back4App, allez à Paramètres de l'application > E-mail.
- Activer la vérification par e-mail et configurez vos modèles souhaités.
- Activer la réinitialisation du mot de passe afin que les utilisateurs puissent récupérer leurs comptes.
Une fois activé, les inscriptions des utilisateurs déclenchent un e-mail de vérification. Vous pouvez également demander des réinitialisations de mot de passe en utilisant :
Les Cloud Jobs vous permettent d'automatiser des tâches comme la suppression de données anciennes ou l'envoi d'e-mails réguliers. Vous pouvez les écrire dans votre main.js et les planifier sur le tableau de bord Back4App.
- Déployez ce code sur Back4App.
- Planifiez le travail dans le tableau de bord sous Paramètres de l'application > Paramètres du serveur > Tâches d'arrière-plan.
Les Webhooks vous permettent d'envoyer des requêtes HTTP à d'autres services lorsque des événements se produisent, comme la création d'un nouvel enregistrement dans vos classes Back4App. Cela est utile pour les intégrations externes, y compris les plateformes de paiement, les outils de marketing par e-mail ou les notifications Slack.
- Ouvrez le panneau des Webhooks dans votre tableau de bord Back4App > Plus > WebHooks.
- Ajoutez un nouveau Webhook avec l'URL de point de terminaison où vous souhaitez envoyer les données d'événement.
- Choisissez les déclencheurs (par exemple, création, mise à jour ou suppression d'objet).
Vous pouvez également définir des webhooks dans les déclencheurs de Cloud Code, en effectuant des requêtes HTTP avec des modules Node.js comme axios.
L' Application d'administration Back4App est une interface centrée sur le modèle qui permet aux utilisateurs non techniques ou aux administrateurs de gérer des données sans écrire de code. Elle offre une expérience de gestion des données plus intuitive que le tableau de bord Parse standard.
- Activer l'application d'administration en allant à Tableau de bord de l'application > Plus > Application d'administration.
- Cliquez sur “Activer l'application d'administration” et configurez vos identifiants d'administrateur.
- Choisissez un sous-domaine pour accéder à l'application d'administration.
Connectez-vous avec vos nouveaux identifiants d'administrateur pour commencer à gérer les enregistrements de la base de données, les comptes utilisateurs, les rôles, et plus encore.
Dans ce tutoriel, vous avez appris à construire un backend côté serveur pour votre PHP application web en utilisant Back4App. Vous avez configuré une base de données sécurisée, exploité des fonctionnalités en temps réel, défini une logique personnalisée dans le Cloud Code, et exploré l'authentification des utilisateurs, le stockage de fichiers et les tâches planifiées. Vous avez également vu comment les webhooks et le panneau d'administration peuvent s'intégrer à des services externes et simplifier la gestion des données.
Avec cette base en place, vous disposez d'un backend flexible et évolutif que vous pouvez étendre selon vos besoins pour votre prochain projet PHP. Continuez à explorer des techniques avancées, des rôles personnalisés ou des API tierces pour rendre votre application encore plus puissante et dynamique.
- Affinez votre application PHP prête pour la production en ajoutant du caching, de l'équilibrage de charge ou une sécurité avancée.
- Ajoutez un contrôle d'accès basé sur les rôles ou des flux d'authentification uniques, si votre base d'utilisateurs le nécessite.
- Consultez la documentation officielle de Back4App pour en savoir plus sur l'optimisation des performances, les journaux et l'analyse.
- Essayez des tutoriels supplémentaires et utilisez les techniques apprises ici pour construire des solutions concrètes, allant du commerce électronique aux plateformes sociales.