1. Navigation par rôle (sidebar gauche) Les ingrédients sont organisés en 9 rôles : R1 base alcoolisée · R2 modificateur (liqueurs) · R3 sucrant · R4 acide & jus · R5 allongeur · R6 liant · R7 arôme & caractère · R8 garniture · R9 fiche de service (verre, glace, technique, profils, accords). Cliquer sur un item filtre instantanément les cocktails contenant cet ingrédient.
2. Barre de filtres (haut) Combine plusieurs critères : SÉLECTIONS (IBA officiel, Mocktail, Classique), ALLERGIES (14 allergènes EU obligatoires avec exclusion), VEGAN, NIVEAU (difficulté 1/2/3), TEMPS (rapide/long), OCCASION (apéro, digestif, festif). Filtres cumulatifs avec compteur live.
3. Fiche cocktail (clic sur une carte) Structure standard : en-tête (nom, IBA, difficulté, ABV, volume, temps) · steps numérotés avec quantité/référence/notes · process détaillé · history contextuelle · variants proches · fiche service R9 (verre, glace, technique, profils, accords mets).
4. Allergens & contraintes diététiques Chaque fiche affiche ses allergènes déclarés (icônes 🥛🥚🥜🌾🍷). Le filtre ALLERGIES en haut exclut les templates concernés. Le bouton ⚠ "Autres" couvre les 9 allergènes EU restants non identifiés individuellement (crustacés, poissons, arachides, soja, céleri, moutarde, sésame, lupin, mollusques). La responsabilité finale du barman reste de vérifier au cas par cas.
5. Conventions à connaître · Unités : cL = métrique standard, dsh/dash/trait = 1 secousse (≈ 0,9 mL), top/qsp = à hauteur/au goût, 1 boule/1 brin/1 pincée = naturel. · ABV : abv = pré-dilution, abv_servi = dans le verre final. · Le temps affiché est opérationnel total (sortir verre + doser + verser + service) — plancher 30s. · Termes techniques (qsp, dsh, swizzle, etc.) ont un survol tooltip dans la FAQ et les fiches.
Pour aller plus loin : les 27 entrées (Q1 à Q27) de cette FAQ cliquables documentent chaque champ et choix de conception en détail.
L'application reconnaît plusieurs raccourcis pour usage rapide en service :
Recherche · / ou Ctrl+K — focus immediat sur la recherche d'ingrédient · Esc — efface la recherche / sort du champ de saisie · ↑ ↓ dans les résultats — navigation au clavier · Entrée sur un résultat — sélection
Aide · ? (ou Shift+/) — ouvre/ferme la FAQ
Pour les contributeurs/développeurs : ces raccourcis sont définis dans `addEventListener('keydown', ...)` au niveau document, et ignorent les touches de saisie quand un input/textarea a le focus (sauf Escape).
En haut de la sidebar gauche, trois boutons permettent de basculer entre des logiques de filtrage radicalement différentes :
🔒 STRICTE — « Faisable avec exactement ces ingrédients » Le mode le plus contraignant. Un cocktail ne sort comme actif que si toutes ses bases R1-R7 sont présentes dans votre sélection. C'est le mode idéal pour répondre à la question « avec ce que j'ai en stock, qu'est-ce que je peux faire exactement ? ». Si vous sélectionnez seulement vodka + jus de canneberge, vous n'aurez quasiment aucun résultat car presque tous les cocktails ont au moins 3-4 ingrédients R1-R7.
🍹 LARGE — « Couvre les catégories nécessaires » Le mode par défaut, plus pragmatique. Un cocktail sort actif si chacune des catégories qu'il requiert (R1 base, R3 sucrant, R4 acide…) est au moins représentée dans votre sélection — peu importe l'ingrédient exact. Sélectionner « gin + sirop simple + citron » fait sortir tous les Sours, Collins, Gimlets, etc. car ces 3 catégories couvrent leurs besoins. Les cocktails qui contiennent l'un de vos ingrédients sélectionnés (ou un variant nominal proche) sortent aussi en variant-match.
🔍 INGRÉDIENT — « Quels cocktails utilisent cet ingrédient ? » Le mode inversé. Une seule sélection à la fois — l'outil retourne tous les cocktails qui contiennent cet ingrédient précis dans leurs steps (R1-R7), sans aucun filtre supplémentaire. Idéal pour explorer « j'ai du midori, que puis-je faire avec ? » ou « tous les cocktails à l'angostura ? ». Les pills d'ingrédients multi-rôles sont automatiquement synchronisées (cross-role). Note : R8 (dressing/garniture) est exclu par design de ce mode — un cocktail qui contient l'angostura seulement en garnish ne sortira pas si vous cliquez la pill angostura en R7/Bitters (et vice-versa, mais les deux pills sont synchronisées).
Quand utiliser quoi ?
Bonus mode Ingrédient — Recherche full-text (v1.30.0.22) En mode 🔍 Ingrédient uniquement, taper un mot dans le champ recherche déclenche aussi une recherche full-text dans le nom, la préparation (process) et l'histoire (history) des templates. Une section dédiée 📄 apparaît sous les ingrédients avec un snippet contextuel surligné. Utile pour découvrir « cocktails servis en batch », « techniques de fumage », « cocktails flambés », etc. Le clic ouvre directement la fiche correspondante. En modes Stricte et Large, cette extension est désactivée pour ne pas polluer la sélection d'ingrédients.
process
history
Les recettes, proportions, historiques et variantes sont compilés par recoupement d'au moins deux sources indépendantes. L'ordre reflète l'autorité et la couverture.
Références primaires · IBA (International Bartenders Association) — recettes officielles, proportions de référence · Difford's Guide (diffordsguide.com) — encyclopédie 2 000+ recettes, historiques, variantes · David Wondrich — Imbibe! (2007), Punch (2010) — référence historique absolue · Dale DeGroff — The Craft of the Cocktail (2002), The Essential Cocktail (2008)
Guides professionnels · Jim Meehan — Meehan's Bartender Manual (2017), The PDT Cocktail Book (2011) · Dave Arnold — Liquid Intelligence (2014) — technique et science · Jeff Morgenthaler — The Bar Book (2014) · Death & Co — Cocktail Codex (2018), Welcome to Death & Co (2021)
Sources régionales & culturelles · Robert Simonson — A Proper Drink (2016), The Old-Fashioned (2014) · Gary Regan — The Joy of Mixology (2003, éd. rév. 2018) · Sources spécialisées par région : USBG (USA), UKBG (Royaume-Uni), Club des Barmen de France, publications locales pour les cocktails d'Afrique, d'Asie et d'Amérique latine
Ressources en ligne de référence Kindred Cocktails · Punch Magazine · Imbibe Magazine · Alcademics (Camper English) · Tales of the Cocktail Foundation
Méthode — Recoupement ≥ 2 sources indépendantes. Les proportions IBA sont reprises telles quelles pour les cocktails officiels. Les variantes et contextes historiques sont issus des monographies. Les cocktails régionaux s'appuient sur des sources natives lorsqu'elles existent.
Chaque fiche affiche deux valeurs ABV distinctes qu'il est essentiel de ne pas confondre :
· abv — ABV de la recette pré-dilution, calculé sur les seuls ingrédients mesurés en cL. C'est l'ABV "théorique" du mélange juste après assemblage, avant glaçage ou agitation. Cette valeur est utile pour les calculs de coût matière et les ratios de force.· abv_servi — ABV final dans le verre du client, après prise en compte de la dilution moyenne par technique : −10% build, −15% muddle/swizzle, −20% stirred, −25% shaker, −30% blender. Pour les drinks topés (ginger beer, cola, tonic, champagne), un volume de top-up estimé est intégré. C'est cette valeur qui correspond à ce que boit réellement le client.
Ingrédients à impact négligeable : les doses inférieures à 1cL (bitters, traits, gouttes) sont considérées comme à impact ABV nul.
Marge d'erreur assumée : la dilution réelle varie selon taille/température des glaçons, temps de mélange, température ambiante. Une précision au centième de degré serait fausse par construction. L'ABV affiché est indicatif, ±1-2% en conditions normales, suffisant pour le conseil client et les estimations de service. En bar gastronomique de précision, pesez votre propre dilution.
time
L'outil utilise 22 unités de quantité, parmi lesquelles le centilitre (cL) est la référence métrique. Les autres sont des conventions opérationnelles de bar, internationales et standardisées par l'usage professionnel. Voici le glossaire complet :
Unités volumétriques · cL — centilitre (1 cL = 10 mL). Standard mesurable. · dsh (dash) — 1 secousse vigoureuse de la bouteille de bitters/sirop ≈ 0,9 mL (≈ 28 dashes/oz). Pour Angostura/orange bitters. · trait — synonyme français de dash, ≈ 0,9 mL. Équivalence pratique : 1 trait = 1 dash. · cs — cuillère à soupe (cuillère de bar ≈ 5 mL). · cc — cuillère à café (≈ 2,5 mL). · tsp / tbsp — teaspoon / tablespoon (5 / 15 mL).
Unités imprécises (intention de service) · top — compléter le verre jusqu'à hauteur souhaitée (typiquement 6-10 cL pour un highball, jusqu'à 12 cL pour un ballon). Utilisé pour les effervescents et sodas. · qsp (quantum satis, latin) — "quantité suffisante pour" : ajuster au goût pour atteindre l'équilibre désiré. · au goût — laissé à l'appréciation du barman selon le client (sucrant, épice, garniture). · rinçage — vaporisation/tapissage interne du verre (≈ 0,5 cL d'absinthe pour Sazerac, pastis pour Death in the Afternoon).
Unités d'objets et garnitures · 1 boule — boule de glace ou sorbet (≈ 60-80 g). · 1 pièce — pièce entière (1 fruit, 1 zeste, 1 garniture). · 1 tranche / rondelle — coupe transversale fine (citron, orange, concombre). · 1 quartier / écorce — section verticale (citron vert pour mojito, écorce zestée). · 1 brin / feuille — élément botanique (menthe : 4-8 feuilles, romarin : 1 brin). · 1 pincée — quantité prise entre deux doigts (sel, épices fines). · 1 bâton — bâton entier (cannelle pour vin chaud, citronnelle). · 1 cuillère — cuillère à dessert pleine (sucre, sirop épais). · 1 entier / 1 blanc — œuf complet ou seulement blanc. · 2 clous — 2 clous de girofle, pour Hypocras / Vin chaud. · 8 glaçons — quantité chiffrée de glaçons pour service direct (mug, highball). · pignons / raisins — éléments comptés (Jallab levantine).
Toute valeur exprimée hors cL est volontaire — soit parce que la précision millilitre serait illusoire (un dash dépend de l'angle de la bouteille), soit parce que l'unité naturelle (1 brin, 1 boule) est plus parlante qu'une conversion en grammes pour le barman.
Une vingtaine de cocktails portent un marqueur abv_note signalant que l'ABV affiché est délibérément approximatif. Ces cocktails ont des caractéristiques qui rendent un chiffrage strict trompeur :
abv_note
· Topup variable — l'ajout d'un allongeur "à hauteur" (ginger beer, tonic, champagne, eau gazeuse) signifie que le volume final dépend du verre et du geste du barman. Un Champagne Cocktail peut faire 12% ABV servi dans une flûte stricte, 8% dans une coupe plus généreuse. · Float ou layer — une couche flottante (crème, liqueur, rhum overproof) reste partiellement non mélangée et n'est pas consommée homogènement. L'ABV "à la première gorgée" diffère de l'ABV moyen calculé. · Dilution intense — recettes blender / frozen / pilée où la glace fondue représente 30-50% du volume final, avec forte variabilité selon technique. · Infusion ou macération — l'extraction d'arômes par macération modifie aussi l'ABV de manière difficile à mesurer sans réfractomètre.
Pour ces cocktails, l'abv affiché reste calculé sur les seuls ingrédients mesurés, mais le service réel diverge — souvent de plus de 10 points de pourcentage. Le marqueur sert à prévenir le barman de ne pas s'y fier strictement pour des conseils précis au client (notamment grossesse, conduite, traitement médical). Dans le doute, considérez l'ABV maximum théorique (avant dilution) comme borne haute.
Le champ volume indique le volume estimé du verre servi au client, en centilitres, incluant glace et top-up éventuel. Ce n'est pas la somme stricte des ingrédients en cL (qui se mesure facilement avec un jigger), mais le volume final perçu dans la main du client.
volume
Par exemple, un Old Fashioned avec 4,5 cL bourbon + 1,5 cL sirop = 6 cL d'ingrédients, mais le volume affiché sera de 8-10 cL car la glace fondue pendant le stir ajoute 25-30% de dilution. À l'inverse, un Mojito construit avec 6 cL d'ingrédients sera affiché à 20-25 cL en incluant le top eau gazeuse et la glace pilée.
Plage couverte : 3 cL (shots cul-sec, type Jägerbomb) à 100 cL (saladiers à punch / sangria collective). La plupart des cocktails individuels sont entre 9 cL (coupe stirred) et 35 cL (highball / mug).
Utilité métier : permet de choisir le verre adapté, de prévoir le coût matière (1 portion = 1 volume), de calculer une marge avec un prix de vente connu, et de comparer des recettes entre elles.
L'outil distingue deux niveaux de proximité entre recettes :
· Variants (champ texte au sein d'un template) — variations légères qui partagent l'identité de la recette : même technique, même proportions, simple substitution d'un ingrédient. Exemple : Aviation a comme variants Charlie Chaplin (Sloe Gin + Apricot Brandy) et Aviation Bleu (Crème de Violette renforcée). Pas de fiche dédiée car ce sont des variations cosmétiques d'une même recette. · Templates sœurs (recettes séparées avec ID propre) — variations structurelles qui méritent leur propre fiche : changement de technique (Frozen vs Stirred), volume drastiquement différent (Margarita vs Frozen Margarita vs Tommy's Margarita), ou identité historique distincte (Aviation original vs Aviation Royal IBA).
Règle de décision : si la recette change la technique principale (R9/Technique), la base (R1) ou plus de 30% des ingrédients R1-R4, c'est un nouveau template. Sinon, c'est un variant.
Sur les "frères jumeaux" (Aviation IBA vs Aviation classique, Daiquiri vs Daiquiri Hemingway) : les deux existent comme templates distincts lorsque la version IBA officielle diverge significativement de la version historique. Les deux peuvent être marqués officiels IBA ou seulement l'une, selon ce que reconnaît la liste IBA en vigueur.
Compositions affichées (v1.30.0.17) — Les variants non cliquables (parce qu'ils n'ont pas de template dédié) affichent désormais leur composition entre parenthèses dans la liste : par exemple Aviation → Charlie Chaplin (Sloe Gin + Apricot Brandy + Citron). Cela évite à l'utilisateur d'avoir à chercher en ligne pour comprendre la variante. Les variants cliquables (avec template propre) restent inchangés, le clic ouvre directement leur fiche.
Aujourd'hui : 306 compositions documentées pour les variants non cliquables — couverture complète.
L'outil intègre une centaine de recettes régionales au-delà des classiques anglo-américains. Leur sélection suit des critères stricts pour éviter le pittoresque touristique ou l'invention contemporaine non documentée :
1. Spiritueux d'origine documenté — la recette utilise un produit attaché à une tradition (baijiu, soju, makgeolli, sake, shochu, tej, hydromel, krupnik, pálinka, raki, ouzo, cachaça, mezcal, sotol, pisco, aguardiente…). Chaque ingrédient est référencé dans ITEM_ORIGIN avec son pays/région.
ITEM_ORIGIN
2. Recoupement par au moins deux sources natives — la recette doit apparaître dans au moins deux références culturelles indépendantes : livres de bartender locaux, articles spécialisés (Difford's Guide, World's 50 Best Bars régionales), publications académiques sur les boissons culturelles, ou collections de bars de référence dans la région (Native Bar Tokyo, Coa Hong Kong, Florería Atlántico Buenos Aires, etc.).
3. Tradition de consommation établie — la recette est servie effectivement dans des bars de la région, pas seulement reproduite en Europe comme exotisme. Les cocktails purement "marketing d'export" sont exclus.
4. Reproductibilité avec ingrédients accessibles — si un ingrédient est introuvable hors région, la recette est documentée avec ses substituts dans ITEM_SUBSTITUTES (hydromel ↔ vin de miel européen, tej ↔ hydromel sec, etc.).
ITEM_SUBSTITUTES
Limites assumées : la couverture est volontairement plus dense pour les régions à forte tradition cocktail documentée (Japon, Mexique, Caraïbes, Italie). Les régions sous-documentées en sources non-locales (Afrique de l'Ouest, Asie centrale, Pacifique sud) ont une représentation minimale mais authentique plutôt que reconstruite. Toute suggestion d'enrichissement par un barman ayant des sources locales primaires est bienvenue.
L'outil intègre une table de substituts canoniques (ITEM_SUBSTITUTES, près de 90 ingrédients principaux) qui propose des remplacements documentés et techniquement valides. Les substituts sont organisés en familles aromatiques (botanique, agave, rhum agricole, rhum mélasse, whisky tourbé, eau-de-vie de fruit, anise, etc.) regroupant les produits interchangeables.
Logique de substitution : un ingrédient peut être remplacé sans dénaturer la recette s'il appartient à la même famille aromatique. Le résultat sera proche mais pas identique (le profil aromatique légèrement modifié donne souvent une variante intéressante).
Exemples · cognac ↔ armagnac, brandy, calvados, pisco peruvien · champagne ↔ cava, crémant, mousseux blanc, prosecco, clairette · mezcal ↔ bacanora, mezcal espadín, mezcal tobalá, raicilla, sotol · rhum agricole ↔ cachaça, clairin, rhum agricole martiniquais · islay ↔ ardbeg, lagavulin, laphroaig, whisky tourbé · vermouth rouge ↔ carpano antica formula, cinzano rosso, martini rosso, punt e mes
Mention dans le champ "txt:" de chaque step : si un substitut commun existe pour un ingrédient particulièrement difficile à sourcer (ex: kwai feh pour soho lychee), il apparaît directement dans la fiche en suffixe ("ou kwai feh").
Limites : les substituts conservent l'esprit de la recette mais pas son identité historique stricte. Pour les classiques canoniques (Negroni avec Campari, Old Fashioned avec rye/bourbon), l'utilisation du substitut produit une variante du cocktail, pas le cocktail original — à mentionner au client lors du service si concerné.
Chaque template affiche ses allergènes déclarés sous forme d'icônes (🥛 lait, 🥚 œuf, 🥜 fruits à coque, 🌾 gluten, 🍷 sulfites…). Utilisez le filtre ALLERGIES en haut pour exclure les templates concernés. Pour les 14 allergènes EU obligatoires non couverts individuellement, le bouton ⚠ autres les exclut tous (crustacés, poissons, arachides, soja, céleri, moutarde, sésame, lupin, mollusques).
⚠ autres
Cohérence interne (v1.31.0.2) — Le flag vegan est désormais calculé en runtime à partir de deux sources : (1) les ingrédients des steps (via ITEM_VEGAN) et (2) les allergènes R9 animaux déclarés (lait, œuf, miel, crustacés). Cela garantit qu'un cocktail marqué vegan ne peut pas porter d'allergène animal — et inversement, qu'une technique non détectable via les steps (par exemple le fat-washing du Fat Washed Old Fashioned, qui infuse du beurre dans le bourbon avant filtrage) est correctement signalée comme non-vegan grâce à son allergène lait déclaré.
vegan
ITEM_VEGAN
Limites assumées — Les sulfites (présents dans tout vin/champagne/prosecco) sont systématiquement déclarés mais leur impact varie : seul un faible pourcentage de la population est sensible. La vérification finale reste de la responsabilité du barman, en particulier pour les marques précises utilisées (un sirop industriel peut contenir des traces non documentées ici).
Certains produits jouent fonctionnellement plusieurs rôles selon le cocktail. Le champagne est spiritueux (R1) dans un French 75 ou un Champagne Cocktail, mais simple allongeur effervescent (R5) dans un Mimosa ou un Kir Royal. Le menthe fraîche est aromatique muddlée (R7) dans un Mojito, mais garniture aérienne (R8) dans un Hugo Spritz.
Index explicite (CROSS_ROLE_INDEX) — L'outil maintient un index documenté des ingrédients multi-rôles avec la raison de chaque double-affectation. Quelques exemples actuels : champagne/prosecco/crémant/cidre (R1+R5 — base ou allongeur), fleur de sel et sel de céleri (R7+R8 — condiment ou rimming), absinthe (R2 — sous-cats Herbes/Anisé), espresso (R5 — Cafés chauds/Infusions froides), branche de céleri (R8 — Classique/Salé et Frais herbacé), menthe fraîche/cannelle/romarin/aneth/angostura (R7+R8 — modificateur ou garnish).
CROSS_ROLE_INDEX
Synchronisation multi-pills — Conséquence pratique : un ingrédient multi-rôles est représenté par plusieurs pills distinctes dans la sidebar (une par role × sub-cat). Quand on sélectionne l'un d'eux via la recherche par ingrédient (champ texte), toutes ses occurrences s'activent automatiquement pour garantir la couverture complète. Cliquer manuellement une seule pill reste possible si vous voulez restreindre la recherche à un usage spécifique.
Sur les écarts de proportions avec les recettes IBA officielles : certaines fiches (Margarita, Boulevardier, White Lady, French 75…) présentent des proportions divergentes des standards IBA. Ces écarts ne viennent pas de la conversion oz/cL (les valeurs en cL sont arrondies à 0,5cL près, soit ±0,15 oz) mais d'un choix éditorial assumé : nous privilégions les versions modernes "balanced" documentées par DeGroff, Wondrich, Difford's Guide et les bars de référence contemporains, plutôt que les ratios IBA historiques parfois figés. Exemple : la Margarita IBA officielle est 3:2:1 (50% tequila / 33% triple sec / 17% citron), notre version est 4:2:3 (44%/22%/33%) — version plus citronnée largement adoptée depuis les années 2000.
Méthode de détermination : chaque profil est attribué par recoupement de descripteurs documentés dans The Flavor Bible (Page/Dornenburg), Liquid Intelligence (Dave Arnold), les fiches techniques producteurs et les guides de dégustation IWSC/Difford's. Les profils retenus représentent la signature dominante perçue à l'usage, pas une analyse exhaustive — un même cocktail peut avoir 1 à 3 profils. Le pairing automatique avec les R9/Accords mets en découle.
L'outil est utilisable sur mobile avec un affichage adapté : les sections de filtres et l'inventaire sont repliables, les fiches restent lisibles. En revanche, ce n'est pas le cœur d'utilisation prévu — la densité d'information, la navigation multi-panneaux et la vitesse de consultation sont pensées pour une tablette ou un écran de bar. Sur smartphone, privilégiez les filtres repliés et la recherche directe par ingrédient.
Optimisations performance — Pour rester réactif sur mobile avec 607 templates, l'outil utilise un virtual scrolling : seules les premières ~50 cards sont rendues au boot, les suivantes apparaissent au fur et à mesure du scroll (via IntersectionObserver). Cela divise le TTI (Time To Interactive) par 4 environ sur appareil milieu de gamme. Les recherches par ingrédient et les filtres forcent quand même le rendu des cards manquantes qui doivent matcher, pour garantir une couverture complète des résultats.
Index pré-calculés — Plusieurs index sont construits une seule fois au boot (ITEM_INDEX, variantIndex, itemUsageIndex, r9Index, ORIGIN_TO_TPLS, _NAME_TO_ID) pour que les filtres et la recherche par ingrédient répondent en quelques millisecondes même sur smartphone.
ITEM_INDEX
variantIndex
itemUsageIndex
r9Index
ORIGIN_TO_TPLS
_NAME_TO_ID