Bubble
Programmez vos premières applications en no-code
Préface
Chapitre 1
Découvrir le no-code
A. Historique du no-code13
B. No-code vs code17
C. Le no-code modulaire18
D. Le no-code intégré19
1. Le cas du low-code20
2. Le marché du no-code/low-code21
Chapitre 2
Présentation de Bubble
A. Spécificités de l'outil Bubble25
B. Quoi construire avec Bubble ?26
C. Les limitations de Bubble26
D. La tarification sur Bubble27
1. Les tiers27
Chapitre 3
Démarrer avec Bubble et créer son premier formulaire
A. Introduction31
B. Découvrir l'éditeur de Bubble31
C. Créer votre premier formulaire35
1. Description de l'interface37
2. Créer un élément texte38
3. Définir les actions43
4. Créer la première donnée47
D. Comprendre la logique de Bubble52
E. Afficher les données du formulaire58
Chapitre 4
Là base de données
A. Introduction69
B. La table de données69
1. Créer une table de données71
2. Supprimer une table de données71
3. Ajouter un attribut72
4. Supprimer un attribut73
5. Afficher la donnée depuis l'interface de Bubble74
6. Ajouter un affichage filtré d'une table (vue)75
C. Le C.R.U.D75
1. Create : enregistrer la donnée75
2. Read : afficher la donnée79
3. Différencier une donnée et une liste de données80
4. Les containers84
a. Concept de parent-enfant85
5. Update : modifier/mettre à jour une donnée90
6. Delete : supprimer une donnée93
7. Supprimer un seul attribut d'une entrée95
D. Les relations entre les tables95
1. Créer une relation Livre - Bibliothèque96
2. Afficher dans l'interface Data la valeur de l'attribut lié103
E. Tri et filtre104
1. Filtrer les résultats104
2. Trier les résultats107
3. Utiliser les filtres avancés de recherche108
F. Autres appels de données112
Chapitre 5
Utiliser les workflows
A. Les workflows115
1. Les événements (Events)115
a. Les différents types d'événements115
b. Créer uri nouvel événement115
c. Les différents événements disponibles116
2. Les actions118
a. Créer une action118
b. Les catégories d'actions119
B. Les pages dynamiques122
1. Rappel de la structure de Bubble122
2. Changer le nom d'une page122
3. Comprendre les pages dynamiques124
C. Connexion et Inscription130
1. Construire un système d'inscription pour l'utilisateur130
a. Création d'un pop-up d'inscription130
b. Ajouter une photo à l'inscription132
2. Création d'un bouton de déconnexion133
3. Création d'un pop-up de connexion133
4. Afficher le statut de l'utilisateur135
a. Modifier les informations de connexion de l'utilisateur137
D. Les conditions et conditionals137
1. Les conditions dans les workflows137
2. Les conditionals dans le design139
3. Comprendre l'importance des conditions et conditionals139
Chapitre 6
Design et responsive
A. Introduction145
B. Utilisation des styles145
1. Modifier l'apparence147
2. Layout149
3. Ajouter une condition à un style150
C. Responsive152
1. Les différents layouts152
a. Les propriétés du container Layout153
D. Responsive : les différents layouts164
1. Détail d'une page d'accueil164
2. Méthodologie de construction166
3. Onglet Responsive169
Chapitre 7
Le blog
A. Introduction175
B. Pré-conception176
C. Header/footer176
1. L'en-tête (header)176
a. L'en-tête176
b. Le logo178
c. Le bouton Inscription, Connexion et Déconnexion (Visual Element : Button)179
d. Finaliser le groupe Header180
2. Inscription et connexion180
a. Le design du système « Inscription, Connexion et Déconnexion »180
b. Les workflows du système « Inscription, Connexion et Déconnexion »182
3. Le pied de page (footer)185
a. Le pied de page185
b. Le message de bas de page186
c. Finaliser le pied de page186
D. Contenu de la page index187
1. La page187
2. Saisir un nouvel article188
a. Le design de la création d'article188
b. Les workflows du bouton Créer un nouvel article190
3. Afficher la liste de tous les articles.193
a. La liste des articles193
b. Les éléments visibles de l'article : le titre et l'illustration194
E. La page Article196
1. Mise en place de la nouvelle page Article196
a. L'en-tête et le pied de page196
b. Configurer la page pour qu'elle contienne de la donnée197
c. L'envoi de données depuis la page index198
d. Le groupe Page199
e. Le titre de l'article200
f. L'image et le contenu de l'article201
g. Retour à l'accueil202
F. L'espace membre203
1. L'utilisateur déconnecté204
a. Neutraliser la redirection vers la page Article204
b. Faire une redirection depuis la page Article206
c. Rendre une donnée inaccessible : Privacy Rules206
2. L'utilisateur connecté207
3. L'auteur de l'article208
a. Le design de modification et suppression d'un article208
b. Mettre en place la suppression d'un article209
c. Mettre en place la modification d'un article210
4. L'administrateur de la plateforme217
Chapitre 8
Fonctions avancées
A. Introduction223
B. Éléments réutilisables223
1. Créer un élément réutilisable224
2. Modifier un élément réutilisable224
3. Configuration d'un élément réutilisable225
4. Définir de la donnée dans un élément réutilisable226
5. Envoyer de la donnée à un élément réutilisable228
C. « Option set »230
1. Créer un « option set »231
2. Afficher un « option set »233
3. Ajouter un attribut236
4. Enregistrer la valeur de l' « option set » en base de données239
D. « Custom states »242
1. Créer un « custom state »244
2. Ajouter des conditions en fonction de la valeur du « custom state »245
3. Changer la valeur d'un « custom state »248
4. Combiner « custom state » et « option set »251
E. Aller plus loin256
1. Backend257
2. API258
3. Low-code260
Chapitre 9
Fonctions applicatives
A. Introduction263
B. Système de recherche263
1. Rechercher avec un élément Input264
2. Rechercher avec un élément Searchbox266
3. Rechercher avec le plug-in FuzzySearch268
C. Google Maps275
1. Configurer Google Map API275
2. Utiliser l'élément Searchbox280
3. Utiliser l'élément Map de Bubble en mode simple281
4. Utiliser l'élément Map de Bubble en mode Liste282
5. Interaction entre la carte et les données d'un container Repeating Group284
D. Calendrier288
1. Installer et configurer le plug-in Calendar Dates Generator289
2. Ajouter un container Repeating Group pour visualiser292
3. Connecter le calendrier à des données de la base295
4. Changer le mois sélectionné297
E. Messagerie300
1. Créer la structure de données301
2. Ajouter un container Repeating Group Conversation302
3. Ajouter une interface pour la création d'une conversation306
4. Ajouter un container Repeating Group Message309
5. Ajouter l'interface pour la création d'un message311
F. Paiement par Stripe314
1. Créer un projet Stripe315
2. Ajouter et configurer le plug-in Stripe315
3. Configuration d'une structure pour l'exemple317
4. Création de l'action d'achat318
5. Paiement et dashboard Stripe321
Chapitre 10
Mise en ligne
A. Issues et Debugger325
1. Issues325
a. Fenêtre Issues325
b. Correcteur automatique326
c. Les limites327
2. Debugger327
a. Workflow : Step-by-step327
b. Design : Inspect328
B. La sécurité329
1. Introduction329
2. Les Privacy Rules330
3. Table publique et table privée330
4. La règle333
a. Voir tous les attributs : View all fields333
b. Trouver les attributs : Find this in searches336
c. Voir les fichiers liés : View attached files341
d. Autoriser l'auto-binding : Allow auto-binding341
5. Mesures de sécurité, RGPD, etc344
C. Mise en ligne344
1. Environnement de développement et environnement de production344
a. Une différence de structure344
b. Une différence de base de données347
2. Créer des points de sauvegarde348
3. Copier et restaurer la base de données349
a. Copier d'une version à l'autre349
b. Restaurer les données351
4. Prérequis à la mise en ligne352
a. Acheter un nom de domaine352
b. Avoir un forfait payant sur Bubble353
c. Ajouter un nom de domaine à votre application353
D. Le nouveau système de prix : paiement à l'usage356
1. Comprendre la logique des Workload Units356
2. Estimer sa consommation et anticiper son forfait357
a. Analyser ses dépenses en WU359
Chapitre 11
La marketplace
A. Introduction363
B. En-tête et pied de page367
1. L'en-tête367
a. La barre de navigation367
b. La photo de profil368
c. Le pop-up de Connexion / Inscription368
d. Les workflows369
e. La connexion obligatoire370
f. Le menu burger372
2. Le pied de page373
C. La page index374
1. La table de données Annonce375
a. L'élément Option set catégorie375
b. La table Annonce376
2. La création des annonces377
a. La catégorie de l'annonce378
b. L'adresse de l'annonce378
c. Les photos de l'annonce378
d. La création d'une annonce381
3. Affichage, modification et suppression d'annonce383
a. Affichage des annonces du site383
b. La modification et la suppression d'annonce384
4. La barre de recherche387
a. Les critères de la recherche387
b. La barre de recherche responsive388
c. L'utilisation des informations de la recherche389
D. La page recherche_annonce392
1. Liste des résultats393
2. Carte des résultats395
3. Affichage de la liste et de la carte396
4. La barre de recherche en auto-binding397
a. Préparer les Privacy rules398
b. Préparer les éléments de la barre de recherche398
5. La redirection vers la page detail_annonce400
E. La page detail_annonce401
1. Préparation de la page401
2. Le carrousel manuel402
3. Le calendrier405
a. Générer une liste de dates405
b. Afficher une liste de dates407
c. Paginer un calendrier410
d. Sélectionner des dates412
e. Afficher un récapitulatif de la réservation415
f. Le paiement sur Stripe415
g. La création d'une réservation417
F. La page profil419
1. Préparation de la page profil420
a. Éléments de base de la page profil420
b. Sécuriser la page profil421
2. La navigation par « custom state »421
a. Le mode de navigation421
b. La barre de navigation421
3. Les différentes parties de la page profil422
a. La partie profil422
b. La partie réservations426
c. La partie annonces429
d. La partie messagerie433
Chapitre 12
Introduction au design
A. Introduction443
B. Les bases du design443
1. Théories : les notions essentielles444
a. Hiérarchie visuelle444
b. Utilisation des espaces444
c. Couleurs444
d. Ombrages445
e. Tailles des éléments445
f. Les icônes446
g. L'accessibilité447
2. Construire le design System447
a. Couleurs448
b. Groupes448
c. Pop-ups449
d. Menu449
e. Textes449
f. Titres450
g. Alertes451
h. Tags451
i. Icônes451
j. Boutons452
k. Images453
l. Éléments Inputs453
C. Les styles454
1. Théorie : intérêt et utilisation des styles454
2. Gérer les styles455