# ArtShare — Plan de travail

*Version du 1er novembre 2026. S'appuie sur `specifications-fonctionnelles.md` (EF-xx), `nouvelles-instructions.md`, `design-site.md` et `decisions.md` (D-xx).*

## Principes

- **Stack** : Laravel (PHP) + MySQL, administration avec Filament.
- **Hébergement prototype** : OVH offre Perso, sur un sous-domaine, avec une base de données dédiée. Pas d'accès SSH : on déploie par FTP, et les migrations de base sont lancées depuis une page d'administration protégée.
- **Configuration** : tous les choix d'affichage et les réglages (couleurs, icônes, durées, seuils, plafonds) sont regroupés dans un fichier `config/artshare.php` (règle générale de `decisions.md`).
- **Cycle de travail** :
  1. Claude développe chaque version sur une branche, avec ses tests automatisés.
  2. Il ouvre une pull request.
  3. Tu relis et tu fusionnes.
  4. Tu testes en local (Laragon), puis tu déploies sur OVH et tu suis la liste de tests de la version.
- **Une version = un ensemble utilisable.** On ne passe à la suivante qu'une fois la précédente validée sur OVH. Chaque version peut être découpée en plusieurs pull requests.

## Vue d'ensemble

| Version | Contenu | Jalon |
|---|---|---|
| V0 | Socle technique et déploiement | |
| V1 | Administrateur, invitations, comptes artistes | |
| V2 | Collections et œuvres (espace artiste) | |
| V3 | Pages publiques et accueil | **Prototype de base** |
| V4 | Recherche | |
| V5 | Artiste confirmé, expositions, lieux | |
| V6 | « Art pour tous » | |
| V7 | Aperçu « vue visiteur » | |
| V8 | Comptes amateurs, suivi, notifications | |
| V9 | Messagerie | |
| V10 | Modération : signalements, bannissements, journal | **Prototype complet** |
| V11 | Finitions | |

---

## V0 — Socle technique et déploiement

**Objectif** : une page « ArtShare » visible sur OVH en HTTPS, et une procédure de déploiement qui fonctionne.

**Contenu**
- Création du projet Laravel et de sa structure de base.
- Fichier de configuration `config/artshare.php`.
- Gabarit général : en-tête (« ArtShare » + « Se connecter »), pied de page, charte graphique (couleurs, police Inter, D-20), responsive.
- Page d'accueil provisoire.
- Page d'administration protégée pour lancer les migrations.
- Procédure de déploiement pas à pas, dans `docs/deploiement.md`.

**À préparer de ton côté**
- Le sous-domaine OVH et son certificat HTTPS.
- La base MySQL dédiée.
- L'adresse e-mail d'envoi.
- Les accès FTP.

**Tests après déploiement**
- Le site s'affiche en HTTPS sur téléphone et sur PC.
- La page de migration est refusée sans authentification.

---

## V1 — Administrateur, invitations, comptes artistes

**Objectif** : un artiste invité peut créer son compte, se connecter et remplir son profil.

**Contenu**
- Compte administrateur par défaut, créé à l'installation et non désactivable (EF-50).
- Administration minimale : envoi d'invitations, avec l'e-mail et le type de compte (D-10, D-15). Le lien est à usage unique et valable 7 jours.
- Inscription depuis l'invitation, avec confirmation de l'adresse e-mail (D-11). En V1, seul le type « artiste » est activé.
- Connexion : fenêtre modale sur PC, plein écran sur téléphone, « Rester connecté » pendant 30 jours (D-13), « Mot de passe oublié ».
- Profil artiste : tous les champs de la spec, sauf « Artiste confirmé » et « Expositions » (EF-01, EF-03 à EF-05), plus le champ Ville (D-04).
- Liste des types d'œuvres en base, modifiable par l'administrateur (D-01).
- Création automatique de la collection par défaut « Le travail de… », dont le nom suit celui de l'artiste (EF-02, EF-16).

**Tests après déploiement**
- Envoyer une invitation, puis vérifier la réception de l'e-mail, l'inscription et la confirmation d'adresse.
- Un lien d'invitation déjà utilisé, ou de plus de 7 jours, est refusé.
- Se connecter, fermer le navigateur, revenir : l'utilisateur est toujours connecté.
- Utiliser « Mot de passe oublié ».
- Changer de nom d'artiste : le nom de la collection par défaut suit.

---

## V2 — Collections et œuvres (espace artiste)

**Objectif** : l'artiste gère tout son contenu et le rend public.

**Contenu**
- Collections : création, modification, suppression, en en gardant toujours au moins une (EF-10, EF-11, EF-16).
- Œuvres : ajout, modification, suppression, déplacement vers une autre collection (EF-20, EF-21, EF-24).
- Champs d'une œuvre : type, statut et prix (EF-25, EF-26), livraison, dimensions avec choix des unités (EF-27).
- Photos : de 1 à 5 par œuvre, ordre réglable, formats et poids contrôlés, conversion en WebP et vignettes, case « droits d'utilisation » (D-02, D-03).
- Ordre des œuvres dans une collection : la première est mise en avant (EF-15).
- Types d'une collection calculés automatiquement (EF-12).
- Règles de visibilité : privé par défaut, conditions pour publier avec message sur ce qui manque, retour automatique en privé (EF-13, EF-22, EF-40 à EF-43).
- « Profil pas encore prêt ».

**Tests après déploiement**
- Envoyer des photos de différents formats et tailles, dont une trop lourde.
- Tenter de publier une œuvre sans photo : refus, avec un message explicite.
- Repasser en privé la dernière œuvre publique d'une collection : la collection repasse en privé et l'artiste est prévenu.
- Supprimer une collection qui contient des œuvres : les œuvres sont placées dans la collection par défaut.
- Tout faire depuis un téléphone.

