Quickstarters
CRUD Samples
Comment créer une application CRUD avec Alpine.js ?
42 min
aperçu dans ce guide, vous apprendrez à construire une application crud (créer, lire, mettre à jour, supprimer) en utilisant alpine js ce tutoriel vous guide à travers les opérations essentielles nécessaires pour gérer les données de manière dynamique, en utilisant back4app comme votre service backend robuste nous commencerons par configurer un nouveau projet back4app appelé basic crud app alpinejs ce projet servira de backend pour gérer les données après avoir initialisé votre projet, vous concevrez un schéma de base de données flexible en définissant des collections et des champs—soit manuellement, soit avec l'aide de l'agent ia de back4app cette étape garantit que votre backend est structuré pour des opérations crud fiables ensuite, vous utiliserez l'application admin de back4app, un outil convivial de glisser déposer, pour administrer vos collections sans effort cette interface simplifie les tâches de gestion des données enfin, vous connecterez votre frontend alpine js à back4app en utilisant des api rest ou graphql, et sécuriserez votre backend avec des contrôles d'accès robustes à la fin de ce tutoriel, vous disposerez d'une application web prête pour la production qui prend en charge les opérations crud de base ainsi que l'authentification des utilisateurs et des mises à jour de données sécurisées ce que vous apprendrez comment construire des applications crud avec un service backend efficace méthodes pour concevoir un modèle de données évolutif et le lier à un frontend alpine js conseils sur l'utilisation d'un outil d'administration par glisser déposer pour gérer des collections stratégies pour déployer votre application en utilisant des techniques de conteneurisation et de déploiement web prérequis avant de plonger, assurez vous d'avoir un compte back4app avec un nouveau projet prêt consultez démarrer avec back4app https //www back4app com/docs/get started/new parse app pour de l'aide un environnement de développement alpine js incluez alpine js via cdn ou npm selon la configuration de votre projet familiarité avec javascript, alpine js et les principes de l'api rest consultez la documentation d'alpine js https //alpinejs dev/start pour plus de détails étape 1 – initier votre projet configuration d'un nouveau projet back4app connectez vous à votre tableau de bord back4app cliquez sur le bouton « nouvelle application » fournissez le nom du projet basic crud app alpinejs et suivez les instructions créer un nouveau projet après la création, votre projet apparaît sur le tableau de bord, prêt pour la configuration du backend étape 2 – élaboration de votre schéma de base de données cartographie de votre modèle de données pour notre application crud, vous allez configurer quelques collections clés ci dessous se trouvent des collections d'exemple avec des champs et des types de données pour guider la configuration de votre schéma ces collections facilitent les actions crud essentielles 1\ collection d'articles cette collection contient des détails pour chaque article champ type but id identifiant d'objet identifiant principal généré automatiquement titre chaîne nom ou titre de l'élément description chaîne résumé bref sur l'article créé à date horodatage pour la création de l'élément mis à jour le date horodatage de la dernière mise à jour 2\ collection des utilisateurs cette collection stocke les identifiants et les détails des utilisateurs champ type but id identifiant d'objet identifiant principal généré automatiquement nom d'utilisateur chaîne identifiant utilisateur unique email chaîne adresse e mail unique de l'utilisateur hash de mot de passe chaîne mot de passe haché stocké en toute sécurité créé à date horodatage de création du compte mis à jour le date horodatage de la dernière mise à jour du compte vous pouvez créer manuellement ces collections dans le tableau de bord back4app en ajoutant une nouvelle classe pour chacune et en définissant les colonnes en conséquence créer une nouvelle classe vous pouvez définir des champs en sélectionnant un type, en les nommant, en ajoutant des valeurs par défaut et en les marquant comme requis créer une colonne exploiter l'agent ai de back4app pour la création de schémas l'agent ai de back4app aide à automatiser la génération de schémas il crée vos collections en fonction d'une invite décrivant vos champs souhaités comment utiliser l'agent ai ouvrez l'agent ai depuis votre tableau de bord back4app entrez une description détaillée des collections et des champs nécessaires examinez le schéma suggéré et appliquez le à votre projet exemple d'invite create the following collections 1\) collection items \ fields \ id objectid (auto generated) \ title string \ description string \ created at date (auto generated) \ updated at date (auto updated) 2\) collection users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ password hash string \ created at date (auto generated) \ updated at date (auto updated) cet outil fait gagner du temps et garantit un schéma cohérent et optimisé étape 3 – activation de l'interface administrateur et des fonctionnalités crud présentation de l'application admin l'application admin de back4app offre une interface sans code pour gérer vos données backend ses fonctionnalités de glisser déposer rendent les tâches crud simples et efficaces comment activer l'application admin allez dans la section “plus” de votre tableau de bord back4app sélectionnez admin app puis cliquez sur activer l'application admin configurez vos premières informations d'identification administratives pour configurer les rôles et les 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 avec l'application admin dans l'application admin, vous pouvez créer des enregistrements cliquez sur le bouton “ajouter un enregistrement” dans une collection comme articles lire et mettre à jour des enregistrements sélectionnez un enregistrement pour voir les détails ou apporter des modifications supprimer des enregistrements supprimez les entrées indésirables en utilisant la fonction de suppression cette interface simplifie la gestion des données avec un design intuitif de glisser déposer étape 4 – connecter alpine js à back4app avec votre backend prêt, il est temps de lier votre frontend alpine js à back4app utiliser les api rest/graphql vous utiliserez rest ou graphql pour interagir avec votre backend exemple récupération d'éléments via rest // sample rest api call using fetch async function loaditems() { try { const response = await fetch('https //parseapi back4app com/classes/items', { headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' } }); const data = await response json(); console log('items loaded ', data results); } catch (error) { console error('error loading items ', error); } } loaditems(); intégrez ces appels api dans vos composants alpine js pour effectuer des opérations crud étape 5 – protéger votre backend configuration des listes de contrôle d'accès (acl) sécurisez vos données en appliquant des acl à vos enregistrements par exemple, pour créer un élément privé async function addprivateitem(data, owner) { const itemdata = { title data title, description data description }; // define acl settings only the owner has read/write privileges const aclsettings = { " " { "read" false, "write" false }, \[owner] { "read" true, "write" true } }; try { const response = await fetch('https //parseapi back4app com/classes/items', { method 'post', headers { 'content type' 'application/json', 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' }, body json stringify({ itemdata, acl aclsettings }) }); const result = await response json(); console log('private item added ', result); } catch (error) { console error('error adding private item ', error); } } configuration des permissions au niveau de la classe (clp) dans le tableau de bord back4app, définissez des clp pour chaque collection afin d'appliquer des politiques d'accès par défaut, garantissant que seuls les utilisateurs autorisés peuvent accéder aux données sensibles étape 6 – mise en œuvre de l'authentification des utilisateurs création de comptes utilisateurs back4app utilise la classe user de parse pour gérer l'authentification dans votre projet alpine js, gérez l'inscription et la connexion des utilisateurs via des appels api exemple inscription d'un utilisateur avec alpine js sign up une méthode similaire peut être mise en œuvre pour la connexion des utilisateurs et la gestion des sessions étape 7 – déployer votre frontend alpine js avec le déploiement web la fonctionnalité de déploiement web de back4app vous permet d'héberger facilement votre frontend alpine js dans ce segment, vous préparerez votre build de production, engagerez votre code sur github, connecterez votre dépôt au déploiement web et lancerez votre application 7 1 construisez vos actifs de production ouvrez votre répertoire de projet dans un terminal exécutez votre commande de construction (si vous utilisez un processus de construction pour alpine js) npm run build cela génère un dossier (typiquement dist ou build ) avec des fichiers statiques optimisés confirmez que votre dossier de construction contient un index html ainsi que les actifs nécessaires 7 2 organisez et téléchargez vos fichiers sources votre dépôt github devrait contenir tous les fichiers sources de votre projet alpine js une structure commune pourrait être basic crud app alpinejs frontend/ ├── node modules/ ├── public/ │ └── index html ├── src/ │ ├── main js │ └── components/ │ ├── itemslist js │ └── auth js ├── package json └── readme md fichier d'exemple src/main js document addeventlistener('alpine\ init', () => { alpine data('itemsapp', () => ({ items \[], newitemtitle '', newitemdescription '', async loaditems() { try { const response = await fetch('https //parseapi back4app com/classes/items', { headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' } }); const data = await response json(); this items = data results; } catch (error) { console error('failed to load items ', error); } }, async additem() { const payload = { title this newitemtitle, description this newitemdescription }; try { await fetch('https //parseapi back4app com/classes/items', { method 'post', headers { 'content type' 'application/json', 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' }, body json stringify(payload) }); this newitemtitle = ''; this newitemdescription = ''; this loaditems(); } catch (error) { console error('error adding item ', error); } } })); }); engagement de votre code sur github initialisez un dépôt git dans votre dossier de projet git init mettez vos fichiers en attente git add engagez vos modifications git commit m "engagement initial du frontend alpine js" créez un nouveau dépôt sur github (par exemple, basic crud app alpinejs frontend ) poussez votre code git remote add origin https //github com/votre nom utilisateur/basic crud app alpinejs frontend git git push u origin main 7 3 lier votre dépôt github au déploiement web connectez vous à votre tableau de bord back4app et sélectionnez votre projet ( basic crud app alpinejs ) ouvrez la section déploiement web connectez votre compte github et choisissez votre dépôt et votre branche contenant votre code alpine js 7 4 configuration des paramètres de déploiement commande de construction si votre projet n'a pas de dossier pré construit, spécifiez une commande (par exemple, npm run build ) répertoire de sortie définissez le sur le dossier contenant vos fichiers statiques (par exemple, build ou dist ) variables d'environnement ajoutez toutes les variables nécessaires telles que les clés api 7 5 dockerisation de votre application alpine js (optionnel) si vous souhaitez déployer en utilisant docker, incluez un dockerfile comme \# use an official node image for building from node 16 alpine as build \# set working directory workdir /app \# copy dependency files and install copy package json / run npm install \# copy source and build app copy run npm run build \# use nginx to serve the static files from nginx\ stable alpine copy from=build /app/build /usr/share/nginx/html expose 80 cmd \["nginx", " g", "daemon off;"] sélectionnez l'option docker dans votre configuration de déploiement web si désiré 7 6 lancement de votre application cliquez sur le déployer bouton dans back4app surveillez le processus de déploiement pendant que back4app récupère votre code, le construit et le déploie une fois déployé, vous recevrez une url où votre application alpine js est hébergée 7 7 tester votre déploiement visitez l'url fournie dans votre navigateur vérifiez que votre application se charge correctement, que les routes fonctionnent comme prévu et que les ressources sont servies correctement résolvez les problèmes en vérifiant les journaux de la console du navigateur et les journaux de déploiement de back4app étape 8 – dernières réflexions et améliorations futures félicitations ! vous avez construit une application crud complète en utilisant alpine js et back4app vous avez configuré le basic crud app alpinejs projet, créé des collections de base de données détaillées et utilisé un outil d'administration sans code pour la gestion des données de plus, vous avez connecté votre frontend alpine js à votre backend en utilisant des api rest et assuré un traitement sécurisé des données prochaines étapes améliorez votre interface utilisateur développez vos composants alpine js avec des fonctionnalités avancées comme des vues détaillées des éléments ou des mises à jour en temps réel ajoutez plus de fonctionnalités explorez l'incorporation de logique backend supplémentaire, d'api tierces ou de contrôles d'accès complexes apprentissage supplémentaire visitez la documentation de back4app https //www back4app com/docs et d'autres ressources pour approfondir votre compréhension des intégrations avancées bonne programmation et amusez vous à construire votre prochain projet !