Mes projets

Pétanque Meet - 2026

Développeur · Ludiven Studio
Unity
Supabase
TypeScript
Astro
React
Python
Android
iOS

Projet en cours. La carte des parties et des concours de pétanque, sur le web et en appli mobile : un seul serveur pour les deux, des comptes Apple et Google, du contenu public à modérer, et une interface Unity générée par script.

Voir la page de l'application
Pétanque Meet — trouve des joueurs de pétanque près de chez toi

Cette page décrit la démarche technique derrière Pétanque Meet, un projet en cours : l'appli est en cours de publication sur le Play Store et l'App Store. Pour trouver une partie, la carte des parties est faite pour ça.

Le besoin

Envie de jouer, mais personne pour compléter la doublette ? Les parties entre amis s'organisent au téléphone, et les concours des clubs sur des affiches au boulodrome. Pétanque Meet met les deux sur une même carte : les parties qui cherchent des joueurs, combien il en manque, et les concours à venir avec leur affiche.

Un seul serveur pour le site et l'appli

La carte est d'abord née sur ce site, puis l'appli Unity est venue la compléter. Les deux parlent au même serveur : une fonction Supabase (Edge Function, en TypeScript) est le seul point d'entrée. Les tables n'ont aucune règle d'accès publique, seule cette fonction les lit et les écrit. Une partie posée dans l'appli apparaît sur le site, et inversement.

La fonction porte toutes les règles : validation, places restantes, limites anti-abus par joueur et par adresse IP hachée. Ses messages de refus sont rédigés en français, et l'appli les affiche tels quels. Les recopier dans l'appli aurait créé une deuxième source de vérité, qui aurait divergé le jour où le serveur ajoute un cas.

Regarder sans compte, agir avec un compte

La carte se consulte librement. Poser une partie, s'inscrire, suivre un concours ou signaler demande un compte : « Se connecter avec Apple » sur iPhone, Google sur Android (dans le navigateur, avec PKCE). Les premières parties dataient d'avant les comptes et reposaient sur un identifiant d'appareil et un secret par partie : l'appli envoie encore les deux tant que ces parties n'ont pas expiré, pour que personne ne perde la main sur la sienne.

Du contenu public, donc de la modération

  • Les prénoms et les textes des concours sont vérifiés par le serveur : ni lien, ni balisage.
  • Une affiche reste privée tant qu'un modérateur ne l'a pas validée.
  • Chaque partie et chaque concours a « Signaler ou masquer », qui peut aussi masquer toutes les parties d'un organisateur.
  • Le compte se supprime depuis l'appli : les parties à venir sont annulées et le prénom disparaît.

Une interface Unity écrite en Python

Les écrans de l'appli ne sont pas montés à la main dans l'éditeur Unity. Chaque écran est décrit par un script Python, puis construit en prefab par PrefabFusion, l'outil maison de Ludiven Studio. Les scripts imposent une charte (tailles de texte, grille, rayons, rôles de couleur) : aucune taille ni couleur n'est écrite en dur. Changer une marge ou une teinte se fait une fois, et tous les écrans suivent. C'est ce qui rend possibles cinq palettes, chacune en clair et en sombre.

Vie privée

La position GPS ne quitte jamais le téléphone : le centrage de la carte et les distances sont calculés sur l'appareil. Les rappels avant une partie sont des notifications locales, sans jeton envoyé à un serveur. La mesure d'audience (Umami) est anonyme et sans cookie : des codes fixes, sans identifiant de compte ni d'appareil.

Cinq langues, vérifiées

Les textes vivent dans un tableur traduit en français, anglais, espagnol, allemand et italien. Un script en exporte le fichier lu par l'appli, et un autre bloque la livraison s'il manque une clé, si un texte français traîne dans le code, ou si un caractère n'existe pas dans la police embarquée. Le carré vide à la place d'un « ß » se voit avant la publication, pas après.

Où en est le projet

La carte web est en ligne. La publication de l'appli sur le Play Store et l'App Store est en cours.

Voir aussi : la carte des parties, la politique de confidentialité et les conditions d'utilisation.

L'application

La carte : les parties qui cherchent des joueurs et les concours des clubsUne partie : le terrain, l'heure, le format et qui joue déjàUn concours de club, avec son affiche et le numéro de l'organisateurPoser une partie : le terrain, l'heure, le format et le nombre de joueursL'agenda : les parties organisées, celles rejointes et les concours suivisLa même carte en thème sombre