cliquez, lancez ↑
Projet · PWA mobile-first

AuPif

Le hasard vous emmène ailleurs. Un seul lieu gratuit autour de vous, et un bouton « J'y vais ».

le déclic
« Je ne sais pas quoi faire. » ↓ quelques envies, un tirage « Je pars. »
1 lieu

Pas une liste à éplucher : une seule proposition à la fois.

0 €

Uniquement des lieux gratuits : parcs, points de vue, œuvres, places, plages…

0 compte

Pas de serveur, pas d'inscription : tout reste sur l'appareil.

à vous de jouer

Vos envies,
puis le hasard.

Proposition 0 / 3 de la session

sous le capot · src/domain

Du hasard, oui. Mais contraint.

① eligibility.ts

Filtres éliminatoires

Distance, horaires, gratuité, accessibilité, et exclusion de l'historique récent.

② scoring.ts

Score configurable

Chaque lieu restant reçoit un score pondéré selon les envies et l'humeur.

③ draw.ts

Tirage pondéré

Le score donne des chances, pas la victoire. Anti-répétition assoupli si besoin.

la source

De vrais lieux OpenStreetMap, via Overpass.


ParcsJardins publicsPoints de vuePlacesPlagesŒuvres dans l'espace publicMonumentsAgrèsMusées · si fee=noGaleries · si fee=no
Information non confirmée

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
la promesse

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.

après le tirage

« J'y vais. » Et au retour, une question.

Tu y es allé ? Ça valait le détour ? Tu connaissais ?

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).

React · TypeScript · Vite · PWA

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.

et maintenant ?

Laissez faire
le hasard.