Quickstarters
CRUD Samples
Comment créer une appli CRUD avec Elm ?
35 min
aperçu dans ce guide, vous apprendrez à construire une application crud complète (créer, lire, mettre à jour, supprimer) en utilisant elm nous utiliserons back4app comme notre service backend pour gérer les données sans effort ce guide explique comment configurer un projet back4app, concevoir un schéma de données flexible et intégrer des opérations crud dans une application elm en utilisant des appels d'api rest dans un premier temps, vous allez configurer un projet back4app, ici nommé basic crud app elm , qui fournit une base de données robuste et non relationnelle vous concevrez votre modèle de données—soit manuellement, soit en utilisant l'agent ia intelligent de back4app ensuite, vous gérerez votre backend avec l'application admin de back4app, qui offre une interface intuitive de glisser déposer pour la manipulation des données enfin, vous connecterez votre application elm à back4app en effectuant des requêtes api restful tout en garantissant des opérations de données sécurisées à la fin de ce tutoriel, vous aurez une application elm prête pour la production qui prend en charge les fonctionnalités crud de base et l'authentification sécurisée des utilisateurs aperçus essentiels apprenez à créer une application elm crud associée à un backend non relationnel comprenez comment structurer un backend évolutif et le connecter à un front end elm utilisez l'application back4app admin pour des actions de création, lecture, mise à jour et suppression sans faille explorez les options de déploiement, y compris docker, pour lancer votre application elm facilement prérequis avant de commencer, assurez vous d'avoir un compte back4app avec un projet configuré besoin d'aide ? visitez commencer avec back4app https //www back4app com/docs/get started/new parse app un environnement de développement elm installez elm et utilisez votre éditeur préféré une familiarité avec les bases d'elm, la programmation fonctionnelle et les requêtes http consultez le guide elm https //guide elm lang org/ si nécessaire étape 1 – initialiser votre projet créer un nouveau projet back4app connectez vous à votre compte back4app cliquez sur le bouton “nouvelle application” depuis votre tableau de bord nommez votre projet basic crud app elm et suivez les instructions pour compléter la configuration créer un nouveau projet une fois votre projet prêt, il apparaîtra sur votre tableau de bord, préparant le terrain pour votre configuration backend étape 2 – élaboration du schéma de données configuration de vos structures de données pour cette application crud, vous allez créer plusieurs collections (ou classes) dans back4app ci dessous, des exemples des principales collections et de leurs champs pour soutenir les opérations crud 1 collection d'articles cette collection stocke des détails sur chaque entrée champ type détails id identifiant d'objet identifiant unique généré automatiquement titre chaîne nom de l'article description chaîne brève description de l'article créé à date horodatage marquant la création mis à jour le date horodatage marquant la dernière mise à jour 2 collection des utilisateurs cette collection gère l'authentification des utilisateurs et les informations d'identification champ type détails id identifiant d'objet identifiant unique généré automatiquement nom d'utilisateur chaîne nom d'utilisateur unique pour l'utilisateur email chaîne adresse e mail unique hashdemotdepasse chaîne mot de passe crypté pour la sécurité créé à date horodatage de la création du compte mis à jour le date horodatage de la dernière mise à jour du compte vous pouvez ajouter ces collections et champs manuellement via le tableau de bord back4app créer une nouvelle classe vous pouvez ajouter des champs en sélectionnant le type approprié, en nommant le champ et en spécifiant s'il est obligatoire créer une colonne utiliser l'agent ai de back4app pour la configuration du schéma l'agent ai de back4app simplifie la création de votre schéma de données en fonction de votre description ce processus automatisé garantit que votre schéma est configuré pour toutes les actions crud nécessaires pour utiliser l'agent ai accéder à l'agent ai connectez vous à votre tableau de bord back4app et localisez l'agent ai dans les paramètres de votre projet détailler votre schéma de données décrivez les collections et les champs dont vous avez besoin réviser et confirmer vérifiez le schéma proposé et approuvez le pour configurer votre backend exemple de prompt create the following collections in my back4app project 1\) collection items \ fields \ id objectid (auto generated) \ title string \ description string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) collection users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ passwordhash string \ createdat date (auto generated) \ updatedat date (auto updated) cette approche intelligente permet de gagner du temps et garantit un schéma de données robuste et cohérent étape 3 – activation de l'interface administrateur et gestion des opérations crud introduction à l'interface administrateur l'application admin de back4app vous offre une interface sans code pour gérer vos données backend son design convivial vous permet d'effectuer des actions crud telles que l'ajout, la consultation, la modification et la suppression d'enregistrements activation de l'application admin allez dans le menu “plus” sur votre tableau de bord back4app sélectionnez “admin app” et cliquez sur “activer l'application admin ” créez votre compte administrateur, ce qui configurera également des rôles comme b4aadminuser et des collections système activer l'application admin une fois activée, connectez vous à l'application admin pour gérer vos données tableau de bord de l'application admin effectuer des actions crud dans l'application admin dans l'application admin, vous pouvez insérer des enregistrements choisissez “ajouter un enregistrement” dans une collection (par exemple, articles) pour créer de nouvelles entrées inspecter/modifier des enregistrements cliquez sur n'importe quel enregistrement pour voir les détails ou modifier les données supprimer des enregistrements supprimez les entrées qui ne sont plus nécessaires cette interface facile à utiliser simplifie la gestion des données étape 4 – connecter votre application elm à back4app avec votre backend configuré, il est temps de lier votre application elm à back4app utiliser des appels api rest dans elm puisqu'elm ne prend pas en charge un sdk parse dédié, nous utiliserons ses capacités http intégrées pour interagir avec les points de terminaison rest de back4app exemple récupération de données à partir de la collection d'articles voici un exemple de module elm utilisant le http package pour récupérer une liste d'articles module items exposing (item, fetchitems, itemdecoder) import http import json decode as decode exposing (decoder) type alias item = { id string , title string , description string } itemdecoder decoder item itemdecoder = decode map3 item (decode field "objectid" decode string) (decode field "title" decode string) (decode field "description" decode string) fetchitems cmd msg fetchitems = http get { url = "https //parseapi back4app com/classes/items" , expect = http expectjson handleresponse (decode field "results" (decode list itemdecoder)) } handleresponse result http error (list item) > msg handleresponse result = \ map the http result to your application's message type debug todo "handle the response appropriately" exemple création d'un nouvel article vous pouvez également implémenter des requêtes post en elm pour ajouter de nouveaux enregistrements createitem string > string > cmd msg createitem title description = let body = http jsonbody <| encode object \[ ( "title", encode string title ) , ( "description", encode string description ) ] in http post { url = "https //parseapi back4app com/classes/items" , body = body , expect = http expectjson handlepostresponse decode value } handlepostresponse result http error decode value > msg handlepostresponse result = debug todo "process the post response" répétez des modèles similaires pour les opérations de mise à jour et de suppression en utilisant les méthodes put et delete étape 5 – protection de votre backend configuration des contrôles d'accès (acls) protégez vos données en configurant des acl sur vos objets par exemple, pour restreindre un élément à son créateur, vous pourriez utiliser in elm, you can add acl details to your json payload createprivateitem string > string > string > cmd msg createprivateitem title description ownerid = let acl = encode object \[ ( ownerid, encode object \[ ("read", encode bool true), ("write", encode bool true) ] ) , ( " ", encode object \[ ("read", encode bool false), ("write", encode bool false) ] ) ] body = http jsonbody <| encode object \[ ( "title", encode string title ) , ( "description", encode string description ) , ( "acl", acl ) ] in http post { url = "https //parseapi back4app com/classes/items" , body = body , expect = http expectjson handlepostresponse decode value } définition des permissions au niveau de la classe (clps) définissez des clps dans le tableau de bord back4app afin que seuls les utilisateurs authentifiés puissent accéder à des collections spécifiques étape 6 – mise en œuvre de l'authentification des utilisateurs gestion des comptes utilisateurs back4app utilise la collection utilisateur intégrée pour gérer l'authentification dans votre application elm, vous gérerez les inscriptions et les connexions via des appels api rest exemple demande d'inscription de l'utilisateur signupuser string > string > string > cmd msg signupuser username password email = let body = http jsonbody <| encode object \[ ( "username", encode string username ) , ( "password", encode string password ) , ( "email", encode string email ) ] in http post { url = "https //parseapi back4app com/users" , body = body , expect = http expectjson handleauthresponse decode value } handleauthresponse result http error decode value > msg handleauthresponse result = debug todo "process the authentication response" suivez une approche similaire pour la connexion et la gestion des sessions étape 7 – déploiement de votre application elm back4app prend en charge un déploiement sans faille vous pouvez déployer votre application elm en utilisant diverses méthodes, y compris docker 7 1 construction de votre application elm compilez votre code elm exécutez le compilateur elm pour générer du javascript elm make src/main elm output=dist/main js préparez vos ressources assurez vous que vos fichiers javascript et html générés sont prêts pour le déploiement 7 2 organisation de la structure de votre projet une disposition typique d'un projet elm pourrait ressembler à basic crud app elm/ \| src/ \| | main elm \| | api elm \| dist/ \| | index html \| | main js \| elm json \| package json \| dockerfile 7 3 dockerisation de votre application elm si vous conteneurisez, ajoutez un dockerfile # use a lightweight node image for serving static files from node 16 alpine \# set the working directory workdir /app \# copy compiled files copy dist/ /app/dist/ \# expose the desired port expose 8080 \# serve the static files using a simple server cmd \["npx", "http server", "dist", " p", "8080"] 7 4 déploiement avec le déploiement web de back4app liez votre dépôt hébergez votre projet elm sur github configurez les paramètres de déploiement dans le tableau de bord de back4app, choisissez la fonctionnalité de déploiement web , connectez votre dépôt (par exemple, basic crud app elm ) et sélectionnez la branche souhaitée définissez les commandes de construction spécifiez la commande de construction (par exemple, elm make src/main elm output=dist/main js ) et l'emplacement de l'artéfact déployez votre application cliquez sur déployer et surveillez les journaux jusqu'à ce que votre application soit en ligne étape 8 – dernières réflexions et orientations futures félicitations ! vous avez construit une application crud basée sur elm intégrée avec back4app vous avez configuré un projet nommé basic crud app elm , conçu des collections pour les articles et les utilisateurs, et géré les données via l'application admin de back4app de plus, vous avez connecté votre application elm en utilisant des appels api rest et mis en œuvre des mesures de sécurité améliorations futures élargir les fonctionnalités intégrer des capacités de recherche avancées, des vues détaillées ou des mises à jour en temps réel améliorer les fonctions backend expérimenter avec des fonctions cloud, des intégrations tierces ou un accès basé sur les rôles approfondir vos connaissances visitez la documentation de back4app https //www back4app com/docs et d'autres ressources pour affiner votre application bon codage et profitez de la construction avec elm et back4app !