# Welcom — Dashboard adhérents & réseau

Application privée de gestion du réseau **Welcom (Web Loire Commerce)** : organisations,
contacts, prospection, emailing Brevo, événements, partenaires/presse,
frais et statistiques. Elle remplace le Google Sheet (qui n'a servi qu'à l'amorçage).

Pensée pour être **simple et intuitive**, utilisable au bureau comme en déplacement.

## Lancer en local (5 min)

```bash
# 1. Initialiser la base (schéma + données du Sheet + compte admin)
php tools/init_local.php

# 2. Démarrer le serveur
php -S localhost:8000 -t public

# 3. Ouvrir http://localhost:8000   →   admin / welcom42  (à changer !)
```

Prérequis : PHP 8+ avec `pdo_sqlite`, `curl`, `mbstring`.

## Ce que contient l'appli

- **Synthèse** : compteurs clés, emailing, événements, relances.
- **Organisations** : annuaire complet, recherche instantanée, colonnes triables, fiche en
  onglets (Fiche / Historique) avec plusieurs contacts par organisation.
  - **✨ Enrichir** : récupère SIREN, CA et effectif via `recherche-entreprises.api.gouv.fr`.
  - **📍 Géocoder** : calcule lat/lng depuis l'adresse via la Base Adresse Nationale
    (automatique aussi à l'enregistrement si les coordonnées sont vides).
  - Actions rapides sur les contacts : **téléphone / WhatsApp / e-mail**.
  - **→ Brevo** : ajoute le contact principal d'un adhérent à la liste Brevo « Adhérents ».
- **Pipeline** : prospection en colonnes (Kanban) — glisser-déposer pour changer d'étape.
- **Emailing** : engagement Brevo par contact (envois / ouvertures / clics) + listes + campagnes.
- **Boîte mail** : lecture des e-mails OVH (IMAP), chaque message relié à son organisation.
- **Événements** : présence par organisation.
- **Relances** : adhérents à relancer (échéance / statut).
- **Plus ▸ Partenaires & presse** : carnets institutionnels et médias.
- **Plus ▸ Frais** : note de frais kilométriques (barème 0,606 €/km, totaux).
- **Plus ▸ Statistiques** : observatoire (secteur, ville, taille).

## Carte publique

La **carte n'est pas dans l'appli** (c'est un projet séparé, public, pour le site).
L'appli expose toutefois sa source de données :

```
GET /api/map.php   →   JSON public (sans login)
```

Champs **publics uniquement** (nom, site, ville, lat/lng, secteur, taille, résumé, adhérent) —
jamais d'e-mail, de CA ni de commentaire. Seules les organisations cochées
« Visible sur la carte publique » (consentement) sont renvoyées. C'est ce que la future carte
viendra brancher.

## Connexions externes

- **Brevo** : ✅ configuré (clé dans `config/config.php`). Lecture des listes/campagnes/engagement,
  envoi d'e-mails de relance, et ajout/retrait de contacts dans une liste.
- **HelloAsso** : 🟡 prêt, à activer. Renseignez `client_id` / `client_secret` dans `config/config.php`.
  Les clés se créent sur HelloAsso : *Mon espace → Intégrations → API*. C'est de la **lecture seule**
  (récupération des paiements/adhésions pour calculer qui est à jour). Tant que c'est vide, aucun
  statut d'adhésion n'est inventé.
- **Boîte e-mail OVH (IMAP)** : 🟡 prêt, à activer. Renseignez le **mot de passe** de
  `contact@asso-welcom.fr` dans le bloc `'imap'` de `config/config.php`, puis page **Boîte mail →
  Synchroniser**. Lecture seule ; chaque e-mail est relié automatiquement à l'organisation
  correspondante (via l'adresse de l'expéditeur). Nécessite l'extension PHP `imap` (standard chez OVH).
- **API publiques de l'État** : géocodage (BAN) et enrichissement entreprise — sans clé.

### Synchroniser
Bouton « Tout synchroniser » (Synthèse) ou par source : HelloAsso, Brevo, e-mails.
En ligne, on peut automatiser via une tâche planifiée :
`php public/sync.php` n'est pas en CLI — préférez un appel cron sur l'URL, ou un petit script
qui inclut `src/brevo.php` / `src/mail.php` / `src/helloasso.php` et lance les `*_sync()`.

## Passer en ligne (MySQL / HTTPS)

Dans `config/config.php`, basculer `driver` sur `mysql` et renseigner la connexion, puis
charger `sql/schema.mysql.sql`. Réimport des données : `php tools/import_seed.php --force`.

## Arborescence

```
public/        pages + assets + api/map.php
src/           db, model, auth, ui, brevo, helloasso, enrichment, mail (IMAP)
sql/           schémas sqlite + mysql
tools/         init_local.php, import_seed.php, create_user.php
data/          seed_data.json + base sqlite (générée, non versionnée)
config/        config.php (non versionné) + config.example.php
```

## Compte par défaut

`admin` / `welcom42` — **à modifier** : `php tools/create_user.php <login> <mot_de_passe>`.
