@jjlmoya/utils-cooking 1.33.0 → 1.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/package.json +1 -1
  2. package/src/category/index.ts +4 -0
  3. package/src/entries.ts +5 -1
  4. package/src/index.ts +2 -0
  5. package/src/tests/i18n-titles.test.ts +1 -1
  6. package/src/tests/i18n_coverage.test.ts +1 -0
  7. package/src/tests/locale_completeness.test.ts +2 -2
  8. package/src/tests/tool_validation.test.ts +2 -2
  9. package/src/tool/carry-over-cooking-predictor/bibliography.astro +6 -0
  10. package/src/tool/carry-over-cooking-predictor/bibliography.ts +10 -0
  11. package/src/tool/carry-over-cooking-predictor/carry-over-cooking-predictor.css +513 -0
  12. package/src/tool/carry-over-cooking-predictor/component.astro +362 -0
  13. package/src/tool/carry-over-cooking-predictor/entry.ts +26 -0
  14. package/src/tool/carry-over-cooking-predictor/i18n/de.ts +286 -0
  15. package/src/tool/carry-over-cooking-predictor/i18n/en.ts +286 -0
  16. package/src/tool/carry-over-cooking-predictor/i18n/es.ts +286 -0
  17. package/src/tool/carry-over-cooking-predictor/i18n/fr.ts +286 -0
  18. package/src/tool/carry-over-cooking-predictor/i18n/id.ts +286 -0
  19. package/src/tool/carry-over-cooking-predictor/i18n/it.ts +286 -0
  20. package/src/tool/carry-over-cooking-predictor/i18n/ja.ts +286 -0
  21. package/src/tool/carry-over-cooking-predictor/i18n/ko.ts +286 -0
  22. package/src/tool/carry-over-cooking-predictor/i18n/nl.ts +286 -0
  23. package/src/tool/carry-over-cooking-predictor/i18n/pl.ts +286 -0
  24. package/src/tool/carry-over-cooking-predictor/i18n/pt.ts +286 -0
  25. package/src/tool/carry-over-cooking-predictor/i18n/ru.ts +286 -0
  26. package/src/tool/carry-over-cooking-predictor/i18n/sv.ts +286 -0
  27. package/src/tool/carry-over-cooking-predictor/i18n/tr.ts +286 -0
  28. package/src/tool/carry-over-cooking-predictor/i18n/zh.ts +286 -0
  29. package/src/tool/carry-over-cooking-predictor/index.ts +11 -0
  30. package/src/tool/carry-over-cooking-predictor/logic.ts +63 -0
  31. package/src/tool/carry-over-cooking-predictor/seo.astro +15 -0
  32. package/src/tool/egg-timer/component.astro +19 -17
  33. package/src/tool/egg-timer/perfect-boiled-egg-timer-altitude-calculator.css +336 -502
  34. package/src/tool/maillard-reaction-optimizer/bibliography.astro +6 -0
  35. package/src/tool/maillard-reaction-optimizer/bibliography.ts +14 -0
  36. package/src/tool/maillard-reaction-optimizer/component.astro +391 -0
  37. package/src/tool/maillard-reaction-optimizer/entry.ts +12 -0
  38. package/src/tool/maillard-reaction-optimizer/i18n/de.ts +307 -0
  39. package/src/tool/maillard-reaction-optimizer/i18n/en.ts +307 -0
  40. package/src/tool/maillard-reaction-optimizer/i18n/es.ts +307 -0
  41. package/src/tool/maillard-reaction-optimizer/i18n/fr.ts +307 -0
  42. package/src/tool/maillard-reaction-optimizer/i18n/id.ts +307 -0
  43. package/src/tool/maillard-reaction-optimizer/i18n/it.ts +307 -0
  44. package/src/tool/maillard-reaction-optimizer/i18n/ja.ts +307 -0
  45. package/src/tool/maillard-reaction-optimizer/i18n/ko.ts +307 -0
  46. package/src/tool/maillard-reaction-optimizer/i18n/nl.ts +308 -0
  47. package/src/tool/maillard-reaction-optimizer/i18n/pl.ts +307 -0
  48. package/src/tool/maillard-reaction-optimizer/i18n/pt.ts +307 -0
  49. package/src/tool/maillard-reaction-optimizer/i18n/ru.ts +307 -0
  50. package/src/tool/maillard-reaction-optimizer/i18n/sv.ts +307 -0
  51. package/src/tool/maillard-reaction-optimizer/i18n/tr.ts +307 -0
  52. package/src/tool/maillard-reaction-optimizer/i18n/zh.ts +307 -0
  53. package/src/tool/maillard-reaction-optimizer/index.ts +11 -0
  54. package/src/tool/maillard-reaction-optimizer/logic.ts +57 -0
  55. package/src/tool/maillard-reaction-optimizer/maillard-reaction-optimizer.css +694 -0
  56. package/src/tool/maillard-reaction-optimizer/seo.astro +15 -0
  57. package/src/tool/meat-binder-transglutaminase-calculator/bibliography.ts +10 -6
  58. package/src/tool/meat-binder-transglutaminase-calculator/component.astro +5 -1
  59. package/src/tool/meat-binder-transglutaminase-calculator/components/LabReport.astro +3 -3
  60. package/src/tools.ts +4 -0
  61. package/src/types.ts +1 -1
