feat(r6): R6.3 — Ressources sur mobile (Stock, Tiers, Fichiers)

api/ressources.ts (usePartners, useParts/usePart, useCreatePurchaseOrder,
useDocuments). Écran Stock (sous-seuil en tête) + fiche pièce + "Commander"
pré-rempli en une ligne (fournisseur figé, quantité = manquant jusqu'au
seuil, prix = dernier connu — BC multi-lignes détaillé réservé au web, D4).
Tiers en lecture seule (création/édition réservées au web). Fichiers en
métadonnées seules — l'ouverture demande expo-sharing (dépendance native
absente, donc un nouveau build natif) : différée explicitement plutôt
qu'ajoutée à la légère au milieu de cette passe.

Menu : Stock & achats / Tiers / Fichiers routent réellement.

Typecheck propre, 17 tests Jest, lint 5/5 paquets. Contrat non touché,
toutes les opérations utilisées existaient déjà depuis R3.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
pr-daaif
2026-08-02 11:35:55 +01:00
parent 21dd6cf034
commit f210d4f801
9 changed files with 489 additions and 4 deletions

View File

@@ -4,6 +4,42 @@ Trace chronologique des sessions (la plus récente en premier). Le **playbook**
---
## 2026-08-02 — Pr. Daaif (+ Claude) — R6.3 : Ressources sur mobile (Stock, Tiers, Fichiers)
**Actions**
- `apps/mobile/src/api/ressources.ts` (nouveau fichier, mêmes opérations que `gestion.ts` côté
web) : `usePartners`, `useParts`/`usePart`, `useCreatePurchaseOrder`, `useDocuments` (bibliothèque
complète, sans filtre — distincte de `useDocumentsOT` déjà scopée à un OT).
- Écran **Stock** (`app/stock/index.tsx`) : pièces sous seuil en tête (même logique que `stock.tsx`
web), badge compteur. **Fiche pièce** (`app/stock/[id].tsx`) : identité + « Commander » si
`PURCHASE_ORDERS.create` ET fournisseur associé — sinon message explicite plutôt qu'un bouton
mort. **Nouveau BC** (`app/stock/[id]/commander.tsx`) : une seule ligne pré-remplie depuis
l'alerte (fournisseur figé, quantité par défaut = manquant jusqu'au seuil, prix par défaut =
dernier prix connu) — le bon de commande multi-lignes détaillé reste au web (D4).
- Écran **Tiers** (`app/tiers/index.tsx`) : liste fournisseurs/clients, **lecture seule** sur
mobile pour cette passe (D4 — création/édition réservées au web).
- Écran **Fichiers** (`app/bibliotheque/index.tsx`) : métadonnées seulement (nom, taille,
rattachement), **pas d'ouverture/téléchargement** — ce flux demande `expo-sharing` (dépendance
native absente du projet) et donc un nouveau cycle de build natif ; reporté plutôt
qu'ajouté à la légère au milieu de cette passe. Le bandeau de l'écran le dit explicitement.
- Menu : Stock & achats / Tiers / Fichiers routent réellement.
- Vérifié : typecheck propre, 17 tests Jest, lint 5/5 paquets. Contrat (`schema.d.ts`) non touché
— toutes les opérations utilisées existaient déjà (R3).
**Décisions**
- Aucune nouvelle — Ressources exécute la maquette R6 déjà validée (écran 6, D4) ; Tiers/Fichiers
n'y étaient pas maquettés en détail mais suivent la même logique de consultation déjà actée,
avec les patrons visuels déjà validés (Carte/LigneInfo/EnteteFiche).
- L'ouverture de document sur mobile est explicitement différée à une prochaine étape (nouvelle
dépendance `expo-sharing` = nouveau build natif à valider, pas à empiler sur cette passe).
**Prochaine étape** : R6.4 (Pilotage — Statistiques, Personnes, Assistant) ; confirmation du
référent sur iPhone pour R6.1/logout, toujours en attente.
---
## 2026-08-02 — Pr. Daaif (+ Claude) — R6.2 : Parc sur mobile (Sites, Ascenseurs)
**Actions**