---

## V3 — Pages publiques et accueil — *jalon « prototype de base »*

**Objectif** : un visiteur parcourt le site comme dans la version finale.

**Contenu**
- Page d'une œuvre : titre, nom de l'artiste (D-21), carrousel de photos avec agrandissement, collection, icônes Information et Partage, menu « … » (pour l'instant vide ou presque), zone d'informations dépliable (D-22).
- Page d'une collection : nom, artiste et lieu (D-25), description, œuvres en défilement horizontal, effet « pile de photos ».
- Page d'un artiste : nom, photo, localisation, texte, collections, avec le cas d'une collection unique.
- Carte de collection, avec un modèle unique (D-24), et vignettes d'œuvres (D-23).
- Accueil : deux œuvres, une collection et un artiste au hasard, plus « Autres suggestions ». Le champ de recherche est présent mais inactif jusqu'en V4.
- Bandeau cookies, pages de mentions légales et de contact (contenu provisoire).

**Tests après déploiement**
- Vérifier que rien de privé n'apparaît à un visiteur non connecté, y compris en tapant directement l'adresse d'une œuvre privée.
- Navigation complète sur téléphone et PC, au clavier.
- Durée d'affichage de l'accueil sur mobile.

---

## V4 — Recherche

**Contenu**
- Recherche par nom sur les œuvres, les artistes et les collections, avec résultats groupés par catégorie (D-30).
- Filtre par type d'œuvre.
- Recherche avancée : limiter à une catégorie, filtre artistes confirmés / non confirmés (EF-09), filtre « Nouveautés » (D-31).
- Icône `calendar-days` sur les nouveautés. La durée de 30 jours est réglable dans la configuration.

**Tests** : combinaisons de critères, absence de contenu privé dans les résultats.

---

## V5 — Artiste confirmé, expositions, lieux

**Contenu**
- Indicateur « Artiste confirmé » et icône `amphora` à côté du nom (EF-06, D-26).
- Liste d'expositions, avec une date sous forme d'année, de date ou de période, et le tri défini par D-28 (EF-07, EF-08).
- Lieux d'exposition : texte libre ou lieu détaillé, partage entre artistes, gérance et reprise de gérance (EF-30 à EF-35).
- Lieu d'exposition d'une collection.

**Tests** : partager un lieu entre deux artistes ; supprimer un lieu en tant que gérant puis le reprendre avec l'autre artiste.

---

## V6 — « Art pour tous »

**Contenu**
- Indicateur sur les œuvres, avec ses conditions : « À vendre » et prix sous le plafond (EF-28, D-40).
- Icône `badge-euro` sur la page de l'œuvre, les vignettes et les cartes de collection (D-27).
- Section « Art pour tous » sur la page artiste.
- Plafond modifiable par l'administrateur (EF-29).
- En cas de baisse du plafond : notification des artistes concernés, délai de 30 jours, puis retrait automatique (D-41, D-42).

**Prérequis** : une tâche planifiée (cron) sur OVH. À vérifier lors de la V0.

---

## V7 — Aperçu « vue visiteur »

**Contenu** : bascule entre édition et aperçu, avec les modifications non enregistrées, et aperçu au format téléphone sur PC (EF-45).

---

## V8 — Comptes amateurs, suivi, notifications

**Contenu**
- Invitation et inscription des amateurs (EF-60), avec leurs indicateurs (EF-61, EF-62).
- Fonctions amateur pour les comptes artistes (D-12).
- « Suivre » et « Préférés », avec le même comportement de notification (D-62). Ajoutés au menu « … » (D-52).
- Notifications par e-mail (EF-64, D-61) : réglage de la fréquence (immédiate, quotidienne, hebdomadaire) et possibilité de couper les e-mails (D-60).

**À trancher avant** : D-14 (menu « Mon compte » selon le type de compte), et la différence entre « Suivre » et « Préférés » du point de vue de l'utilisateur.

---

## V9 — Messagerie

**Contenu** : messagerie interne. Artistes et amateurs peuvent initier une conversation et y répondre, dans le respect de l'indicateur « Accepte d'être contacté » (EF-63, D-53).

**À trancher avant** : un amateur peut-il contacter un artiste qui ne l'a jamais contacté ? Et les notifications de nouveaux messages.

---

## V10 — Modération — *jalon « prototype complet »*

**Contenu**
- Signalement depuis le menu « … », sans connexion obligatoire (EF-54, EF-55).
- E-mails à la personne qui signale (accusé de réception, puis suite donnée) et aux administrateurs (D-70, D-71).
- Écran « Signalements » dans l'administration, filtrable par statut (D-70).
- Bannissement et levée de bannissement, avec leur effet sur la visibilité (EF-44, EF-52).
- Côté artiste : consultation des signalements et bannissements, et réponse (EF-56).
- Gestion des comptes administrateur (EF-51), consultation de tout le contenu (EF-53).
- Journal des activités, conservé 5 ans par défaut (EF-57, D-72).

---

## V11 — Finitions

- Partage d'une œuvre (D-51) et contact visiteur → artiste (D-50), une fois tranchés.
- Revue d'accessibilité (WCAG AA) et de performance.
- Contenu définitif des mentions légales et de la politique de cookies.
- Préparation de la migration vers l'hébergement définitif.

---

## Décisions encore ouvertes

| # | Sujet | À trancher avant |
|---|---|---|
| D-14 | Menu « Mon compte » selon le type de compte | V8 |
| — | Différence « Suivre » / « Préférés » pour l'utilisateur | V8 |
| — | Règles d'initiative et notifications de la messagerie | V9 |
| D-50 | Contact visiteur → artiste | V11 |
| D-51 | Moyens de partage | V11 |