@@ -0,0 +1,286 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+ import { bibliography } from '../bibliography';
3
+
4
+ const title = 'Predictor de Cocción Residual: Calculadora de Inercia Térmica';
5
+ const description = 'Predice cuántos grados seguirá cocinándose tu asado después de sacarlo del horno. Obtén la temperatura exacta de retirada para un término medio perfecto.';
6
+
7
+ const faq = [
8
+ {
9
+ question: '¿Qué es la cocción residual y por qué ocurre?',
10
+ answer: 'La cocción residual, también llamada inercia térmica, es el aumento continuo de la temperatura interna después de retirar la comida del horno. El calor almacenado en las capas exteriores sigue conduciéndose hacia el centro. Un asado retirado a 50°C puede alcanzar 54°C durante el reposo: la diferencia entre término rojo y término medio.',
11
+ },
12
+ {
13
+ question: '¿Cómo afecta la temperatura del horno a la cocción residual?',
14
+ answer: 'Las temperaturas altas de horno (200-250°C) crean un gradiente térmico mayor entre la superficie y el centro, almacenando más calor latente en la corteza. Esto incrementa el efecto residual. Un asado cocinado a 120°C tendrá una cocción residual mínima (~1°C), mientras que uno a 220°C puede ganar 5-8°C durante el reposo.',
15
+ },
16
+ {
17
+ question: '¿La forma de la pieza de carne cambia el cálculo de la cocción residual?',
18
+ answer: 'Sí. La geometría afecta significativamente la penetración del calor. Las aves enteras y los asados gruesos tienen mayor masa térmica en relación con su superficie, por lo que retienen más calor y tienen mayor efecto residual. Los cortes planos como los filetes tienen una alta relación superficie-volumen y se enfrían rápido, con un efecto residual mínimo.',
19
+ },
20
+ {
21
+ question: '¿Cuánto tiempo debo reposar la carne después de retirarla?',
22
+ answer: 'El tiempo de reposo depende del peso y la geometría. Una regla general es aproximadamente 1 minuto por cada 100g de carne, mínimo 10 minutos, máximo 45 minutos. Un asado de 2kg necesita unos 16 minutos de reposo. Durante este tiempo la temperatura interna se iguala y el efecto de cocción residual se completa.',
23
+ },
24
+ ];
25
+
26
+ const howTo = [
27
+ {
28
+ name: 'Selecciona la geometría de la carne',
29
+ text: 'Elige Ave Entera para aves, Asado Cilíndrico para lomos y cortes deshuesados, o Corte Plano para filetes y medallones.',
30
+ },
31
+ {
32
+ name: 'Ingresa el peso',
33
+ text: 'Introduce el peso total de tu pieza en gramos. Se aplican pesos mínimos por cada tipo de geometría.',
34
+ },
35
+ {
36
+ name: 'Configura la temperatura del horno',
37
+ text: 'Introduce la temperatura real de tu horno. Las temperaturas más altas aumentan el efecto de cocción residual.',
38
+ },
39
+ {
40
+ name: 'Define tu temperatura objetivo',
41
+ text: 'Introduce la temperatura interna final deseada (ej. 54°C para carne de res término medio, 74°C para aves).',
42
+ },
43
+ {
44
+ name: 'Lee la temperatura de retirada',
45
+ text: 'La calculadora te indica exactamente cuándo retirar la carne para alcanzar tu objetivo después del reposo.',
46
+ },
47
+ {
48
+ name: 'Reposa la carne',
49
+ text: 'Deja reposar la carne el tiempo recomendado. No la cubras demasiado apretado o la corteza se ablandará.',
50
+ },
51
+ ];
52
+
53
+ const faqSchema = {
54
+ '@context': 'https://schema.org' as const,
55
+ '@type': 'FAQPage' as const,
56
+ mainEntity: faq.map((item) => ({
57
+ '@type': 'Question' as const,
58
+ name: item.question,
59
+ acceptedAnswer: { '@type': 'Answer' as const, text: item.answer },
60
+ })),
61
+ };
62
+
63
+ const howToSchema = {
64
+ '@context': 'https://schema.org' as const,
65
+ '@type': 'HowTo' as const,
66
+ name: title,
67
+ description,
68
+ step: howTo.map((step) => ({
69
+ '@type': 'HowToStep' as const,
70
+ name: step.name,
71
+ text: step.text,
72
+ })),
73
+ };
74
+
75
+ const appSchema = {
76
+ '@context': 'https://schema.org' as const,
77
+ '@type': 'SoftwareApplication' as const,
78
+ name: title,
79
+ description,
80
+ applicationCategory: 'UtilitiesApplication',
81
+ operatingSystem: 'Web',
82
+ offers: { '@type': 'Offer' as const, price: '0', priceCurrency: 'EUR' },
83
+ };
84
+
85
+ export const content: ToolLocaleContent = {
86
+ slug: 'predictor-coccion-residual',
87
+ title: 'Predictor de Cocción Residual',
88
+ description: 'Predice cuántos grados seguirá cocinándose tu asado después de sacarlo del horno. Obtén la temperatura exacta de retirada para un término medio perfecto.',
89
+ faqTitle: 'Preguntas Frecuentes',
90
+ ui: {
91
+ title: 'Predictor de Cocción Residual',
92
+ subtitle: 'Calculadora de inercia térmica para asados de precisión',
93
+ geometryLabel: 'Geometría de la Carne',
94
+ wholeBird: 'Ave Entera (Pollo, Pavo)',
95
+ cylindricalRoast: 'Asado Cilíndrico (Lomo, Deshuesado)',
96
+ flatCut: 'Corte Plano (Filete, Medallón)',
97
+ weightLabel: 'Peso',
98
+ ovenTempLabel: 'Temperatura del Horno',
99
+ targetTempLabel: 'Temperatura Interna Objetivo',
100
+ pullTemp: 'Temperatura de Retirada',
101
+ carryOver: 'Cocción Residual',
102
+ restTime: 'Tiempo de Reposo',
103
+ minutes: 'min',
104
+ degreesC: '°C',
105
+ degreesF: '°F',
106
+ unitLabel: 'Unidades',
107
+ metricUnit: 'Métrico',
108
+ imperialUnit: 'Imperial',
109
+ geometryDescCylindrical: 'Geometría cilíndrica seleccionada - inercia térmica moderada con cocción residual predecible.',
110
+ weightG: 'g',
111
+ weightOz: 'oz',
112
+ errorTargetExceedsOven: 'La temperatura objetivo no puede superar la temperatura del horno.',
113
+ errorOvenTooHot: 'La temperatura del horno supera los 350°C. Reduce la temperatura.',
114
+ errorWeightTooLow: 'El peso está por debajo del mínimo para esta geometría.',
115
+ errorWeightTooHigh: 'El peso supera el máximo para esta geometría.',
116
+ pullNow: 'Retira la carne ahora',
117
+ pullAt: 'Retirar a',
118
+ toReach: 'para alcanzar',
119
+ afterRest: 'tras el reposo',
120
+ carryOverWillAdd: 'La cocción residual añadirá aproximadamente',
121
+ footerTemplate: '{carry} residual · {rest} reposo · {weight}{wunit}, {oven} horno → {target} objetivo',
122
+ },
123
+ faq,
124
+ howTo,
125
+ seo: [
126
+ {
127
+ type: 'title',
128
+ text: 'Predictor de Cocción Residual: Obtén la Temperatura de Retirada Perfecta Cada Vez',
129
+ level: 2,
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'La cocción residual es el aumento continuo de la temperatura interna después de que la comida sale del horno. Las capas exteriores almacenan calor durante el asado, y esta energía sigue conduciéndose hacia el centro más frío durante el reposo. Un asado grueso retirado a 50°C puede alcanzar 54°C después de reposar: la diferencia entre término rojo y término medio. Esta calculadora predice exactamente cuántos grados subirá tu asado para que puedas retirarlo en el momento preciso.',
134
+ },
135
+ {
136
+ type: 'stats',
137
+ columns: 4,
138
+ items: [
139
+ { value: '5-8°C', label: 'Residual típico (horno caliente)', icon: 'mdi:thermometer' },
140
+ { value: '1-3°C', label: 'Residual mínimo (horno bajo)', icon: 'mdi:thermometer-low' },
141
+ { value: '16 min', label: 'Reposo para asado de 2kg', icon: 'mdi:clock-outline' },
142
+ { value: '45 min', label: 'Reposo máximo recomendado', icon: 'mdi:clock-alert' },
143
+ ],
144
+ },
145
+ {
146
+ type: 'title',
147
+ text: 'Tabla de Temperaturas de Retirada por Término',
148
+ level: 3,
149
+ },
150
+ {
151
+ type: 'paragraph',
152
+ html: 'Usa esta tabla para encontrar tu temperatura interna objetivo, luego deja que la calculadora determine la temperatura exacta de retirada. Recuerda: la temperatura de retirada siempre es <strong>menor</strong> que tu objetivo porque el efecto de cocción residual seguirá cocinando durante el reposo.',
153
+ },
154
+ {
155
+ type: 'table',
156
+ headers: ['Término', 'Temp. Objetivo', 'Temp. Retirada (horno 200°C)', 'Tiempo Reposo'],
157
+ rows: [
158
+ ['Res Término Rojo', '52°C / 126°F', '46-48°C / 115-118°F', '10-15 min'],
159
+ ['Res Término Medio', '54°C / 129°F', '48-50°C / 118-122°F', '10-15 min'],
160
+ ['Res Término Medio Hecho', '60°C / 140°F', '54-56°C / 129-133°F', '10-15 min'],
161
+ ['Res Bien Hecho', '71°C / 160°F', '65-67°C / 149-153°F', '10-15 min'],
162
+ ['Cerdo Término Medio', '63°C / 145°F', '57-59°C / 135-138°F', '10-15 min'],
163
+ ['Cerdo Bien Hecho', '71°C / 160°F', '65-67°C / 149-153°F', '10-15 min'],
164
+ ['Pechuga Pollo/Pavo', '74°C / 165°F', '68-70°C / 154-158°F', '15-20 min'],
165
+ ['Muslo Pollo/Pavo', '82°C / 180°F', '76-78°C / 169-172°F', '15-20 min'],
166
+ ['Cordero Término Medio', '54°C / 129°F', '48-50°C / 118-122°F', '10-15 min'],
167
+ ['Cordero Medio Hecho', '60°C / 140°F', '54-56°C / 129-133°F', '10-15 min'],
168
+ ],
169
+ },
170
+ {
171
+ type: 'title',
172
+ text: 'Cómo la Geometría Cambia el Cálculo Térmico',
173
+ level: 3,
174
+ },
175
+ {
176
+ type: 'comparative',
177
+ columns: 3,
178
+ items: [
179
+ {
180
+ title: 'Ave Entera',
181
+ icon: 'mdi:food-drumstick',
182
+ description: 'Máxima masa térmica en relación con la superficie. Los gruesos centros de la pechuga y el muslo almacenan un enorme calor latente.',
183
+ highlight: false,
184
+ points: ['Residual: 5-10°C en horno a 200°C', 'Reposo: 20-45 minutos', 'Ideal para: pavo, pollo entero, pato', 'Retirar 8-10°C antes del objetivo'],
185
+ },
186
+ {
187
+ title: 'Asado Cilíndrico',
188
+ icon: 'mdi:food-steak',
189
+ description: 'La forma de asado más común. Retención de calor moderada con valores de cocción residual predecibles.',
190
+ highlight: true,
191
+ points: ['Residual: 3-7°C en horno a 200°C', 'Reposo: 15-30 minutos', 'Ideal para: lomo, lomo de cerdo, rack de cordero', 'Retirar 5-7°C antes del objetivo'],
192
+ },
193
+ {
194
+ title: 'Corte Plano',
195
+ icon: 'mdi:food',
196
+ description: 'La alta relación superficie-volumen hace que el calor escape rápidamente. La cocción residual es mínima pero sigue siendo relevante.',
197
+ highlight: false,
198
+ points: ['Residual: 1-3°C en horno a 200°C', 'Reposo: 5-15 minutos', 'Ideal para: filetes, pechuga de pollo, filete de pescado', 'Retirar 1-3°C antes del objetivo'],
199
+ },
200
+ ],
201
+ },
202
+ {
203
+ type: 'title',
204
+ text: 'Errores Comunes de Cocción Residual y Cómo Solucionarlos',
205
+ level: 3,
206
+ },
207
+ {
208
+ type: 'diagnostic',
209
+ variant: 'warning',
210
+ title: 'Retirar demasiado tarde',
211
+ html: 'Si esperas a que el termómetro marque tu temperatura objetivo antes de retirar, la cocción residual se disparará entre 3-8°C. Un asado término medio se vuelve medio hecho o casi hecho. <strong>Retira siempre 5-8°C antes de tu objetivo.</strong> Usa esta calculadora para obtener el número exacto.',
212
+ },
213
+ {
214
+ type: 'diagnostic',
215
+ variant: 'error',
216
+ title: 'Cortar demasiado pronto',
217
+ html: 'Cortar un asado inmediatamente después de retirarlo libera hasta un 30% de los jugos. El gradiente térmico no tiene tiempo de igualarse, por lo que el centro queda crudo mientras las capas externas se sobrecocinan. <strong>Reposa durante el tiempo completo recomendado.</strong> Cubre holgadamente con papel aluminio - no envuelvas apretado o el vapor ablandará la corteza.',
218
+ },
219
+ {
220
+ type: 'diagnostic',
221
+ variant: 'info',
222
+ title: 'Temperatura del horno demasiado baja',
223
+ html: 'Un horno bajo (por debajo de 150°C / 300°F) crea un gradiente térmico mínimo entre la superficie y el centro. Esto significa que casi no hay efecto de cocción residual. Si cocinas a baja temperatura, puedes retirar exactamente en tu temperatura objetivo con riesgo mínimo de sobrepasar. Sin embargo, el desarrollo de la corteza se reducirá significativamente.',
224
+ },
225
+ {
226
+ type: 'title',
227
+ text: 'Consejos Profesionales para un Asado Perfecto',
228
+ level: 3,
229
+ },
230
+ {
231
+ type: 'tip',
232
+ title: 'La Regla de los 10 Grados',
233
+ html: 'Un horno caliente (220°C / 425°F) añade aproximadamente 1°C de cocción residual por cada 100g de carne en aves enteras, y 0.7°C por cada 100g en asados cilíndricos. Úsalo como comprobación frente a la calculadora: un pollo de 2kg a 220°C debería tener unos 7-9°C de cocción residual.',
234
+ },
235
+ {
236
+ type: 'tip',
237
+ title: 'La Posición de Reposo Importa',
238
+ html: 'Reposa siempre la carne en un plato caliente o tabla de cortar, no en una superficie fría. Una superficie fría extraerá calor de la base del asado, creando temperaturas finales desiguales. Para aves enteras, reposa con la pechuga hacia arriba para que los jugos se redistribuyan uniformemente por la carne blanca.',
239
+ },
240
+ {
241
+ type: 'tip',
242
+ title: 'Cubrir, No Envolver',
243
+ html: 'Cubre holgadamente el asado con papel aluminio durante el reposo. Envolver apretado atrapa el vapor y vuelve la corteza blanda. Una cobertura holgada reduce la pérdida de calor en un 30% mientras permite que el vapor escape, preservando tanto el efecto de cocción residual como el exterior crujiente.',
244
+ },
245
+ {
246
+ type: 'title',
247
+ text: 'Glosario de Términos Clave de Asado',
248
+ level: 3,
249
+ },
250
+ {
251
+ type: 'glossary',
252
+ items: [
253
+ { term: 'Cocción Residual', definition: 'El aumento continuo de la temperatura interna después de retirar la comida de la fuente de calor, causado por la conducción del calor desde las capas exteriores hacia el centro.' },
254
+ { term: 'Temperatura de Retirada', definition: 'La temperatura interna a la que debes sacar la carne del horno. Siempre menor que la temperatura objetivo para compensar la cocción residual.' },
255
+ { term: 'Temperatura Objetivo', definition: 'La temperatura interna final que deseas que alcance la carne después del reposo. También llamada temperatura de servicio.' },
256
+ { term: 'Inercia Térmica', definition: 'La tendencia de una masa a resistir cambios de temperatura. Los cortes más pesados y densos tienen mayor inercia térmica y mayor cocción residual.' },
257
+ { term: 'Reposo', definition: 'El período posterior a la cocción en el que la carne reposa sin tocarse, permitiendo que el calor se iguale y los jugos se redistribuyan por las fibras.' },
258
+ { term: 'Gradiente Térmico', definition: 'La diferencia de temperatura entre la superficie de la carne y su centro. Un gradiente mayor almacena más calor latente para la cocción residual.' },
259
+ { term: 'Calor Latente', definition: 'La energía térmica almacenada en las capas exteriores de la carne durante la cocción. Esta energía se libera a medida que la temperatura se iguala durante el reposo.' },
260
+ ],
261
+ },
262
+ {
263
+ type: 'title',
264
+ text: 'Referencia Rápida: Temperaturas de Retirada Recomendadas',
265
+ level: 3,
266
+ },
267
+ {
268
+ type: 'summary',
269
+ title: 'Retira a estas temperaturas para resultados perfectos (horno a 200°C / 400°F)',
270
+ items: [
271
+ 'Res término medio: retirar a 48-50°C / 118-122°F, objetivo 54°C / 129°F',
272
+ 'Res medio hecho: retirar a 54-56°C / 129-133°F, objetivo 60°C / 140°F',
273
+ 'Lomo de cerdo: retirar a 57-59°C / 135-138°F, objetivo 63°C / 145°F',
274
+ 'Pechuga de pollo: retirar a 68-70°C / 154-158°F, objetivo 74°C / 165°F',
275
+ 'Pavo entero: retirar a 68-70°C / 154-158°F, objetivo 74°C / 165°F (pechuga)',
276
+ 'Rack de cordero: retirar a 48-50°C / 118-122°F, objetivo 54°C / 129°F',
277
+ ],
278
+ },
279
+ {
280
+ type: 'paragraph',
281
+ html: 'Cada asado es diferente. El peso, la temperatura exacta del horno y la forma del corte modifican estas cifras. Eso es exactamente lo que hace esta calculadora: toma tus datos específicos y calcula la temperatura de retirada precisa para tu situación exacta. Sin conjeturas, sin asados arruinados.',
282
+ },
283
+ ],
284
+ bibliography,
285
+ schemas: [faqSchema, howToSchema, appSchema],
286
+ };
@@ -0,0 +1,286 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+ import { bibliography } from '../bibliography';
3
+
4
+ const title = 'Prédicteur de Cuisson Résiduelle: Calculateur d\'Inertie Thermique';
5
+ const description = 'Prévoyez de combien de degrés votre rôti continuera de cuire après l\'avoir sorti du four. Obtenez la température de retrait exacte pour un rosé parfait.';
6
+
7
+ const faq = [
8
+ {
9
+ question: 'Qu\'est-ce que la cuisson résiduelle et pourquoi se produit-elle ?',
10
+ answer: 'La cuisson résiduelle, aussi appelée inertie thermique, est la poursuite de l\'augmentation de la température interne après avoir retiré les aliments du four. La chaleur stockée dans les couches extérieures continue de se conduire vers le centre. Un rôti sorti à 50°C peut atteindre 54°C pendant le repos - la différence entre saignant et rosé.',
11
+ },
12
+ {
13
+ question: 'Comment la température du four affecte-t-elle la cuisson résiduelle ?',
14
+ answer: 'Les températures de four élevées (200-250°C) créent un gradient thermique plus important entre la surface et le cœur, stockant davantage de chaleur latente dans la croûte. Cela augmente l\'effet résiduel. Un rôti cuit à 120°C aura une cuisson résiduelle minimale (~1°C), tandis qu\'un rôti à 220°C peut gagner 5-8°C pendant le repos.',
15
+ },
16
+ {
17
+ question: 'La forme de la viande change-t-elle le calcul de la cuisson résiduelle ?',
18
+ answer: 'Oui. La géométrie affecte considérablement la pénétration de la chaleur. Les volailles entières et les gros rôtis ont une masse thermique plus importante par rapport à leur surface, ils retiennent donc plus de chaleur et présentent un effet résiduel plus marqué. Les morceaux plats comme les steaks ont un rapport surface/volume élevé et refroidissent rapidement, avec un effet résiduel minimal.',
19
+ },
20
+ {
21
+ question: 'Combien de temps dois-je laisser reposer la viande après l\'avoir sortie ?',
22
+ answer: 'Le temps de repos dépend du poids et de la géométrie. Une règle générale est d\'environ 1 minute pour 100g de viande, minimum 10 minutes, maximum 45 minutes. Un rôti de 2kg nécessite environ 16 minutes de repos. Pendant ce temps, la température interne s\'égalise et l\'effet de cuisson résiduelle se termine.',
23
+ },
24
+ ];
25
+
26
+ const howTo = [
27
+ {
28
+ name: 'Sélectionnez la géométrie de la viande',
29
+ text: 'Choisissez Volaille Entière pour la volaille, Rôti Cylindrique pour les filets et les morceaux désossés, ou Morceau Plat pour les steaks et les pavés.',
30
+ },
31
+ {
32
+ name: 'Entrez le poids',
33
+ text: 'Saisissez le poids total de votre morceau en grammes. Des poids minimaux s\'appliquent selon le type de géométrie.',
34
+ },
35
+ {
36
+ name: 'Réglez la température du four',
37
+ text: 'Entrez la température réelle de votre four. Des températures plus élevées augmentent l\'effet de cuisson résiduelle.',
38
+ },
39
+ {
40
+ name: 'Définissez votre température cible',
41
+ text: 'Saisissez la température interne finale souhaitée (par ex. 54°C pour un bœuf rosé, 74°C pour la volaille).',
42
+ },
43
+ {
44
+ name: 'Lisez la température de retrait',
45
+ text: 'Le calculateur vous indique exactement quand retirer la viande pour atteindre votre cible après le repos.',
46
+ },
47
+ {
48
+ name: 'Laissez reposer la viande',
49
+ text: 'Laissez la viande reposer pendant le temps recommandé. Ne la couvrez pas trop serré, sinon la croûte ramollira.',
50
+ },
51
+ ];
52
+
53
+ const faqSchema = {
54
+ '@context': 'https://schema.org' as const,
55
+ '@type': 'FAQPage' as const,
56
+ mainEntity: faq.map((item) => ({
57
+ '@type': 'Question' as const,
58
+ name: item.question,
59
+ acceptedAnswer: { '@type': 'Answer' as const, text: item.answer },
60
+ })),
61
+ };
62
+
63
+ const howToSchema = {
64
+ '@context': 'https://schema.org' as const,
65
+ '@type': 'HowTo' as const,
66
+ name: title,
67
+ description,
68
+ step: howTo.map((step) => ({
69
+ '@type': 'HowToStep' as const,
70
+ name: step.name,
71
+ text: step.text,
72
+ })),
73
+ };
74
+
75
+ const appSchema = {
76
+ '@context': 'https://schema.org' as const,
77
+ '@type': 'SoftwareApplication' as const,
78
+ name: title,
79
+ description,
80
+ applicationCategory: 'UtilitiesApplication',
81
+ operatingSystem: 'Web',
82
+ offers: { '@type': 'Offer' as const, price: '0', priceCurrency: 'EUR' },
83
+ };
84
+
85
+ export const content: ToolLocaleContent = {
86
+ slug: 'predicteur-cuisson-residuelle',
87
+ title: 'Prédicteur de Cuisson Résiduelle',
88
+ description: 'Prévoyez de combien de degrés votre rôti continuera de cuire après l\'avoir sorti du four. Obtenez la température de retrait exacte pour un rosé parfait.',
89
+ faqTitle: 'Questions Fréquentes',
90
+ ui: {
91
+ title: 'Prédicteur de Cuisson Résiduelle',
92
+ subtitle: 'Calculateur d\'inertie thermique pour un rôtissage de précision',
93
+ geometryLabel: 'Géométrie de la Viande',
94
+ wholeBird: 'Volaille Entière (Poulet, Dinde)',
95
+ cylindricalRoast: 'Rôti Cylindrique (Filet, Désossé)',
96
+ flatCut: 'Morceau Plat (Steak, Pavé)',
97
+ weightLabel: 'Poids',
98
+ ovenTempLabel: 'Température du Four',
99
+ targetTempLabel: 'Température Interne Cible',
100
+ pullTemp: 'Température de Retrait',
101
+ carryOver: 'Cuisson Résiduelle',
102
+ restTime: 'Temps de Repos',
103
+ minutes: 'min',
104
+ degreesC: '°C',
105
+ degreesF: '°F',
106
+ unitLabel: 'Unités',
107
+ metricUnit: 'Métrique',
108
+ imperialUnit: 'Impérial',
109
+ geometryDescCylindrical: 'Géométrie cylindrique sélectionnée - inertie thermique modérée avec cuisson résiduelle prévisible.',
110
+ weightG: 'g',
111
+ weightOz: 'oz',
112
+ errorTargetExceedsOven: 'La température cible ne peut pas dépasser la température du four.',
113
+ errorOvenTooHot: 'La température du four dépasse 350°C. Veuillez baisser la température.',
114
+ errorWeightTooLow: 'Le poids est inférieur au minimum pour cette géométrie.',
115
+ errorWeightTooHigh: 'Le poids dépasse le maximum pour cette géométrie.',
116
+ pullNow: 'Retirez la viande maintenant',
117
+ pullAt: 'Retirer à',
118
+ toReach: 'pour atteindre',
119
+ afterRest: 'après repos',
120
+ carryOverWillAdd: 'La cuisson résiduelle ajoutera environ',
121
+ footerTemplate: '{carry} résiduelle · {rest} repos · {weight}{wunit}, {oven} four → {target} cible',
122
+ },
123
+ faq,
124
+ howTo,
125
+ seo: [
126
+ {
127
+ type: 'title',
128
+ text: 'Prédicteur de Cuisson Résiduelle: Obtenez la Température de Retrait Parfaite à Chaque Fois',
129
+ level: 2,
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'La cuisson résiduelle est la poursuite de l\'augmentation de la température interne après que les aliments quittent le four. Les couches extérieures emmagasinent la chaleur pendant la cuisson, et cette énergie continue de se conduire vers le centre plus froid pendant le repos. Un rôti épais sorti à 50°C peut atteindre 54°C après repos - la différence entre saignant et rosé. Ce calculateur prédit exactement de combien de degrés votre rôti va grimper afin que vous puissiez le retirer au moment précis.',
134
+ },
135
+ {
136
+ type: 'stats',
137
+ columns: 4,
138
+ items: [
139
+ { value: '5-8°C', label: 'Résiduel typique (four chaud)', icon: 'mdi:thermometer' },
140
+ { value: '1-3°C', label: 'Résiduel minimal (four doux)', icon: 'mdi:thermometer-low' },
141
+ { value: '16 min', label: 'Repos pour un rôti de 2kg', icon: 'mdi:clock-outline' },
142
+ { value: '45 min', label: 'Repos maximal recommandé', icon: 'mdi:clock-alert' },
143
+ ],
144
+ },
145
+ {
146
+ type: 'title',
147
+ text: 'Tableau des Températures de Retrait par Cuisson',
148
+ level: 3,
149
+ },
150
+ {
151
+ type: 'paragraph',
152
+ html: 'Utilisez ce tableau pour trouver votre température interne cible, puis laissez le calculateur déterminer la température de retrait exacte. Rappelez-vous: la température de retrait est toujours <strong>inférieure</strong> à votre cible car l\'effet de cuisson résiduelle continuera la cuisson pendant le repos.',
153
+ },
154
+ {
155
+ type: 'table',
156
+ headers: ['Cuisson', 'Temp. Cible', 'Temp. Retrait (four 200°C)', 'Temps Repos'],
157
+ rows: [
158
+ ['Bœuf Saignant', '52°C / 126°F', '46-48°C / 115-118°F', '10-15 min'],
159
+ ['Bœuf Rosé', '54°C / 129°F', '48-50°C / 118-122°F', '10-15 min'],
160
+ ['Bœuf À Point', '60°C / 140°F', '54-56°C / 129-133°F', '10-15 min'],
161
+ ['Bœuf Bien Cuit', '71°C / 160°F', '65-67°C / 149-153°F', '10-15 min'],
162
+ ['Porc Rosé', '63°C / 145°F', '57-59°C / 135-138°F', '10-15 min'],
163
+ ['Porc Bien Cuit', '71°C / 160°F', '65-67°C / 149-153°F', '10-15 min'],
164
+ ['Blanc de Poulet/Dinde', '74°C / 165°F', '68-70°C / 154-158°F', '15-20 min'],
165
+ ['Cuisse Poulet/Dinde', '82°C / 180°F', '76-78°C / 169-172°F', '15-20 min'],
166
+ ['Agneau Rosé', '54°C / 129°F', '48-50°C / 118-122°F', '10-15 min'],
167
+ ['Agneau À Point', '60°C / 140°F', '54-56°C / 129-133°F', '10-15 min'],
168
+ ],
169
+ },
170
+ {
171
+ type: 'title',
172
+ text: 'Comment la Géométrie Modifie le Calcul Thermique',
173
+ level: 3,
174
+ },
175
+ {
176
+ type: 'comparative',
177
+ columns: 3,
178
+ items: [
179
+ {
180
+ title: 'Volaille Entière',
181
+ icon: 'mdi:food-drumstick',
182
+ description: 'Masse thermique maximale par rapport à la surface. Les épais cœurs de la poitrine et de la cuisse stockent une énorme chaleur latente.',
183
+ highlight: false,
184
+ points: ['Résiduel: 5-10°C dans un four à 200°C', 'Repos: 20-45 minutes', 'Idéal pour: dinde, poulet entier, canard', 'Retirer 8-10°C avant la cible'],
185
+ },
186
+ {
187
+ title: 'Rôti Cylindrique',
188
+ icon: 'mdi:food-steak',
189
+ description: 'La forme de rôti la plus courante. Rétention de chaleur modérée avec des valeurs de cuisson résiduelle prévisibles.',
190
+ highlight: true,
191
+ points: ['Résiduel: 3-7°C dans un four à 200°C', 'Repos: 15-30 minutes', 'Idéal pour: filet, filet de porc, carré d\'agneau', 'Retirer 5-7°C avant la cible'],
192
+ },
193
+ {
194
+ title: 'Morceau Plat',
195
+ icon: 'mdi:food',
196
+ description: 'Le rapport surface/volume élevé permet à la chaleur de s\'échapper rapidement. La cuisson résiduelle est minimale mais compte toujours.',
197
+ highlight: false,
198
+ points: ['Résiduel: 1-3°C dans un four à 200°C', 'Repos: 5-15 minutes', 'Idéal pour: steaks, blanc de poulet, filet de poisson', 'Retirer 1-3°C avant la cible'],
199
+ },
200
+ ],
201
+ },
202
+ {
203
+ type: 'title',
204
+ text: 'Erreurs Courantes de Cuisson Résiduelle et Comment les Corriger',
205
+ level: 3,
206
+ },
207
+ {
208
+ type: 'diagnostic',
209
+ variant: 'warning',
210
+ title: 'Retrait trop tardif',
211
+ html: 'Si vous attendez que le thermomètre indique votre température cible avant de retirer, la cuisson résiduelle dépassera de 3-8°C. Un rôti rosé devient à point ou bien cuit. <strong>Retirez toujours 5-8°C avant votre cible.</strong> Utilisez ce calculateur pour obtenir le nombre exact.',
212
+ },
213
+ {
214
+ type: 'diagnostic',
215
+ variant: 'error',
216
+ title: 'Découpage trop précoce',
217
+ html: 'Couper un rôti immédiatement après l\'avoir sorti libère jusqu\'à 30% des jus. Le gradient thermique n\'a pas le temps de s\'égaliser, le centre reste donc insuffisamment cuit tandis que les couches extérieures surcuisent. <strong>Respectez le temps de repos complet recommandé.</strong> Couvrez lâchement de papier aluminium - ne l\'enveloppez pas serré, sinon la vapeur ramollira la croûte.',
218
+ },
219
+ {
220
+ type: 'diagnostic',
221
+ variant: 'info',
222
+ title: 'Température du four trop basse',
223
+ html: 'Un four bas (en dessous de 150°C / 300°F) crée un gradient thermique minimal entre la surface et le cœur. Cela signifie presque aucun effet de cuisson résiduelle. Si vous cuisinez à basse température, vous pouvez retirer à votre température cible exacte avec un risque minimal de dépassement. Cependant, le développement de la croûte sera considérablement réduit.',
224
+ },
225
+ {
226
+ type: 'title',
227
+ text: 'Conseils de Pro pour un Rôtissage Parfait',
228
+ level: 3,
229
+ },
230
+ {
231
+ type: 'tip',
232
+ title: 'La Règle des 10 Degrés',
233
+ html: 'Un four chaud (220°C / 425°F) ajoute environ 1°C de cuisson résiduelle par 100g de viande pour les volailles entières, et 0.7°C par 100g pour les rôtis cylindriques. Utilisez-le comme vérification croisée avec le calculateur: un poulet de 2kg à 220°C devrait avoir environ 7-9°C de cuisson résiduelle.',
234
+ },
235
+ {
236
+ type: 'tip',
237
+ title: 'La Position de Repos Compte',
238
+ html: 'Faites toujours reposer la viande sur une assiette chaude ou une planche à découper, pas sur une surface froide. Une surface froide aspirera la chaleur du fond du rôti, créant des températures finales inégales. Pour les volailles entières, reposez poitrine vers le haut pour que les jus se redistribuent uniformément dans la viande blanche.',
239
+ },
240
+ {
241
+ type: 'tip',
242
+ title: 'Couvrir, Pas Envelopper',
243
+ html: 'Couvrez lâchement le rôti de papier aluminium pendant le repos. L\'envelopper serré emprisonne la vapeur et ramollit la croûte. Un couvercle lâche réduit la perte de chaleur d\'environ 30% tout en permettant à la vapeur de s\'échapper, préservant à la fois l\'effet de cuisson résiduelle et l\'extérieur croustillant.',
244
+ },
245
+ {
246
+ type: 'title',
247
+ text: 'Glossaire des Termes Clés du Rôtissage',
248
+ level: 3,
249
+ },
250
+ {
251
+ type: 'glossary',
252
+ items: [
253
+ { term: 'Cuisson Résiduelle', definition: 'La poursuite de l\'augmentation de la température interne après avoir retiré les aliments de la source de chaleur, causée par la conduction de la chaleur des couches extérieures vers le centre.' },
254
+ { term: 'Température de Retrait', definition: 'La température interne à laquelle vous devez sortir la viande du four. Toujours inférieure à la température cible pour tenir compte de la cuisson résiduelle.' },
255
+ { term: 'Température Cible', definition: 'La température interne finale que vous souhaitez que la viande atteigne après le repos. Aussi appelée température de service.' },
256
+ { term: 'Inertie Thermique', definition: 'La tendance d\'une masse à résister aux changements de température. Les morceaux plus lourds et plus denses ont une inertie thermique plus élevée et une cuisson résiduelle plus importante.' },
257
+ { term: 'Repos', definition: 'La période après la cuisson où la viande repose sans être touchée, permettant à la chaleur de s\'égaliser et aux jus de se redistribuer dans les fibres.' },
258
+ { term: 'Gradient Thermique', definition: 'La différence de température entre la surface de la viande et son cœur. Un gradient plus important stocke davantage de chaleur latente pour la cuisson résiduelle.' },
259
+ { term: 'Chaleur Latente', definition: 'L\'énergie thermique stockée dans les couches extérieures de la viande pendant la cuisson. Cette énergie est libérée à mesure que la température s\'égalise pendant le repos.' },
260
+ ],
261
+ },
262
+ {
263
+ type: 'title',
264
+ text: 'Référence Rapide: Températures de Retrait Recommandées',
265
+ level: 3,
266
+ },
267
+ {
268
+ type: 'summary',
269
+ title: 'Retirez à ces températures pour des résultats parfaits (four à 200°C / 400°F)',
270
+ items: [
271
+ 'Bœuf rosé: retirer à 48-50°C / 118-122°F, cible 54°C / 129°F',
272
+ 'Bœuf à point: retirer à 54-56°C / 129-133°F, cible 60°C / 140°F',
273
+ 'Filet de porc: retirer à 57-59°C / 135-138°F, cible 63°C / 145°F',
274
+ 'Blanc de poulet: retirer à 68-70°C / 154-158°F, cible 74°C / 165°F',
275
+ 'Dinde entière: retirer à 68-70°C / 154-158°F, cible 74°C / 165°F (poitrine)',
276
+ 'Carré d\'agneau: retirer à 48-50°C / 118-122°F, cible 54°C / 129°F',
277
+ ],
278
+ },
279
+ {
280
+ type: 'paragraph',
281
+ html: 'Chaque rôti est différent. Le poids, la température exacte du four et la forme du morceau modifient tous ces chiffres. C\'est exactement ce que fait ce calculateur - il prend vos données spécifiques et calcule la température de retrait précise pour votre situation exacte. Pas de conjectures, pas de rôtis gâchés.',
282
+ },
283
+ ],
284
+ bibliography,
285
+ schemas: [faqSchema, howToSchema, appSchema],
286
+ };