Caïd a écrit :![]()
Version intégrale récapitulative : tout construire de zéro en reliant directement deux feuilles Google Sheets.
Étape 0 – Préparer les feuilles Google Sheets
- Crée (ou ouvre) un Google Sheet pour le Tarot de Marseille et un onglet séparé pour le Tarot de Boulot.
– Chaque onglet doit avoir ligne 1 = en-têtes de colonnes (nom, mot_cle_principal, interpretation_positive, …). - Clique sur Partager → « Toute personne disposant du lien » → rôle Lecteur.
(Ou partage au compte Google utilisé par Appsmith.) - Copie l’URL du document (la même pour tous les onglets).
Étape 1 – Créer l’application Appsmith
- Connecte‐toi sur app.appsmith.com.
- Create New App → nomme-la TarotBoulotGS.
Étape 2 – Connecter la datasource Google Sheets
- Sidebar → Datasources → + New Datasource → Google Sheets.
- Clique sur Authorize → connecte-toi avec ton compte Google (celui qui voit la feuille).
→ Donne un nom clair : GS_TarotBoulot
Étape 3 – Créer les requêtes de données
3.1 Tarot de Marseille
- Sous la datasource GS_TarotBoulot → + New Query.
Nom : TarotCards - Renseigne :
Code : Tout sélectionner
Spreadsheet URL = (URL du document) Sheet Name = tarot ; (nom exact de l’onglet) Table Heading Row= 1
- Clique Run → vérifie que les lignes s’affichent.
-
New Query → nom : BoulotCards
- Paramètres :
Code : Tout sélectionner
Spreadsheet URL = (même URL) Sheet Name = boulot ; (nom de l’onglet « boulot ») Table Heading Row= 1
- Run → vérifie.
Étape 4 – Variables d’état globales
- Sidebar → clique sur la page (Page1).
- Onglet Page Load Actions → + Add Action → Run JS Code :
Code : Tout sélectionner
storeValue("jeuActif", "tarot"); // tarot par défaut
storeValue("carteIndex", 0); // premier index
Étape 5 – UI : Sélecteur de jeu + Boutons
5.1 Dropdown “Choisir le jeu”
- Widgets → glisse un Dropdown → nom : selectJeu
- Options :
Code : Tout sélectionner
[ { "label": "Tarot de Marseille", "value": "tarot" }, { "label": "Tarot de Boulot", "value": "boulot" } ]
- Default Value : `"tarot"`
- onOptionChange (JS) :
Code : Tout sélectionner
storeValue("jeuActif", selectJeu.selectedOptionValue);
storeValue("carteIndex", 0);
Code : Tout sélectionner
// onClick (JS)
const jeu = appsmith.store.jeuActif === "tarot"
? TarotCards.data
: BoulotCards.data;
storeValue("carteIndex", _.random(0, jeu.length - 1));
Code : Tout sélectionner
// onClick (JS)
const jeu = appsmith.store.jeuActif === "tarot"
? TarotCards.data
: BoulotCards.data;
storeValue("carteIndex", (appsmith.store.carteIndex + 1) % jeu.length);
Code : Tout sélectionner
// onClick (JS)
const jeu = appsmith.store.jeuActif === "tarot"
? TarotCards.data
: BoulotCards.data;
storeValue("carteIndex",
(appsmith.store.carteIndex - 1 + jeu.length) % jeu.length);
Étape 6 – Widgets d’affichage
Nom de la carte
Code : Tout sélectionner
{{
(appsmith.store.jeuActif === "tarot" ? TarotCards.data : BoulotCards.data)
[appsmith.store.carteIndex]?.nom
|| "Choisis un jeu puis tire une carte"
}}
Code : Tout sélectionner
{{
(appsmith.store.jeuActif === "tarot" ? TarotCards.data : BoulotCards.data)
[appsmith.store.carteIndex]?.mot_cle_principal
|| "…"
}}
Code : Tout sélectionner
{{
(appsmith.store.jeuActif === "tarot" ? TarotCards.data : BoulotCards.data)
[appsmith.store.carteIndex]?.interpretation_positive
|| "…"
}}
Étape 7 – Tests & validation
- Sélectionne “Tarot de Marseille” ⮕ clique sur “Tirer une carte”.
- Parcours avec ← / → pour vérifier la navigation.
- Passe au “Tarot de Boulot” via le dropdown : tout doit se mettre à jour.
- Modifie une carte dans Google Sheets → rafraîchis la page Appsmith : la mise à jour est visible.
Ton application est opérationnelle, connectée en temps réel aux Google Sheets !
Prochaines évolutions possibles
- Ajouter des images stockées sur Google Drive ou un CDN
- Enregistrer chaque tirage dans un onglet “Historique” (Sheets ou DB)
- Appliquer un thème esthétique (palette de couleurs, typographies)
- Filtrer / rechercher les cartes par élément, famille, champ professionnel