Quickstarters
Feature Overview
Comment construire un backend pour Python ?
41 min
introduction dans ce tutoriel étape par étape, vous apprendrez à construire un backend complet pour des applications python 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 et les requêtes en temps réel—pour créer un backend sécurisé, évolutif et robuste qui communique sans effort avec votre code python python est un choix populaire parmi les langages de programmation pour le développement backend car il offre simplicité et la capacité de maintenir le côté serveur avec aisance des frameworks et bibliothèques comme django, flask, et d'autres ont longtemps fait de python un choix privilégié pour les processus de développement web en tirant parti de back4app, un développeur python peut rapidement configurer un schéma de base de données, garantir l'intégrité des données et même incorporer des tâches d'apprentissage automatique sans avoir à gérer une infrastructure complexe en cours de route, vous acquerrez une expérience pratique avec des fonctionnalités clés, telles que 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 cette structure fondamentale en une application backend python prête pour la production ou à vous intégrer facilement avec d'autres outils comme docker et kubernetes à mesure que votre projet évolue cela donnera un coup d'envoi à votre parcours de développement backend python en utilisant une plateforme fiable et des bibliothèques python robustes conditions préalables pour compléter ce tutoriel, vous aurez besoin de un compte back4app et un nouveau projet back4app commencer avec back4app https //www back4app com/docs/get started/new parse app inscrivez vous gratuitement si ce n'est pas déjà fait et créez un nouveau projet python 3 x installé assurez vous d'avoir python 3 x configuré sur votre machine télécharger python https //www python org/downloads/ le sdk python parse installez via pip avec pip install parse rest nous utiliserons ce sdk pour les interactions de données familiarité avec les concepts de base de python si vous êtes nouveau en python, consultez la documentation officielle de python https //docs python org/3/ ou un tutoriel pour débutants avoir ces conditions préalables en place vous garantira que vous pouvez suivre alors que nous explorons comment construire un backend pour python sur back4app étape 1 – configuration du projet back4app créer un nouveau projet la première étape pour construire votre backend python 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, “python backend tutorial”) une fois le projet créé, vous le verrez listé dans votre tableau de bord back4app ce projet sera la base de toutes les configurations backend discutées dans ce tutoriel connectez le sdk parse back4app s'appuie sur la plateforme parse pour gérer vos données, fournir des fonctionnalités en temps réel, gérer l'authentification des utilisateurs, et plus encore pour connecter votre code python à back4app, vous devez installer le sdk parse pertinent et l'initialiser avec les identifiants de votre tableau de bord back4app récupérez vos clés parse dans votre tableau de bord back4app, accédez à la section paramètres de l'application ou sécurité & clés pour trouver votre id d'application et votre clé api rest vous trouverez également l' url du serveur parse (souvent https //parseapi back4app com ) installez le sdk rest python de parse pip install parse rest initialisez parse dans votre script python typiquement, vous créeriez un fichier (par exemple, parse config py ) dans votre projet parse config py # parse config py from parse rest connection import register \# replace the placeholders with your back4app credentials application id = "your application id" rest api key = "your rest api key" parse server url = "https //parseapi back4app com" \# the register function initializes the connection register(application id, rest api key, master key=none) ce code garantit que chaque fois que vous importez votre parse config module ailleurs dans votre application python, il est préconfiguré pour se connecter à votre instance back4app spécifique vous avez maintenant établi une connexion sécurisée entre votre code python et le backend de back4app étape 2 – configuration de la base de données un schéma de base de données robuste est essentiel pour le développement backend python les fonctionnalités de gestion des données de back4app vous permettent de définir des tables (classes), des champs et des relations, garantissant que vous pouvez facilement stocker et récupérer des données dans votre framework web python ou toute autre bibliothèque python de votre choix création d'un modèle de données back4app crée automatiquement des schémas de classe lorsque vous enregistrez pour la première fois un objet depuis le code, ou vous pouvez définir un schéma dans le tableau de bord accédez à la section “base de données” dans votre tableau de bord back4app créez une nouvelle classe (par exemple, “todo”) et ajoutez des colonnes pertinentes, telles que titre (string) et iscompleted (boolean) créer un modèle de données en utilisant l'agent ia l'agent ia de back4app peut vous aider à créer rapidement un schéma de base de données ouvrez l'agent ia depuis votre tableau de bord d'application décrivez votre modèle de données en langage naturel (par exemple, “créez une application todo avec un schéma de classe complet ”) laissez l'agent ia générer votre schéma automatiquement lire et écrire des données en utilisant le sdk python parse une fois votre schéma prêt, enregistrer et interroger des données est simple par exemple models py from parse rest datatypes import object import parse config # ensure parse config is imported class todo(object) pass def create todo item(title, is completed=false) new todo = todo(title=title, iscompleted=is completed) new todo save() print("todo saved successfully ", new todo objectid) def fetch todos() return todo query all() \# usage \# create todo item("buy groceries", false) \# results = fetch todos() \# for todo in results \# print(todo title, todo iscompleted) lecture et écriture de données en utilisant l'api rest si vous préférez interagir via rest, vous pouvez envoyer des requêtes directement 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 lecture et écriture de données en utilisant l'api graphql back4app fournit également un point de terminaison graphql pour interroger et modifier des données mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } travailler avec des requêtes en direct (optionnel) les requêtes en direct vous permettent de recevoir des mises à jour en temps réel chaque fois que les données changent pour les activer activer les requêtes en direct dans vos paramètres du serveur utiliser une approche websocket en python pour s'abonner aux changements bien que le sdk python pour les requêtes en direct soit géré par la communauté, vous pouvez intégrer une bibliothèque websocket si votre application nécessite des mises à jour en temps réel étape 3 – application de la sécurité avec les acl et les clp aperçu rapide back4app fournit des listes de contrôle d'accès (acl) et des autorisations au niveau de la classe (clp) pour vous aider à garantir l'intégrité des données ces fonctionnalités définissent comment les utilisateurs publics ou authentifiés peuvent accéder ou modifier les données configuration des autorisations au niveau de la classe allez sur votre tableau de bord back4app , sélectionnez votre application et ouvrez la base de données sélectionnez une classe (par exemple, “todo”) allez aux autorisations au niveau de la classe et configurez les règles pour les utilisateurs publics ou authentifiés configuration des acl dans le code les acl sont des permissions fines définies sur des objets individuels par exemple from parse rest datatypes import object, acl from parse rest user import user import parse config class todoacl(object) pass def create private todo(title, owner) todo = todoacl(title=title) \# create acl that allows only the owner read/write acl = acl() acl set read access(owner objectid, true) acl set write access(owner objectid, true) todo acl = acl todo save() return todo avec les acl et les clp, vous pouvez trouver un équilibre entre sécurité et commodité lors de la création de vos applications python étape 4 – écriture des fonctions cloud code pourquoi cloud code le cloud code vous permet de décharger une logique métier importante sur le côté serveur cela peut impliquer des validations, des déclencheurs ou des tâches sophistiquées comme l'intégration d'outils d'apprentissage automatique ou d'apis externes avec votre développement backend python fonction exemple vous pourriez écrire vos fonctions dans main js (cloud code basé sur javascript) sur back4app notez que bien que vous développiez votre application en python, l'environnement cloud code sur back4app utilise node js/javascript vous pouvez appeler ces fonctions depuis votre code python ou tout autre client // main js parse cloud define("calculatetextlength", async (request) => { const { text } = request params; if (!text) { throw new error("no text provided"); } return { length text length }; }); vous pouvez appeler cette fonction en utilisant les capacités rest ou graphql de python import requests def get text length(text) url = "https //parseapi back4app com/functions/calculatetextlength" headers = { "x parse application id" "your app id", "x parse rest api key" "your rest api key", "content type" "application/json" } response = requests post(url, headers=headers, json={"text" text}) data = response json() return data get("result", {}) \# usage length info = get text length("hello back4app") print(length info get("length")) déploiement et npm le cloud code de back4app est déployé en utilisant le back4app cli https //www back4app com/docs/local development/parse cli ou via le tableau de bord vous pouvez installer des packages npm (par exemple, pour la manipulation de données, les appels d'api externes) et les référencer dans votre main js cette approche garde votre code efficace et sécurisé côté serveur étape 5 – configuration de l'authentification activer ou configurer l'authentification des utilisateurs back4app utilise la classe parse user pour l'authentification cela gère automatiquement le hachage des mots de passe, les jetons de session, et plus encore vous pouvez gérer les inscriptions, les connexions ou les réinitialisations de mot de passe avec un minimum de surcharge s'inscrire et se connecter depuis python from parse rest user import user import parse config def sign up user(username, password, email) new user = user signup(username, password, email=email) print("user signed up successfully ", new user objectid) return new user def log in user(username, password) logged user = user login(username, password) print("user logged in ", logged user username) return logged user les sessions sont gérées automatiquement par parse vous pouvez suivre l'utilisateur connecté et appeler logout() lorsque nécessaire pour plus de détails, consultez la documentation de la classe utilisateur https //www back4app com/docs/platform/users connexion sociale vous pouvez intégrer des fournisseurs populaires (comme facebook ou google) en configurant des flux oauth ou en utilisant des adaptateurs spécialisés référez vous à documentation de la connexion sociale https //www back4app com/docs/platform/sign in with apple pour plus de détails sur la configuration de ces fonctionnalités avec votre projet python étape 6 – gestion du stockage de fichiers configuration du stockage de fichiers la plateforme parse inclut un stockage de fichiers natif import requests import parse config def upload file(file path) file name = file path split('/')\[ 1] url = f"https //parseapi back4app com/files/{file name}" headers = { "x parse application id" "your app id", "x parse rest api key" "your rest api key", "content type" "image/jpeg" # or other mime type } with open(file path, 'rb') as f response = requests post(url, headers=headers, data=f) return response json() get('url') exemple vous pouvez attacher ce fichier à un objet parse en stockant son url cela maintient vos données cohérentes pendant que vos médias sont hébergés en toute sécurité par back4app considérations de sécurité vous pouvez contrôler qui peut télécharger ou accéder aux fichiers en configurant les paramètres de votre serveur parse pour n'autoriser que les utilisateurs authentifiés, par exemple cette approche garantit que vos applications python de production restent sécurisées étape 7 – vérification par e mail et réinitialisation du mot de passe aperçu la vérification par e mail et les réinitialisations de mot de passe sont cruciales pour la gestion des utilisateurs elles aident à confirmer les identités des utilisateurs et à maintenir la sécurité des comptes configuration du tableau de bord back4app activer la vérification par e mail dans paramètres de l'application > paramètres de messagerie configurer les modèles d'e mail, tels que l'adresse « de », et les instructions de réinitialisation du mot de passe mise en œuvre du code depuis python, vous pouvez déclencher des e mails de réinitialisation de mot de passe via le point de terminaison rest ou les bibliothèques parse 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 application/json" \\ d '{"email" "user\@example com"}' \\ https //parseapi back4app com/requestpasswordreset cela garantit un flux sans faille pour les réinitialisations de mot de passe directement depuis votre backend python ou toute autre interface étape 8 – planification des tâches avec des cloud jobs que font les cloud jobs les cloud jobs vous permettent d'automatiser des tâches, comme nettoyer les anciens enregistrements ou générer des rapports périodiques ceux ci s'exécutent sur l'infrastructure de back4app à des intervalles spécifiés exemple dans votre main js parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo'); 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); try { const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; } catch (err) { throw new error('error during cleanup ' + err message); } }); vous pouvez ensuite programmer ce travail pour qu'il s'exécute quotidiennement ou hebdomadairement en utilisant la section des travaux en arrière plan étape 9 – intégration des webhooks définition les webhooks permettent à votre application back4app de notifier des services externes lorsque certains événements se produisent cela est utile pour s'intégrer avec des passerelles de paiement ou des plateformes d'analyse, élargissant vos processus de développement configuration naviguer vers webhooks dans votre tableau de bord back4app ajouter un nouveau webhook point de terminaison (par exemple, https //your service com/webhook endpoint ) sélectionner les événements qui déclenchent le webhook (par exemple, création ou mise à jour d'objet) vous pouvez également définir des webhooks dans les déclencheurs de cloud code comme beforesave ou aftersave pour poster des données vers des api externes étape 10 – explorer le panneau d'administration back4app où le trouver l' application admin back4app est une interface de gestion basée sur le web elle permet à votre équipe d'effectuer des opérations crud, de gérer des données et de gérer les tâches quotidiennes sans écrire de code supplémentaire cela peut rationaliser votre processus de développement backend python fonctionnalités activer l'application admin depuis app dashboard > plus > application admin et suivez les étapes créez le premier utilisateur admin un nouveau rôle ( b4aadminuser ) et des classes sont automatiquement ajoutés à votre schéma choisissez un sous domaine pour votre interface admin et finalisez ensuite, connectez vous pour accéder à votre nouvelle application admin l'application admin facilite la mise à jour ou la suppression d'enregistrements et la gestion de vos données avec des contrôles d'accès appropriés, il est sûr de la partager avec des chefs de projet ou des parties prenantes conclusion en suivant ce guide sur comment construire un backend pour python , vous avez créé un backend sécurisé pour les applications python sur back4app configuré une base de données avec des schémas et des relations flexibles implémenté des requêtes en temps réel pour des mises à jour instantanées des données (optionnel avec les requêtes en direct) appliqué des mesures de sécurité avec des acl et des clp pour protéger les données écrit du cloud code en javascript pour gérer la logique côté serveur, facilement appelable depuis python mis en place l'authentification des utilisateurs avec vérification par e mail et flux de réinitialisation de mot de passe géré les téléchargements de fichiers dans votre code python avec une sécurité de fichier optionnelle planifié des tâches récurrentes pour des tâches automatisées intégré des services externes en utilisant des webhooks exploré le panneau d'administration pour la gestion des données et la collaboration avec une base de code python solide et un backend back4app robuste, vous êtes maintenant équipé pour aborder des structures de données avancées, incorporer des frameworks comme django et flask, et même intégrer l'apprentissage automatique python offre d'innombrables possibilités, et le combiner avec back4app signifie que vous pouvez itérer rapidement tout en vous concentrant sur la logique métier principale plutôt que sur la maintenance du serveur prochaines étapes construire une application python prête pour la production en affinant votre schéma de base de données, en ajoutant du caching et en gérant les optimisations de performance explorer des fonctionnalités avancées comme le contrôle d'accès basé sur les rôles, la journalisation avancée ou la connexion d'apis tierces pour l'analyse consulter la documentation officielle de back4app pour des informations plus approfondies sur la sécurité, l'optimisation des performances et l'analyse des journaux expérimenter avec des outils comme docker et kubernetes pour containeriser et faire évoluer votre application selon vos besoins en tirant parti des bibliothèques puissantes de python et de l'infrastructure évolutive de back4app, vous pouvez accélérer votre parcours de développement backend en toute confiance