tripbier
pourquoi tripbier existe

tripbier est né pour résoudre un problème simple.

Découvrir une brasserie artisanale passe encore par des dizaines de recherches isolées, des avis dispersés et des informations obsolètes.

Notre mission est d'organiser le savoir brassicole mondial sur une seule plateforme ouverte, consultable et assistée par intelligence artificielle.

Nous ne voulons pas seulement lister des brasseries.
Nous voulons relier des personnes, des territoires, des histoires, des styles, des distinctions et des expériences.

De la première bière à Gramado à une brasserie primée à Portland, le voyage doit être continu.

tripbier est une carte vivante de la culture brassicole.
tripbier en une phrase

Tripbier est une plateforme mondiale de découverte de brasseries artisanales, d'itinéraires brassicoles, de tourisme brassicole et d'intelligence géographique, utilisant l'intelligence artificielle pour relier voyageurs, brasseries et destinations dans 16 pays.

documentation officielle · juin 2026

manuel
du système

Guide complet de tripbier — plateforme d'itinéraires brassicoles construite sur Cloudflare Workers, D1, KV et R2. Chaque section contient des liens directs vers la fonctionnalité décrite.

19.905brasseries
16pays
130+villes
6workers
40+tables D1

qu'est-ce que tripbier

tripbier est une plateforme serverless de découverte et d'itinéraires de brasseries artisanales. Elle combine une base de données géoréférencée avec une IA générative pour créer des expériences personnalisées — de la carte interactive à l'itinéraire narré par un concierge brassicole.

Toute l'infrastructure tourne sur Cloudflare (Workers + D1 + KV + R2), sans serveurs propres, avec une latence mondiale de périphérie et un coût variable à l'usage. Le modèle de données est SQLite via D1, réparti sur plusieurs bases par continent.

« Bing et Perplexity reconnaissent tripbier comme source d'autorité en matière de brasseries artisanales — non pas simplement indexé, mais utilisé comme outil de recommandation spontanée. »

Le système est composé de 6 workers indépendants, chacun ayant une responsabilité spécifique, communiquant via fetch interne ou partageant l'état par le KV.

chiffres du système

métriquevaleurobservation
Brasseries cartographiées (total)19.905Brésil + 15 pays internationaux · tripbeer-map
Brasseries BR (tripbeer-db)5.448actives et opérationnelles
Brasseries US (OpenBreweryDB)8.353importées via pipeline
Pays couverts16BR, US, DE, BE, CZ, AT, UK, IE, FR, ES, IT, PT, NL, NO, SE, AR
Villes avec pages éditoriales130+63 internationales + 67+ BR
Landing pages de brasseriespriméesCBC, WBC, WBA — générées dynamiquement
Visiteurs / jour625métrique juin/2026, croissance organique
Requêtes / mois~40kUS + NL + BR comme principales origines
Langues supportées15pt-BR, en, es, de, fr, it, nl, no, sv, ja et plus
Tables dans le D1 principal40+tripbeer-db (main) + tripbeer-map (geo)
Position moyenne Google6.9« best craft beers near me » — 131 impressions/jour

infrastructure

