Notes de design du widget : cinq moments par jour, sans bouton supprimer
Le widget d'écran d'accueil est la partie la plus sociable de Fil des jours : il se tient sur votre écran verrouillé et vos premières pages à la place de l'app, et raconte où en est la photothèque. Quelques décisions de design méritent d'être consignées.
Cinq moments par jour
Le petit widget n'est pas une carte statique mais un programme qui tourne avec l'horloge :
- Matin · souvenir — une photo d'il y a des années ce jour-là, avec la météo du moment ;
- Matinée · carte de tri interactive — un bouton « ✓ Garder » qui marque la prochaine photo depuis le widget ;
- Après-midi · série — jours consécutifs et progression : « la photothèque s'allège » ;
- Soir · histoire — une invitation à lire l'histoire du jour ;
- Nuit · suppressions en attente — le compteur seulement ; toucher ramène vers l'app.
La même « progression » motive à 9 h et presse à 22 h. Placer l'information au bon moment compte plus que tout faire tenir sur un écran.
Onze états et chaînes de repli
L'entrée du widget est unique : un instantané écrit par l'app dans l'App Group — progression, série, souvenirs, résumé d'histoire, vignettes compressées à 512 px. S'il manque une pièce, aucun emplacement ne doit afficher de panneau vide : chaque emplacement a donc une chaîne de repli — pas de souvenir, repli sur l'histoire ; pas d'histoire, repli sur une carte d'accueil. Les onze états ont été archivés en captures et vérifiés un à un.
Les aperçus photo sont préparés par l’app. L’action Garder écrit dans le registre partagé et vérifie Pro via StoreKit. Les autorisations Photos et les suppressions système restent dans l’app.
Pourquoi pas de bouton supprimer
La suppression n'arrive que dans l'app, derrière la confirmation système d'iOS.
Cette règle a été posée le premier jour. Trier se fait l'esprit léger ; supprimer mérite une confirmation posée. Retirer la suppression de l'écran d'accueil met une distance physique entre un faux geste et un adieu. La seule action d'écriture du widget est « ✓ Garder » — un AppIntent iOS 17 interactif qui écrit dans le magasin de décisions partagé, sans même ouvrir l'app.
Liens profonds et récupération d'état
Chaque emplacement mène par lien profond photokeep:// à l'écran correspondant : un souvenir vers le calendrier, le rappel vers le tri, une histoire vers la page Histoire. Côté app, l'instantané est réécrit à chaque changement de décision ou génération d'histoire, et après un redémarrage le dernier résumé est restauré depuis le cache local — la ligne que vous veniez de lire ne disparaît pas.
Pour les frontières techniques derrière le résumé d'histoire, lisez l'article précédent : comment l'histoire du jour est écrite.