bonpoint/docs/GOOGLE_HOME.md
jmartin c4ebb5b2d8 Initialise le dépôt Bonpoint avec docs et prototype web.
Structure docs/, web/ (app Node existante) et mobile/ (placeholder Flutter).
2026-06-12 11:39:51 +02:00

130 lines
4.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# OK Google — Bons Points sur Nest
## Important : Dialogflow « conversation » ne marche plus sur Nest
Depuis le **13 juin 2023**, Google a arrêté les **Conversational Actions** (Dialogflow + « Dis à Bons Points… »).
Lendpoint `/api/voice/dialogflow` reste utile pour **tests** et pour dautres intégrations Dialogflow, mais **ne peut plus être invoqué directement sur une enceinte Nest** via une action conversationnelle.
La voie officielle aujourdhui : **Google Home Smart Home** (capteurs virtuels).
---
## Ce qui est déjà prêt côté serveur
| URL | Rôle |
|-----|------|
| `GET /api/voice/ariana` | Réponse JSON (test) |
| `GET /api/voice?prenom=pablo` | Idem |
| `POST /api/voice/dialogflow` | Webhook Dialogflow (tests) |
| `POST /api/smarthome` | Fulfillment Google Home (SYNC / QUERY) |
Test rapide :
```bash
curl -s https://bonpoint.ptits-pas.fr/api/voice/ariana
curl -s -X POST https://bonpoint.ptits-pas.fr/api/smarthome \
-H "Content-Type: application/json" \
-d '{"requestId":"test","inputs":[{"intent":"action.devices.SYNC"}]}'
```
---
## Principe Smart Home (recommandé)
Chaque enfant apparaît comme un **capteur de batterie** (0100 %) = son score de bons points.
Phrases à essayer sur le Nest (en français) :
- « OK Google, **quel est le niveau de batterie dAriana** ? »
- « OK Google, **quelle est la batterie de Pablo** ? »
- « OK Google, **niveau de batterie Hélia** »
> Astuce famille : expliquer aux enfants que la « batterie » = leurs bons points.
Les scores au-dessus de 100 saffichent comme 100 % (limite Google).
---
## Configuration Google Home Developer (à faire une fois)
### 1. Créer le projet
1. Ouvrir [Google Home Developer Console](https://console.home.google.com/)
2. **Create project** → nom : `Bons Points`
3. Type dintégration : **Cloud-to-cloud**
### 2. Fulfillment
1. Menu **Integrations** → votre intégration Cloud-to-cloud
2. **Fulfillment URL** :
```
https://bonpoint.ptits-pas.fr/api/smarthome
```
3. Enregistrer
### 3. Account linking (obligatoire pour le Nest)
Google exige un **OAuth 2.0** pour lier le compte dans lapp Google Home.
Options possibles :
- **Auth0** ou **Firebase Auth** (gratuit, adapté à un usage familial)
- OAuth maison (plus technique)
Une fois OAuth configuré, vous liez lintégration dans **Google Home** → **Paramètres** → **Travaille avec Google**.
### 4. Test avant production
1. Dans la console : **Test Suite** → lancer SYNC et QUERY
2. Vérifier que 3 appareils apparaissent (Ariana, Pablo, Hélia)
3. Tester une QUERY sur un appareil → le score doit correspondre à lapp
### 5. Utilisation au quotidien
1. Lier lintégration sur le compte Google du foyer
2. Les 3 « capteurs » sont découverts automatiquement
3. Les enfants demandent le niveau de batterie / points à voix haute
---
## Dialogflow (optionnel, tests uniquement)
Si vous voulez quand même un agent Dialogflow pour tester le webhook :
1. [Dialogflow ES](https://dialogflow.cloud.google.com/) → nouvel agent **fr**
2. Intent `score_enfant` avec phrases :
- Combien de points a Ariana ?
- Quel est le score de Pablo ?
- Et Hélia elle a combien ?
3. Paramètre `@sys.given-name` ou entité custom `prenom` : Ariana, Pablo, Hélia
4. Intent `score_tous` : Combien de points ? / Les scores ?
5. **Fulfillment** → activer webhook :
```
https://bonpoint.ptits-pas.fr/api/voice/dialogflow
```
6. Tester dans la console Dialogflow (simulateur) — **pas sur le Nest**.
---
## Dépannage
| Problème | Piste |
|----------|--------|
| Nest ne connaît pas laction | Normal si vous utilisez encore Dialogflow conversationnel |
| Appareils invisibles | Vérifier account linking + SYNC dans Test Suite |
| Mauvais score | Vérifier `GET /api/public/scores` |
| Hélia mal reconnue | Dire « Hélia » clairement ; le serveur accepte avec/sans accent |
---
## Évolutions possibles
- OAuth simplifié intégré à lapp (panneau parent)
- Cast TTS vers le Nest après une routine (plus complexe)
- Phrases personnalisées via Home Assistant (si un jour vous ladoptez)