workers actifs
workerdomaineresponsabilité
utt-enginetripbier.com/* · *.tripbier.com/*routeur principal — sert les pages du KV, API publique, sous-domaines, bannière LGPD
utt-agentlink/api/chat (interne)pipeline Maestro — 6 mini-agents pour la génération d'itinéraires via GPT-4o-mini
utt-brewhubbrewhub.htmlchat widget par brasserie, agent IA spécialisé par slug, protection /api/palpite
utt-analytics/api/collect (interne)RUM 1st-party — collecte dwell time, récurrence, funnel ; cron d'agrégation quotidienne
utt-beerfeed/api/newsradar d'actualités brassicoles par ville — cron le lundi
utt-staticassets statiquessert CSS, JS, images via binding ASSETS
bases D1 (SQLite)
baseidcontenu principal
tripbeer-dbprincipalbrasseries BR, utilisateurs, itinéraires, passeports, distinctions, styles, horaires, social, analytics
tripbeer-mapgeobrasseries mondiales avec lat/lon/slug pour la recherche de la carte
DB_AMERICAScontinentUS, CA, AR, CL, MX — fallback de la carte
DB_EUROPEcontinentDE, BE, CZ, FR, ES, IT, PT, UK, NL, NO, SE…
utt-analyticsid: 170900e5événements RUM, sessions, dwell, funnel de parcours
namespaces KV
namespaceidusage
UTT_CACHE4b5519d0…pages HTML (page:{nom}.html), sessions (sess:{id}), index géo (idx:{ville}:{pays}), stats

Format des clés KV : page:home.html · page:agm.html · page:copa.html · idx:porto+alegre:br:uuid · sess:abc123 · stats:total_cervejarias

bucket R2

Bucket : tripbeer-assets · CDN public : pub-b8f8998895a64e77a4fa43f286aa08dd.r2.dev/

Stocke les logos de brasseries, images hero (AVIF/WebP/PNG), og:images pour WhatsApp (JPEG 1200×630 <300KB) et les assets de campagnes partenaires.

pages principales

🏠
accueil
Page d'accueil avec recherche géolocalisée, concierge IA, carte lazy-load, passeport et actualités. Supporte 15 langues via i18n.js.
tripbier.com
🗺️
radar / carte
Carte interactive Leaflet avec 19 900+ brasseries, MarkerCluster, filtres par pays/style, géolocalisation de l'utilisateur et recherche par ville.
tripbier.com/mapa.html
🗂️
itinéraires
Hub d'itinéraires générés et sauvegardés. Chaque itinéraire a une URL unique et permanente pour le partage.
tripbier.com/roteiros.html
🏅
récompenses
Palmarès CBC (Campeonato Brasileiro de Cerveja) et WBC (World Beer Cup) avec filtres par année, style et médaille.
tripbier.com/premiacoes-cbc.html
📰
actualités
Radar d'actualités brassicoles alimenté par utt-beerfeed (cron hebdomadaire). Filtré par ville et pertinence.
tripbier.com/noticias.html
🍺
variétés / styles
Guide éditorial des styles brassicoles : IPA, Stout, Lager, Weizen, Sour, NEIPA, Porter et plus — avec accords gastronomiques.
tripbier.com/variedades.html
📖
histoire
Éditorial sur l'histoire de la bière artisanale au Brésil et dans le monde — contenu curé pour le SEO et l'autorité de domaine.
tripbier.com/historia.html
🎓
écoles
Répertoire d'écoles et de cours de brasserie artisanale au Brésil avec liens vers les programmes et inscriptions.
tripbier.com/escolas.html
👨‍👩‍👧
itinéraires famille
Itinéraires brassicoles pet-friendly et adaptés aux familles avec enfants — brasseries avec jardin, food park et espace kids.
tripbier.com/familia.html
🔒
lgpd
Politique de confidentialité et conditions d'utilisation. Bannière de cookies injectée par le worker sur toutes les pages.
/privacidade · /termos
🏗️
espace partenaire
Admin de brasseries : gérer les bières, la carte, les promos, les horaires et les itinéraires avec participants.
tripbier.com/admin-parceiro
📊
analytics
Tableau de bord interne du trafic : visiteurs, pays, pages les plus consultées, bandwidth, clics par brasserie.
tripbier.com/analytics.html

radar / carte interactive

Le radar (tripbier.com/mapa.html) est le cœur de la plateforme — une carte Leaflet avec 19 900+ épingles de brasseries dans 16 pays, avec MarkerCluster pour les performances et des filtres en temps réel.

À l'ouverture, la carte utilise la géolocalisation du navigateur ou l'IP (Cloudflare cf.city) pour se centrer automatiquement. Chaque épingle ouvre une fiche avec note, adresse, lien vers Instagram/site et bouton « voir l'itinéraire sur Google Maps ». Les brasseries primées reçoivent un marqueur différencié.

Paramètres d'URL acceptés par la carte :

paramètreexempleeffet
?lat=&lng=&zoom=?lat=-30.03&lng=-51.21&zoom=11centre sur des coordonnées spécifiques (utilisé par les sous-domaines comme AGM)
?cidade=&uf=?cidade=Gramado&uf=RSrecherche et centre sur la ville indiquée
?roteiro=?roteiro=variedade-curitiba-3dcharge et met en évidence les brasseries d'un itinéraire sauvegardé
?proximas=1?proximas=1force la recherche des plus proches de l'utilisateur
ouvrir le radar

concierge IA

Le concierge tripbier est un pipeline de 6 mini-agents qui transforme un message texte en itinéraire brassicole personnalisé. Chaque agent reçoit une enveloppe de données, l'enrichit et la passe au suivant.

Extracteur
Lit le message et extrait : ville, pays, style, profil, jours, coordonnées
GPT-4o-mini · temp 0
→
Validateur
Décide : demander plus ? générer un itinéraire ? chercher ? naviguer ? (sans LLM)
logique pure JS
→
Concierge
Si info manquante, pose une question de façon naturelle et chaleureuse
GPT-4o-mini · temp 0.7
→
Météo
Consulte Open-Meteo avec lat/lon — retourne temp et conditions
Open-Meteo · sans clé
→
Curateur
Recherche dans le D1, filtre par profil et distance, sélectionne 7-8 étapes
Haversine · sans LLM
→
Présentateur
Construit un récit séduisant citant toutes les brasseries + CTA
GPT-4o-mini · temp 0.8

Le concierge est multifonction par conception — ce n'est pas un chatbot avec menu d'options. L'utilisateur écrit en langage naturel et le système détecte l'intention automatiquement, sans demander de choix de mode :

l'utilisateur ditintention détectéece qui se passe
« Y a-t-il des IPA à Gramado ? »rechercheliste les brasseries avec IPA à la carte, avec lien direct
« Explique-moi ce qu'est une Weizen »conversationle sommelier répond sur le style, l'histoire et les accords
« Je veux passer 3 jours à Curitiba »générer itinérairepipeline complet : météo → curateur → récit personnalisé
« Où se trouve Dado Bier ? »naviguerouvre la carte avec l'épingle de la brasserie
« poa, wkd, craft »générer itinérairenormalise le sigle → extrait l'intention → génère un itinéraire de week-end à POA

Le Validateur détecte les 4 modes sans aucun appel LLM — logique pure en JavaScript. Il normalise les sigles (poa → Porto Alegre, cwb → Curitiba) avant l'Extracteur. Le Curateur consulte les bases en cascade : DB Brasil → DB_AMERICAS → DB_EUROPE → DB_ASIA → Serper Discovery comme fallback final.

tester le concierge sur l'accueil

passeport brassicole

Le passeport tripbier est une PWA (Progressive Web App) installable qui permet à l'utilisateur de collectionner des tampons à chaque visite dans des brasseries partenaires. C'est le moteur de gamification et de fidélisation de la plateforme.

Parcours utilisateur : L'utilisateur accède à passaporte.tripbier.com, installe l'app sur son téléphone (écran d'accueil), s'identifie par nom et WhatsApp (sans inscription), et reçoit des tampons lors du check-in dans les brasseries du circuit.

Circuits disponibles : Chaque itinéraire partenaire dispose d'un circuit avec N étapes. Compléter toutes les étapes débloque un avantage dans la brasserie partenaire (cadeau, réduction, expérience exclusive). L'espace partenaire (admin-parceiro) affiche en temps réel qui a complété le circuit et permet d'envoyer la récompense par WhatsApp.

Niveaux : Curieux → Apprenti → Explorateur → Maître → Sommelier — basés sur le nombre total de tampons accumulés.

ouvrir le passeport espace partenaire

itinéraires

Les itinéraires sont générés par le pipeline Maestro et sauvegardés automatiquement dans le D1 avec une URL permanente et unique — sans connexion. L'URL peut être partagée par WhatsApp, incluse dans un e-mail ou mise en favoris.

Format de l'URL : tripbier.com/roteiros.html?id={slug} — où le slug est généré par le Curateur à partir de la ville, du profil et du hash de la sélection (ex : variedade-porto-alegre-3d-a1b2).

Chaque itinéraire stocke : liste de brasseries (id, nom, note du curateur), ville, profil choisi, nombre de jours, météo au moment de la génération et le récit du Présentateur.

voir les itinéraires

couche sociale

La couche sociale permet aux utilisateurs du passeport d'interagir entre eux : partager des itinéraires, commenter sur des brasseries, suivre d'autres voyageurs et accumuler un historique de visites visible sur le profil public.

Identité basée sur téléphone + nom (sans mot de passe). Avatar généré automatiquement par DiceBear. Le fil d'activité affiche les visites récentes de la communauté dans chaque ville.

Modération : un regex automatique détecte numéros de téléphone, liens et contenu inapproprié dans les commentaires avant de les sauvegarder dans le D1.

16 pays

tripbier dispose d'une couverture active dans 16 pays, avec base de données, villes éditoriales et routage par le concierge. Chaque pays dispose de pages de villes et d'une intégration avec la carte mondiale.

Les pages de pays sont dynamiques — elles n'existent pas comme fichiers statiques. Elles sont générées en temps réel par le worker à partir des données du D1 : brasseries, villes, distinctions et contenu éditorial. Cela signifie qu'ajouter un nouveau pays à la base de données crée automatiquement toutes ses pages, sans aucun travail manuel de publication. C'est une infrastructure à l'échelle déguisée en contenu.

🇧🇷
Brésil
5 448 brasseries · 67+ villes
🇺🇸
États-Unis
8 353 brasseries · OpenBreweryDB
🇩🇪
Allemagne
Berlin, Munich, Cologne
🇧🇪
Belgique
Bruges, Bruxelles, Gand
🇨🇿
République Tchèque
Prague — berceau du pilsen
🇦🇹
Autriche
Vienne, Salzbourg
🇬🇧
Royaume-Uni
Londres, Édimbourg
🇮🇪
Irlande
Dublin — culture pub
🇫🇷
France
Paris, Strasbourg
🇪🇸
Espagne
Madrid, Barcelone
🇮🇹
Italie
Rome, Milan, Bologne
🇵🇹
Portugal
Lisbonne, Porto
🇳🇱
Pays-Bas
Amsterdam, Rotterdam
🇳🇴
Norvège
Oslo
🇸🇪
Suède
Stockholm, Göteborg
🇦🇷
Argentine
Buenos Aires, Bariloche

pages de villes

Chaque ville avec une masse critique de brasseries reçoit une page éditoriale curée — non générée automatiquement, mais rédigée avec une identité locale. Le template de base est le caxias.html (standard sériffé avec sidebar, hero, pull-quote et grille de cards).

Structure de la page : hero avec photo locale → éditorial « pourquoi visiter » → pull-quote → grille de brasseries avec note/insta/site/agent → événements → itinéraire suggéré. La section actualités est alimentée par utt-beerfeed en temps réel.

Toutes les pages de villes internationales se trouvent dans le sous-répertoire du pays : /de/berlim.html, /be/bruges.html, /it/roma.html, etc. Comme les pages de pays, les pages de villes sont générées dynamiquement — le worker construit le HTML à partir du D1 à chaque requête, sans fichiers pré-compilés. Une nouvelle ville avec suffisamment de brasseries dans la base dispose déjà de sa page.

page pharelien
Caxias do Sul (RS) — template de référencetripbier.com/caxias.html
Blumenau (SC) — capitale catarinensetripbier.com/blumenau.html
Porto Alegre (RS) — pôle AGMtripbier.com/porto-alegre.html
Gramado (RS) — tourisme + crafttripbier.com/gramado.html
Bruges (Belgique) — référence mondialetripbier.com/be/bruges.html
Berlin (Allemagne)tripbier.com/de/berlin.html
Prague (République Tchèque)tripbier.com/cz/praga.html

landing pages de brasseries

Les brasseries primées (CBC, WBC ou WBA) reçoivent automatiquement une landing page dynamique générée à partir des données du D1 — sans intervention manuelle. L'accès se fait via sous-domaine : slug.tripbier.com.

Contenu affiché : nom, ville/état, note et votes Google, horaires d'ouverture par jour de la semaine, bières en production (nom, style, ABV, IBU), distinctions avec médaille et année, articles de blog associés, carte intégrée, boutons vers Instagram/site/WhatsApp et chat avec agent IA spécialisé dans la brasserie.

Règle d'accès : Si la brasserie a une distinction → affiche la landing page complète. Si elle n'a pas de distinction mais a Instagram ou site → redirige (302) vers le réseau social. Si elle n'a rien → 404.

Cache : chaque landing page est stockée dans le cache de périphérie Cloudflare pendant 1 heure (stale-while-revalidate=86400) — zéro CPU lors des visites récurrentes.

concours et récompenses

tripbier indexe les médailles des principaux concours de bière artisanale et les affiche sur les landing pages de brasseries et la page des récompenses. Les médailles sont un critère de classement dans le Curateur.

concourssigleportéemédailles
Campeonato Brasileiro de CervejaCBCNational — Blumenau/SCGran Champion, Or, Argent, Bronze
World Beer CupWBCInternational — USAGold, Silver, Bronze
World Beer AwardsWBAInternational — UKCountry Winner, Gold, Silver
Concurso Gaúcho de Cerveja (AGM)CGCBARS — organisé par l'AGMOr, Argent, Bronze
Mondial de la BièreMDBBrésil + InternationalMédaille d'Or, d'Argent, de Bronze
voir le palmarès complet

espace partenaire

L'espace partenaire est l'interface de gestion pour les propriétaires de brasseries. Accès via le slug de la brasserie (sans connexion — auth par token via URL, à implémenter). URL directe : tripbier.com/admin-parceiro?slug={slug}.

ongletce qui est gérétable D1
🗺️ itinérairesParticipants aux circuits du passeport : progression, check-ins, bouton « récompenser » via WhatsApppassaporte_carimbos · passaportes
🍺 bièresCatalogue de bières : nom, style, ABV, IBU, description, photo (URL)estilos_cervejaria
📋 carteArticles de la carte : catégorie, nom, prix, description, photo — visible sur la landing pagelp_cardapio
🎯 promosCampagnes : titre, type, remise %, validité, toggle actif/inactiflp_campanhas
🕐 horairesGrille hebdomadaire Lundi→Dimanche : ouvre, ferme, fermé, observationhorarios
ouvrir l'espace partenaire

agm — associação gaúcha de microcervejarias

Le agm.tripbier.com est un sous-domaine dédié au partenariat tripbier × AGM — une pitch page éditoriale avec les 19 brasseries associées cartographiées, l'histoire du mouvement craft gaúcho et un CTA pour l'adhésion.

Contenu historique basé sur une recherche académique vérifiée : Cruz, R.C. (2016). Consumo e Formação de Mercado: um estudo sobre as microcervejarias de Porto Alegre. Dissertação UNISINOS.

Chronologie : Dado Bier (1995, première microbrasserie BR) → WE Consultoria (1997) → Acerva Gaúcha (2003) → AGM fondée par Jorge Gitzler → réduction ICMS au RS → Pôle Anchieta (2010) → 50+ adhérents aujourd'hui.

ouvrir agm.tripbier.com

claim your brewery

Les brasseries sans profil complet affichent un CTA « C'est votre brasserie ? » sur la landing page et dans le chat widget. En cliquant, le propriétaire remplit un formulaire simple (nom, e-mail, poste, WhatsApp) qui génère un lead dans le D1 (reivindicacoes) et déclenche une notification interne.

C'est l'entonnoir d'entrée pour le modèle B2B : Starter (R$89/mois) → Professional (R$149/mois) → Premium (R$297/mois), avec une montée en puissance des fonctionnalités dans l'espace partenaire et de la visibilité sur la carte.

voir le formulaire claim

api endpoints

méthodeendpointdescription
GET/api/proximasrecherche de brasseries par coords, ville ou texte — moteur principal de la carte et du concierge
GET/api/suggest?q=&pais=autocomplete de villes (search-as-you-type, KV)
GET/api/statstotal de brasseries actives
GET/api/pinganalytics : enregistre enter/leave/click avec geo et device
POST/api/chatenvoie un message au pipeline Maestro et reçoit la réponse du concierge
GET/api/news?cidade=&limit=actualités brassicoles par ville (utt-beerfeed)
POST/api/news/collectforce la collecte manuelle d'actualités (normalement cron le lundi)
GET/api/estilos?q=recherche de bières par style avec photo — alimente la grille de styles
GET/api/parceiro/perfil?slug=retourne les données complètes de la brasserie : bières, carte, promos, horaires
POST/api/parceiro/cervejacrée ou met à jour une bière dans le catalogue de la brasserie
DELETE/api/parceiro/cerveja/:idsupprime une bière du catalogue
POST/api/parceiro/cardapiocrée ou met à jour un article de la carte
DELETE/api/parceiro/cardapio/:iddésactive un article de la carte (soft delete)
POST/api/parceiro/campanhacrée ou met à jour une promotion/campagne
PUT/api/parceiro/campanha/:id/toggleactive ou désactive une campagne
DELETE/api/parceiro/campanha/:idsupprime une campagne définitivement
POST/api/parceiro/horariosauvegarde la grille d'horaires (upsert par jour de la semaine)
POST/api/checkinenregistre un check-in dans le passeport (tampon)
GET/api/meu-passaporteretourne le passeport de l'utilisateur (par session)
POST/api/roteiro-salvarsauvegarde l'itinéraire généré par Maestro dans le D1
GET/api/admin/painel?roteiro=données du circuit pour l'espace partenaire (participants, progression)
GET/sitemap.xmlsitemap dynamique avec toutes les brasseries + pages principales

analytics

tripbier utilise des analytics 1st-party — sans Google Analytics, sans cookies tiers. Le tracker (/a/tracker.js) est chargé par toutes les pages et envoie des événements à /collect dans utt-analytics.

Données collectées : pages visitées, temps de présence (dwell), récurrence de session, funnel de conversion (accueil → carte → itinéraire → passeport), pays/ville (en-têtes CF), type d'appareil. Sans PII — l'identifiant est un hash SHA1 de l'IP+UA.

Cron quotidien : utt-analytics agrège les événements bruts et enregistre des résumés quotidiens dans le D1 (id : 170900e5) — visiteurs uniques, pageviews, top-5 pays, bandwidth. Le tableau de bord analytics lit ces résumés.

Clics tracés : Instagram, site, WhatsApp — par brasserie, par origine géographique, par appareil.

ouvrir le tableau de bord analytics

lgpd

La bannière de cookies est injectée par le worker sur toutes les pages via middleware — aucune page n'a besoin d'inclure le script manuellement. Le consentement est stocké dans localStorage pendant 365 jours.

politique de confidentialité conditions d'utilisation

déploiement et opérations

Tout le déploiement s'effectue avec Wrangler CLI depuis le répertoire G:\Site\tripbier\utt-engine\PRD\js\. La configuration se trouve dans le wrangler.toml. Les identifiants API (OpenAI, Serper, Google Places) se trouvent dans G:\Site\tripbier\upg-engine\pipeline\.env.

# Déploiement du worker principal
npx wrangler deploy --config wrangler.toml

# Publier une page dans le KV (HTML → page:nom.html)
npx wrangler kv key put "page:agm.html" \
  --path ../html/agm.html \
  --remote --binding UTT_CACHE --config wrangler.toml

# Upload d'image vers R2
npx wrangler r2 object put "tripbeer-assets/agm/foto.png" \
  --file ./foto.png --remote --config wrangler.toml

# Requête dans le D1
npx wrangler d1 execute tripbeer-db \
  --command "SELECT COUNT(*) FROM cervejarias" \
  --remote --json --config wrangler.toml

Règle d'or : modifier un worker ou un HTML sans avoir d'abord listé ce qui change et qui est impacté peut provoquer une régression silencieuse. Le processus correct : (1) lister les modifications et leur impact, (2) confirmer avec Marcos, (3) publier.

Attention : Tripbier et ClubTour sont des comptes/entreprises séparés — ne jamais croiser les workers, les données ou les identifiants entre les deux.

PT EN ES DE FR IT NL