Cooklang
Cooklang est un langage de balisage open-source pour écrire des recettes en texte brut — il rend les ingrédients, ustensiles et minuteurs lisibles par une machine tout en gardant les fichiers lisibles et portables entre les applications.
Cooklang est un langage de balisage open-source conçu spécifiquement pour les recettes. Au lieu de stocker les recettes dans des bases de données complexes ou des formats propriétaires, Cooklang vous permet de les écrire sous forme de fichiers texte brut avec des annotations simples — et vous restez propriétaire de chaque fichier. Toute application compatible avec la spécification Cooklang peut extraire les ingrédients, ustensiles et minuteurs directement du texte, permettant des fonctionnalités comme les listes de courses automatiques, la mise à l'échelle et le mode cuisine sans saisie manuelle.
Comment fonctionne Cooklang ?
En Cooklang, vous écrivez les recettes comme des étapes naturelles et annotez trois types d'éléments :
| Symbole | Élément | Exemple | Ce que le parseur extrait |
|---|---|---|---|
@ |
Ingrédient | @sel{2%cc} |
Nom : sel, Quantité : 2, Unité : cc |
# |
Ustensile | #grande casserole |
Équipement : grande casserole |
~ |
Minuteur | ~{15%minutes} |
Durée : 15 minutes |
La syntaxe est volontairement minimale. Vous pouvez lire un fichier Cooklang sans logiciel spécialisé — c'est un simple fichier texte qui se trouve aussi être lisible par une machine.
Syntaxe des ingrédients en détail
Les ingrédients sont l'élément le plus fréquemment annoté. Cooklang gère plusieurs cas courants :
| Cas | Syntaxe | Résultat |
|---|---|---|
| Nom + quantité + unité | @farine{500%g} |
500 g de farine |
| Nom + quantité, sans unité | @oeufs{3} |
3 œufs |
| Nom seul | @beurre |
beurre (sans quantité) |
| Nom multi-mots | @huile d'olive{2%cs} |
2 cs d'huile d'olive |
| Quantité fractionnaire | @lait{1/2%tasse} |
1/2 tasse de lait |
Cette simplicité signifie que vous passez votre temps à cuisiner, pas à formater des données.
À quoi ressemble une recette Cooklang ?
Faire bouillir @eau{1%litre} dans une #grande casserole.
Ajouter @pâtes{400%g} et cuire pendant ~{12%minutes}.
Égoutter et mélanger avec @huile d'olive{2%cs} et @ail{2%gousses}, émincé.
Assaisonner avec @sel{1%cc} et @poivre noir{1/2%cc}.
Servir immédiatement avec @parmesan{30%g}, râpé.
À partir de ce texte brut, un parseur Cooklang peut automatiquement générer :
- Une liste d'ingrédients complète avec les quantités
- Une liste de courses classée par catégorie
- Des instructions pas à pas pour le mode cuisine
- Des quantités mises à l'échelle pour n'importe quel nombre de portions
Comment Cooklang se compare-t-il aux autres formats de recettes ?
| Caractéristique | Cooklang | JSON-LD / Schema.org | Base de données propriétaire | Markdown |
|---|---|---|---|---|
| Lisible par l'humain | Oui — texte brut | Non — données structurées | Non — format verrouillé | Oui |
| Lisible par machine | Oui — éléments parsés | Oui — données structurées | Oui — dans l'app uniquement | Non |
| Portable | Oui — fichiers texte | Partiellement — intégré au HTML | Non — dépendance éditeur | Oui |
| Extraction d'ingrédients | Automatique | Saisie manuelle requise | Saisie manuelle requise | Manuelle |
| Contrôle de version (Git) | Facile | Possible mais verbeux | Difficile | Facile |
| Génération de liste de courses | Automatique | Nécessite logique applicative | Spécifique à l'app | Manuelle |
La plupart des gestionnaires de recettes stockent vos données dans une base propriétaire ou utilisent des formats structurés comme JSON-LD, conçus pour les moteurs de recherche plutôt que pour les humains. Cooklang adopte une approche différente : les fichiers sont lisibles par l'humain d'abord, par la machine ensuite. Vous pouvez modifier une recette Cooklang dans n'importe quel éditeur de texte, la stocker dans Git, ou la déplacer entre applications — sans galère d'importation ni dépendance à un éditeur.
Pourquoi Cooklang est-il utile pour les cuisiniers ?
Vous n'avez pas besoin d'être programmeur pour profiter de Cooklang. Le format résout des problèmes concrets que chaque cuisinier rencontre :
| Problème | Comment Cooklang aide |
|---|---|
| Recettes éparpillées entre apps, favoris, captures d'écran | Un fichier texte par recette, stocké où vous voulez |
| Faire les courses prend une éternité | Ingrédients extraits automatiquement des recettes |
| Multiplier une recette = recalculer chaque ingrédient | La mise à l'échelle fonctionne automatiquement avec les quantités parsées |
| Recettes enfermées dans une seule app | Les fichiers texte fonctionnent avec toute app compatible Cooklang |
| La planification de meal prep est fastidieuse | Combinez plusieurs fichiers recettes pour générer une liste de courses unifiée |
| Impossible de suivre vos modifications | Les fichiers texte fonctionnent avec le contrôle de version |
Quelles sont les fonctionnalités avancées de Cooklang ?
Métadonnées
Ajoutez des informations au niveau de la recette en haut de tout fichier Cooklang :
>> servings: 4
>> source: grand-mère
>> time: 45 minutes
Commentaires
Utilisez -- pour des commentaires en ligne que le parseur ignore :
Ajouter @sucre{200%g}. -- vous pouvez réduire à 150g pour moins de sucre
Recettes multi-étapes
Chaque ligne dans un fichier Cooklang est une étape. Les lignes vides séparent les étapes en groupes logiques, rendant les recettes complexes avec des dizaines d'étapes faciles à suivre.
Comment écrire sa première recette Cooklang ?
- Ouvrez n'importe quel éditeur de texte (Bloc-notes, VS Code, TextEdit)
- Écrivez vos étapes de recette comme des phrases normales
- Marquez les ingrédients avec
@nom{quantité%unité} - Marquez les ustensiles avec
#nom - Marquez les minuteurs avec
~{durée%unité} - Enregistrez avec l'extension
.cook - Ouvrez dans n'importe quelle application compatible Cooklang
La courbe d'apprentissage est d'environ cinq minutes. Si vous savez écrire un SMS, vous savez écrire en Cooklang.
Comment Cooklang gère-t-il les mesures ?
Cooklang fonctionne avec n'importe quel système d'unités. Que vous préfériez les grammes et millilitres ou les tasses et cuillères à soupe, le format s'en accommode. Des applications comme Fond qui supportent la conversion d'unités peuvent même basculer entre systèmes automatiquement, et utiliser une balance de cuisine avec des recettes Cooklang en poids donne les résultats les plus précis lors de la mise à l'échelle.
Cooklang dans Fond
Fond utilise Cooklang en coulisses, donc chaque recette que vous enregistrez est automatiquement structurée — ingrédients, quantités, minuteurs, tout. Les fonctionnalités comme la mise à l'échelle, les listes de courses, la planification de meal prep et le mode cuisine fonctionnent directement, sans balisage manuel. Vous pouvez aussi importer des recettes d'autres sources et Fond les convertit en Cooklang automatiquement. Vous n'avez jamais à y penser.
Pour en savoir plus sur la spécification, visitez cooklang.org.