# 08 — Questions restantes / décisions à trancher

Liste vivante des points non tranchés. **Rien ne doit être supposé** : tant qu'un point est
ouvert, demander à l'utilisateur avant de coder la partie concernée.

## Ouvertes

### Q6 — Google Photos (reporté)
**Contrainte Google (depuis le 31/03/2025)** : la Library API ne donne plus accès qu'aux médias
**créés par l'app** (`photoslibrary.readonly.appcreateddata` / `appendonly`) ; impossible de lister
la photothèque existante. Pour voir les photos existantes, la **seule** voie est le **Photos
Picker API** (`photospicker.mediaitems.readonly`) : l'utilisateur sélectionne, l'app affiche.
Décision 2026-06-07 : **reporté**. Si repris → prévoir : activer « Photos Picker API », ajouter le
scope (re-consentement), créer une session picker côté backend + proxifier les `baseUrl` (qui
exigent l'en-tête OAuth) pour l'affichage. Refs : developers.google.com/photos/support/updates.

## Tranchées (historique des décisions)

| Date       | Décision                                                              |
|------------|----------------------------------------------------------------------|
| 2026-06-06 | Stack identique aux autres sites (Next.js / Express / Prisma / PG).   |
| 2026-06-06 | Ports dédiés : 3002 (front) / 4002 (back).                            |
| 2026-06-06 | Base PostgreSQL dédiée `leperelion` (rôle dédié, sans superuser).     |
| 2026-06-06 | Multi-utilisateur cercle restreint ; chacun lie son propre Google.   |
| 2026-06-06 | Services Google au démarrage : Calendar + Gmail.                      |
| 2026-06-06 | Tokens OAuth chiffrés au repos (AES-GCM, `LEPERELION_ENCRYPTION_KEY`).|
| 2026-06-06 | Suivi de position du téléphone **reporté** (MVP = agenda + mail d'abord).|
| 2026-06-06 | Gmail : portée **lire + gérer sans envoi** → scope `gmail.modify`.        |
| 2026-06-06 | Comptes créés par l'**admin** (pas d'inscription libre).                 |
| 2026-06-06 | Projet **Google Cloud dédié** à leperelion.fr (créé par l'utilisateur).  |
| 2026-06-06 | DNS leperelion.fr + www → 51.91.251.0 (serveur). SSL Let's Encrypt OK.   |
| 2026-06-06 | Login : **nom d'utilisateur + mot de passe** uniquement (pas de bouton « Se connecter avec Google »). La liaison Google reste un acte séparé une fois connecté. |
| 2026-06-06 | Site mis en ligne (HTTPS + HSTS). Page d'accueil = formulaire de connexion. |
| 2026-06-06 | **3 rôles** : `super_admin` (config + comptes + tout), `admin` (écriture agenda/mail), `user` (lecture seule). Guillaume.Lion = super_admin. |
| 2026-06-06 | Gestion des comptes/config réservée au **super_admin** (interface `/admin/users`). Changement de mot de passe en libre-service (`/profile`). |
| 2026-06-07 | Documents = Google Drive (scope `drive`), gestion complète admin/super_admin, lecture user. |
| 2026-06-07 | Google Photos **reporté** (Library API limitée aux médias app-created ; Picker API requis). |
| 2026-06-07 | Suivi de position **repris** : Android + **OwnTracks** (HTTP privé) → `POST /track/owntracks/<jeton>`. Carte **Leaflet + OpenStreetMap** (Q4 tranchée). Chacun ne voit que ses appareils. |
