AuPif
Le hasard vous emmène ailleurs. Un seul lieu gratuit autour de vous, et un bouton « J'y vais ».
Pas une liste à éplucher : une seule proposition à la fois.
Uniquement des lieux gratuits : parcs, points de vue, œuvres, places, plages…
Pas de serveur, pas d'inscription : tout reste sur l'appareil.
Vos envies,
puis le hasard.
Proposition 0 / 3 de la session
Du hasard, oui. Mais contraint.
Filtres éliminatoires
Distance, horaires, gratuité, accessibilité, et exclusion de l'historique récent.
Score configurable
Chaque lieu restant reçoit un score pondéré selon les envies et l'humeur.
Tirage pondéré
Le score donne des chances, pas la victoire. Anti-répétition assoupli si besoin.
De vrais lieux OpenStreetMap, via Overpass.
Quand une donnée manque, l'écran le dit. Jamais d'invention.
- Distance à vol d'oiseau
- Durée estimée, jamais en transports en commun
- Source et date des données affichées
- Catalogue démo séparé, marqué « Lieu fictif »
- Signaler un lieu incorrect, ou le corriger sur OSM
Votre position ne part nulle part.
Localisation sur clic
Uniquement quand vous la demandez, avec repli par recherche de ville.
GPS jamais stocké
Une ville est gardée arrondie à ~1 km, rien de plus.
Itinéraire sans départ
« J'y vais » ouvre la carte sans transmettre votre point de départ.
Sans serveur
Pas de compte : l'état est validé et rangé sur l'appareil.
Export
La page « Vos données » exporte tout en un clic.
Effacement total
Consentements révocables, effacement complet à tout moment.
« J'y vais. » Et au retour, une question.
Google Maps, Plans d'abord sur Apple, OpenStreetMap en repli. Ces retours, plus les favoris et l'anti-répétition, alimentent le tableau de bord du pilote (#/interne).
Logique métier pure, testée à part.
domain/Éligibilité, score, tirage, session, horaires OSM, itinéraires, métriques. Aucune dépendance React.
data/places/Une abstraction PlaceProvider : OpenStreetMap ou démo, jamais mélangés.
data/storage/État local validé, consentements, durée de conservation.
app/Écrans, composants, états de chargement, d'absence de résultat et d'erreur réseau.
Vitest + Testing Library, ESLint, typecheck strict. Déployable en site statique HTTPS. Point d'attention relevé par le projet : les instances Overpass publiques saturent parfois (502), il faudra une instance dédiée au-delà d'un pilote.