# Intégration site standalone - programme Garde-à-Vue

Date : 2026-06-20
Statut : proposition technique, à valider avant développement dans l’application Laravel.

## Objectif

Afficher sur le site public une sélection d’articles déposés, avec photos, sans exposer la base métier et sans publier de données clientes.

## Principe recommandé

Le programme Garde-à-Vue reste la source officielle. Le site public ne lit jamais directement la base de données. L’application produit un export public contrôlé sous forme de fichier JSON et de photos redimensionnées.

Flux proposé :

1. Dans l’application Garde-à-Vue, ajouter un champ ou un flag `publier_site` sur les articles.
2. Ajouter un écran interne pour sélectionner les articles visibles sur le site.
3. Générer un export statique, par exemple toutes les 15 minutes ou à chaque modification.
4. Le site lit uniquement cet export public.

## Contrat JSON proposé

```json
[
  {
    "id": "public-article-1234",
    "title": "Sac cuir noir",
    "type": "Accessoire",
    "brand": "Sélection boutique",
    "price": "CHF 120.-",
    "status": "Disponible",
    "image": "https://magasin.garde-a-vue.ch/site-feed/images/public-article-1234.jpg",
    "updated_at": "2026-06-20T10:00:00+02:00"
  }
]
```

## Données interdites dans l’export

- Nom de cliente ou déposante.
- Numéro interne non nécessaire.
- Prix d’achat ou montant dû à la déposante.
- Historique de dépôt.
- Informations de vente non publiques.
- Photo originale non redimensionnée si elle contient des métadonnées inutiles.

## Photos

Recommandation : générer des images publiques redimensionnées, sans EXIF, au format JPEG ou WebP.

Dimensions conseillées :

- miniature : 600 x 800 px
- grande image : 1200 x 1600 px maximum

## Sécurité

Option la plus simple et robuste : export statique public sans token, mais uniquement avec les articles explicitement publiés.

Option plus stricte : endpoint protégé par clé serveur entre le site et l’application. Dans ce cas, le token doit rester côté serveur. Il ne doit jamais être inclus dans JavaScript public.

## Pourquoi éviter une connexion directe à la base ?

Une connexion directe depuis le site public vers la base métier augmente le risque de fuite, complique les droits d’accès, et rend le site dépendant du schéma interne. Un export public est plus simple à auditer et plus sûr.
