Documentation
Le vocabulaire Apiloop
Pour bien utiliser la plateforme il est nécessaire de saisir le vocabulaire employé. Bien que très simples, certaines notions peuvent paraître un peu compliquées pour les non initiés.
Application
L’application représente le point de départ de votre aventure sur Apiloop. Tous les éléments suivant tournent autour de cette notion.
Utilisateur
Représente un utilisateur d’une application. Par exemple si vous êtes inscrit sur Apiloop et crééez une application dessus, alors vous êtes un user d’Apiloop. Les personnes qui visitent votre application et s’inscrivent dessus sont des users de votre application et indirectement d’Apiloop.
Un utilisateur peut effectuer diverses actions que nous avons prévues pour vous : s’inscrire, se connecter, regénérer un mot de passe oublié…
Entité
Une entité fait partie du coeur de votre application, elle permet de représenter un objet de la vie réelle. Voici des exemples d’entités pour des services que vous connaissez très certainement :
- Facebook - User, Status, Photo, Album, Video, Comment
- Twitter - User, Tweet, Retweet
- Airbnb - Listing, Booking, Message
- Uber - Driver, Vehicle, Trip
En somme, imaginez une entité comme un table dans une base de données relationnelle.
Attribut
Un attribut est forcément lié à une entité. Si une entité peut être vue comme une colonne dans une base de données relationnelle, alors l’attribut représente une colonne de cette table. En reprenant des entités des services que vous connaissez certainement :
- Facebook
- User - nom, prénom, email
- Status - message, localisation, humeur
- Twitter
- Tweet - content, number of favorites, number of retweets
L’attribut représentant une donnée basique, il est forcément typé. Voir la liste des attributs pour plus de détails.
Modèle
Le modèle représente l’ensemble des entités et attributs de votre application. Si vous développez un réseau social ou un site e-commerce, le modèle sera différent par exemple.
Mission
Une mission vous permet de faire faire par un développeur, designer, testeur une opération que vous ne savez, ne pouvez ou ne voulez tout simplement pas faire. Voici une liste non exhaustive des opérations possibles :
- Créer le modèle de votre application
- Créer/Mettre à jour une entité
- Créer/Mettre à jour un attribut d’une entité
- Personnaliser le fonctionnement d’une entité
- Intégrer un design personnalisé à l’application générée
- Ajouter un écran à votre application
- Tester votre application avant de l’ouvrir au grand public
Lorsque vous saisissez une mission, divers éléments vous sont demandés :
- Titre - Soyez concis et précis, c’est la première chose que les potentiels réalisateurs de la mission verront
- Description - Évitez les grosses tartines indigestes. Préférez une explication concise mais exhaustive
- Budget - Vous êtes libres de fixer votre budget mais un montant trop faible repoussera les potentiels réalisateurs
- Échéance - À l’instar du budget, un délai trop court repoussera les potentiels réalisateurs
- Avancement - Typiquement si vous avez déjà un peu avancé de votre côté sur la mission, vous pouvez l’indiquer avec un pourcentage
Une fois votre mission créée, un fil de discussion sera disponible pour la peaufiner et échanger dessus.
Workflow
Le workflow est un terme générique qui désigne un processus en mouvement. En somme le workflow représente les règles métier associées à votre application. C’est dans le workflow que vous décrivez ce qu’il se passe lorsqu’un utilisateur s’inscrit, lorsqu’une commande d’un produit est passée…
Types d’attributs
Lorsque vous créez un attribut pour une entité, la liste suivante s’affiche :
Le choix du type d’attribut est très important car il indique comment vos données seront validées.
Il peut être parfois difficile de choisir le bon type pour la bonne donnée. Dans le tableau suivant vous retrouvez des exemples précis vous permettant d’orienter vos choix.
Nom | Description | Exemples de valeurs |
---|---|---|
Booléen | Information qui ne peut prendre que deux valeurs contraires comme Oui/Non, Vrai/Faux | Oui |
Pays | Pays sur cette planète | France |
Devise | Devise utilisée sur cette planète | EUR |
Date | Date de naissance, date d’un événement | 26/06/2015 |
Adresse email d’un utilisateur | hello@apiloop.io | |
Objet embarqué | Objet n’étant pas forcément une entité | {"ht": 10.0, "tva": 0.20, "ttc": "12.0"} |
Liste à choix unique | Valeur que l’utilisateur doit choisir parmi une liste prédéfinie | Bleu ou Blanc ou Rouge |
Image | Image uploadée par un utilisateur | Lien vers l’image |
Langue | Langue parlée sur cette planète | Français |
Latitude | Latitude pour positionner un lieu géographiquement | 3.45 |
Nombre décimal | Nombre à vrigule | 64.5 |
Nombre entier | Nombre entier | 26 |
Longitude | Longitude pour positionner un lieu géographiquement | 7.98 |
Mot de passe | Valeur qui doit être cryptée comme le mot de passe d’un utilisateur | •••••••••• |
Pourcentage | Pourcentage qui doit être une valeur entre 0 et 100% | 45% |
Reference à une autre entité | Lien d’un attribut à une autre entité de l’application | Lien article/catégorie |
Slug | Texte qui ne contient que des minuscules, sans accents, des chiffres et des tirets ‘-‘ | titre-article-seo-friendly |
Texte | Nom, Prénom, Titre, Description | Charles Hubert |
URL | Adresse d’un site web, d’un profil sur un réseau social | https://www.apiloop.io |
Code unique généré automatiquement (UUID) | Référence unique auto-générée | 110e8400-e29b-11d4-a716-446655440000 |
Video | Une vidéo uploadée par un utilisateur | Lien vers la vidéo |
Entité spéciale : User
Étant donné que la plupart des applications interagissent avec des utilisateurs, nous vous avons mâché le travail concernant la gestion de ces derniers et des comptes clients.
Quoi de plus rébarbatif que de développer encore et encore l’inscription, la connexion, le mot de passe oublié ou encore la déconnexion ?
C’est pour cela qu’à la création de votre application vous pouvez choisir si oui ou non vous voulez gérer des utilisateurs. Si vous cochez Oui, voici ce qu’il se passe derrière :
- Nous créeons une entité
User
avec des champs de base tels queemail
,mot de passe
,prénom
etnom
- Nous générons les formulaires d’inscription, connexion et récupération de mot de passe
Que se passe-t-il si je veux ajouter une donnée à mon entité User ?
Aucun problème, le système le gère très bien. Il vous suffit simplement de modifier l’entité User
générée et y ajouter
tous les attributs qu’il vous faut.
Le seul pré-requis est de ne pas toucher aux attributs que nous avons générés et cités plus haut. En effet, ceux-ci font partie du core et sont nécessaires pour assurer le bon fonctionnement de votre application.
Checklist pour créer une application
Nous faisons tout pour rendre la création d’une application dans Apiloop la plus simple possible. Si toutefois il vous arrive d’être perdu dans votre processus de création il vous suffit de jeter un oeil à cette checklist.
Créer l’application
Cela semble basique, mais vous devez passer par la création de l’application via le formulaire dédié en cliquant sur Créer une application depuis votre tableau de bord.
Créer les entités et attributs
Une fois votre application créée, vous arrivez sur sa vue détaillée. Vous devez à présent renseigner vos entités et leurs attributs respectifs. Si cette étape est difficile pour vous, n’hésitez pas à demander de l’aide.
Cette étape est vraiment celle où vous allez représenter le type de données que vous souhaitez gérer dans votre application ainsi que les relations entre elles.
Prenez votre temps pour bien modéliser votre application, mais si vous oubliez une entité ou un attribut, ce n’est pas grave. La création d’une application Apiloop se fait de manière itérative.
Générer l’API
Bonne nouvelle : vous n’avez rien à faire ! Tout se fait de manière transparente et automatique pour vous. Les contraintes que vous avez définies au niveau de vos attributs sont utilisées pour valider vos données lorsqu’un utilisateur les renseigne.
Générer le frontend
Autre bonne nouvelle : il suffit d’appuyer sur un bouton. Rendez vous dans l’onglet Déployer dans le tableau de bord de votre application et cliquez sur Générer.
La première fois, cela peut prendre un peu de temps, faites une pause en regardant une vidéo de chaton sur Youtube ou allez chercher un petit café.
Une fois votre application générée, dans ce même onglet Déployer, de nouveaux boutons sont apparus. Vous pouvez à présent visualiser l’application générée grâce au bouton Visualiser.
Comme nous l’avons indiqué dans nos articles, notre philosophie est de vous proposer une application “clean”, comme si on vous proposait une maison avec des fondations parfaites et des murs blancs pour accueillir la décoration de votre choix.
Modifier le frontend
Plusieurs options possibles :
- Vous savez faire du HTML/CSS, vous pouvez alors le faire vous même
- Vous avez un ami qui peut/veut le faire pour vous
- Vous souhaitez demander à un membre de la plateforme via une mission
Rendez vous dans l’onglet Personnaliser et choisissez Design ou Code. Suivez la procédure afin de pouvoir avoir accès au code source.
- Modifiez les parties du code de votre choix
- Pushez les modifications
- Cliquez sur Publier dans l’onglet Déployer de votre application
- Cliquez sur Visualiser pour voir vos modifications
Et itérez, modifiez, pushez, testez… jusqu’à ce que le résultat vous satisfasse.
Modifier le fonctionnement
Le workflow d’Apiloop se situe au niveau de chaque entité. Sélectionnez l’entité pour laquelle vous souhaitez modifier le fonctionnement ou passez par l’assistant dans l’onglet Déployer de votre application.
Choisissez les étapes où votre action doit apparaître et laissez vous guider.
Ici encore, les modifications sont appliquées en temps réel donc vous pouvez tester sans même regénérer votre application.
Liez votre application à votre nom de domaine
Enfin, avant d’envoyer vos utilisateurs sur votre application, il vous faut lier votre nom de domaine.
Conclusion
Cette checklist répertorie les lignes directrices de la création d’une application sur Apiloop. Ne vous fiez pas à sa longueur, la plupart des actions se font très rapidement afin que votre Time to Market soit réduit au maximum.
Lier un nom de domaine
Pour lier votre nom de domaine à votre application, la marche à suivre est très simple.
Réservez le nom de domaine
Si vous possédez déjà le domaine, vous pouvez passer à l’étape suivante. Si ce n’est pas le cas, vous pouvez choisir le service de votre choix. Nous recommandons Gandi qui est français et fonctionne très bien.
Créez le CNAME
Rendez-vous dans la section de modification des DNS dans l’interface d’administration du service aurpès duquel vous avez souscrit le nom de domaine. Créez un nouvel enregistrement CNAME ou modifiez l’existant s’il y en a déjà un.
Type | CNAME |
Nom | www |
Valeur | www.mondomaine.com.s3-website-eu-west-1.amazonaws.com |
Si vous souhaitez que votre site soit accessible avec un autre sous-domaine que www
, vous avez juste à remplacer
ce dernier par le sous-domaine de votre choix au niveau du nom et de la valeur.
Liez le nom de domaine
Créez une mission dans votre console Apiloop pour que nous liions le nom de domaine à votre application.
La propagation des enregistrements DNS peut prendre un certain temps donc il est possible que votre site ne soit pas accessible immédiatement avec votre nom de domaine.
Utiliser l’API sans frontend généré
Si vous êtes un utilisateur avancé, il se peut que vous souhaitiez utiliser Apiloop seulement pour son API et non pour son frontend généré. Ceci est tout à fait possible.
En effet, nous générons une API REST qui respecte les standards, ainsi vous pouvez la requêter comme vous requêtez toute autre API.
Votre application dispose d’une apiKey
qui permet de l’authentifier sur nos serveurs.
Tous vos appels doivent contenir cette clé dans le header
de la requête.