Compare commits

6 Commits

Author SHA1 Message Date
bf10830591 Remove thingy 2025-12-04 18:46:43 +01:00
97480dedb0 Update templates and the template-generator script.
- Add linear-gradient in the chocolate template
- Add "Tisane de Noël" template
- Add the logic to populate the gradient colors in the script
- Add template definition in the products definitions csv
2025-12-04 18:32:40 +01:00
a608e41c6a Fǒnt update 2025-12-04 18:31:10 +01:00
1d2a87f74f Mets des écaillěs 2025-12-04 18:31:07 +01:00
1dc717e2d6 Voici les Blěktřs pour schtroumpfer les bidules. 2025-12-04 18:20:54 +01:00
db7de847f2 remove old stuff 2025-08-07 14:27:54 +02:00
7 changed files with 1664 additions and 250 deletions

View File

@@ -1,45 +0,0 @@
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>zetikettes 0.2</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<!-- Compiled and minified CSS -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!-- Compiled and minified JavaScript -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
<script src="config.js"></script>
<script src="newtikette.js"></script>
<style>
body {
display: flex;
min-height: 100vh;
flex-direction: column;
}
main {
flex: 1 0 auto;
}
</style>
</head>
<body>
<header class="container center orange-text">
<h1>Zétikwett's</h1>
</header>
<main class="container row">
<div class="col m6 offset-m3 s12">
<div id="appbody" class="container"></div>
</div>
</main>
<footer class="page-footer">
<div class="container row">
<span class="col right">displayed with recycled electrons.</span>
</div>
</footer>
</body>
</html>

View File

@@ -1,125 +0,0 @@
const params = [
['dluo', 'DLUO', true],
['lot', 'Nº de lot', true],
['qty', 'Poids net (g)', true],
['teneur', 'Teneur en fruits (%)', false],
['fruit', 'Quantité de fruits pour 100g (g)', false],
]
function post() {
const lemot = $('input[type=password]').val();
const formdata = new FormData($('form')[0]);
formdata.append('lemotdepasse', lemot);
$.ajax({
url: backend_api + `newtikette`,
type: 'POST',
data: formdata,
contentType: false,
processData: false,
xhr: function () {
var myXhr = $.ajaxSettings.xhr();
if (myXhr.upload) {
// For handling the progress of the upload
myXhr.upload.addEventListener('progress', function (e) {
if (e.lengthComputable) {
$('progress').attr({
value: e.loaded,
max: e.total,
});
}
}, false);
}
return myXhr;
}
})
.then(data => {
console.log(data);
})
.catch(err => {
console.log(err);
if (err.status == 403) {
M.toast({html: 'access denied'});
} else if (err.status == 500) {
M.toast({html: 'server error'});
}
})
.always(() => {
$('.progress').hide();
$('.btn').removeClass('disabled');
});
}
$(document).ready(async () => {
const appbody = $("#appbody");
const block = $('<form class="section">');
block.append($(`<div class="input-field"><label class="active">Title</label>
<input type="text" name="title" value="Gelée de brandade aux cêpes biou">`));
block.append($(`<div class="input-field"><label class="active">
<input type="checkbox" name="landscape"><span>landscape</span></label>`));
const subst = $('<div class="section"><label class="active">Substitutions</label><p></p>');
for (let param of params) {
subst.append($(`<div><label class="active"><input type="checkbox" name="${param[0]}" ${param[2] ? 'checked': ''}>
<span>\${${param[0]}}: ${param[1]}</span></label>`));
}
block.append(subst);
block.append(`<div class="file-field input-field">
<div class="btn">
<span>File</span>
<input type="file" name="sticker" accept=".svg">
</div>
<div class="file-path-wrapper">
<input class="file-path validate" type="text" placeholder="Template .svg file">
</div>
`)
const loader = $('<div class="progress"><div class="determinate"></div></div>')
.hide();
let setup = false;
const action = $('<div class="section">')
.append($('<a class="btn">add newtikette<a>')
.click(() => {
if (!setup) {
setup = true;
$('input[type=password]').on('keydown', e => {
if (e.keyCode == 13 && !e.repeat) {
$('.modal').modal('close');
post();
}
});
$("#pushgo").click(() => { post(); });
}
$('.modal').modal('open');
$('input[type=password]').focus();
loader.show();
$('.btn').addClass("disabled");
$('.modal-close').removeClass("disabled");
})
.append(loader));
const lemotdepasse = $(`
<div id="modal1" class="modal">
<div class="modal-content">
<h4>A lemotdepasse is needed</h4>
<div class="input-field"><label class="active">lemotdepasse</label>
<input type="password">
</div>
<div class="modal-footer">
<a class="btn modal-close" id="pushgo">go</a>
</div>
`);
appbody
.append(lemotdepasse)
.append(block)
.append(action);
$(".modal").modal();
});

35
product_definitions.csv Normal file
View File

@@ -0,0 +1,35 @@
aromate;Herbes de Provence;Thym*, Sarriette*, Origan*;Le classique des herbes aromatiques pour donner une touche méditerranéenne à vos plats.;6307a6;Aromate - Herbes de Provence - Thym Sarriette Origan.svg;True
aromate;Origan;Origan*;La fameuse herbe à pizza, mais qui peut aussi assaisonner vos soupes, plats mijotés, poissons ou charcuteries.;4800b9;Aromate - Origan.svg;True
aromate;Sarriette;Sarriette des montagnes*;Le pèbre d'aï s'utilise en cuisine dans les pommes de terre, champignons, ragoûts de légumes, riz...;00d40e;Aromate - Sarriette.svg;True
aromate;Sauge;Sauge officinale*;La plante qui sauve peut être utilisée en cuisine, dans vos viandes en sauce, légumes, vinaigrettes...;d00676;Aromate - Sauge.svg;True
aromate;Thym;Thym*;Le roi des aromates, à utiliser en branche ou effeuillé, pour agrémenter vos grillades, plats en sauce, poêlées...;0048ff;Aromate - Thym.svg;True
confiture;Confiture d'Abricot;Abricot*, Sucre de canne*;;ff5d00;Confiture - Abricot.svg;True
confiture;Confiture d'Abricot;Abricot, Sucre de canne*;;ff5d00;Confiture - Abricot - Non Bio.svg;False
confiture;Confiture d'Abricot Lavande;Abricot, Lavande*, Sucre de canne*;;9683ec;Confiture - Abricot Lavande - Non Bio.svg;False
confiture;Gelée Extra de Groseille;Groseille*, Sucre de canne*;;ec001a;Gelée Extra - Groseille.svg;True
confiture;Gelée Extra de Cassis;Cassis*, Sucre de canne*;;9b00ff;Gelée Extra - Cassis.svg;True
confiture;Marmelade d'Orange Amère; Oranges amères, Sucre de canne*, eau;;ff5d00;Marmelade - Orange Amère - Non Bio.svg;False
pesto;Pesto de Livèche;Huile d'olive*, Livèche* (34%), *amandes*, jus de citron*, ail*, sel;;119200;Pesto - Livèche.svg;True
pesto;Pesto d'Ail des Ours;Huile d'olive*, Ail des ours* (34%), *Amandes*, Jus de citron*, Sel;;196b00;Pesto - Ail des Ours.svg;True
sirop;Lavande;Sucre* (55%), Infusion de lavande* (42%), Jus de citron* (3%);;4200ff;Sirop - Lavande.svg;True
sirop;Thym;Sucre* (55%), Infusion de thym* (42%), Jus de citron* (3%);;0048ff;Sirop - Thym.svg;True
sirop;Mélisse;Sucre* (55%), Infusion de mélisse* (42%), Jus de citron* (3%);;d00676;Sirop - Mélisse.svg;True
sirop;Menthe Verte;Sucre* (55%), Infusion de menthe verte* (42%), Jus de citron* (3%);;007e49;Sirop - Menthe Verte.svg;True
sirop;Menthe et Mélisse;Sucre* (55%), Infusion de menthe verte* et mélisse* (42%), Jus de citron* (3%);;fabf12;Sirop - Menthe et Mélisse.svg;True
sirop;Sureau;Sucre* (55%), Infusion de sureau* (42%), Jus de citron* (3%);;8aa700;Sirop - Sureau.svg;True
sirop;Romarin;Sucre* (55%), Infusion de romarin* (42%), Jus de citron* (3%);;007d87;Sirop - Romarin.svg;True
tisane;J'ai Bien Mangé...; Thym*, Sauge*, Romarin*, Soucis*;;0c7c00;Tisane - Digestion - Thym Sauge Romarin Soucis.svg;True
tisane;Nuit Étoilée;Agastache*, Mélisse*, Aubépine*;;5b7aff;Tisane - Nuit Étoilée - Agastache Mélisse Aubépine.svg;True
tisane;Nuit Étoilée;Mélisse*, Lavande*, Aubépine*;;5b7aff;Tisane - Nuit Étoilée - Mélisse Lavande Aubépine.svg;True
tisane;Réconfort de la Gorge; Origan*, Agastache*, Thym*, Bleuet*;;00a07b;Tisane - Réconfort de la Gorge - Origan Agastache Thym Bleuet.svg;True
tisane;Équilibre Féminin;Achillée millefeuille*, Lavande vraie*, Cynorhodon*;;64139f;Tisane - Équilibre Féminin - Achillée millefeuille Lavande vraie Cynorhodon.svg;True
tisane;Équilibre Féminin;Achillée millefeuille*, Lavande vraie*, Ortie piquante*;;64139f;Tisane - Équilibre Féminin - Achillée millefeuille Lavande vraie Ortie piquante.svg;True
tisane;Équilibre Féminin;Achillée millefeuille*, Lavande vraie*, Pétales de Cynorhodon*;;64139f;Tisane - Équilibre Féminin - Achillée millefeuille Lavande vraie Pétales de Cynorhodon.svg;True
tisane;Équilibre Féminin;Achillée millefeuille*, Lavande vraie*, Sauge officinale*, Ortie piquante*;;64139f;Tisane - Équilibre Féminin - Achillée millefeuille Lavande vraie Sauge officinale Ortie piquante.svg;True
tisane;Joie de Vivre;Basilic sacré*, Sarriette des montagnes*, Lavande vraie*;;ff6d00;Tisane - Joie de Vivre - Basilic Sacré Sarriette des Montagnes Lavande Vraie.svg;True
sel;Grillades - Viande et Légumes;Sel de Camargue, Thym*, Origan*, Sarriette*, Mélisse*, Souci*;;c80003;Sel - Grillades.svg;True
sel;Herbes de Provence;Sel de Camargue, Thym*, Origan*, Sarriette*, Romarin*;;6307a6;Sel - Herbes de Provence.svg;True
sel;Poisson et Viande Blanche;Sel de Camargue, Thym*, Sauge*, Agastache*, Bleuet*;;5b7aff;Sel - Poisson et Viande Blanche.svg;True
chocolat;Menthe Poivrée;"Chocolat de couverture noir* (pâte de cacao*, sucre de canne*, beurre de cacao*; peut contenir : *lait), *crème entière* (crème de lait à 30% de matière grasse*, stabilisants : carraghénanes), menthe poivrée*";;007e49;Chocolat - Menthe Poivrée.svg;True
chocolat;Lavande et Fleurs;"Chocolat de couverture noir* (pâte de cacao*, sucre de canne*, beurre de cacao*; peut contenir : *lait), *crème entière* (crème de lait à 30% de matière grasse*, stabilisants : carraghénanes), Lavande*, Monarde*, Souci*, Bleuet*";;6307a6;Chocolat - Lavande et Fleurs - Monarde Souci Bleuet.svg;True;0723a6;6307a6;ff0019;ff8b00;
tisanenoel;Tisane de Noël;Basilic cannelle*, Basilic thaï*, Thym*, Menthe verte*, Mélisse*, Écorce d'orange*, Écorce de cannelle*;;ff0000;Tisane - Tisane de Noël - Basilic cannelle Basilic thaï Thym Menthe verte Mélisse Écorce d'orange Écorce de cannelle.svg;True
Can't render this file because it has a wrong number of fields in line 34.

View File

@@ -22,6 +22,7 @@ templates = {
'pesto': f"{TEMPLATES_DIR}/Pesto.svg",
'sirop': f"{TEMPLATES_DIR}/Sirop.svg",
'tisane': f"{TEMPLATES_DIR}/Tisane.svg",
'tisanenoel': f"{TEMPLATES_DIR}/Tisane Noël.svg",
'sel': f"{TEMPLATES_DIR}/Sel.svg",
}
@@ -50,11 +51,21 @@ def main():
ingredients = [e if not e.startswith('*') else ALLERGEN_BEGIN_STYLE + e[1:] + ALLERGEN_END_STYLE for e in ingredients]
ingredients_sub = ", ".join(ingredients)
AB_logo_visibility = 'inline' if row[6] == 'True' else 'none'
# Set the 4 linear-gradient stop colors if they are set in the csv, otherwise default to the template's background color
if 7+4 <= len(row):
gradient_color0, gradient_color1, gradient_color2, gradient_color3 = row[7:7+4]
else:
gradient_color0 = gradient_color1 = gradient_color2 = gradient_color3 = row[4]
subs = {
'designation': row[1].strip(),
'ingredients': ingredients_sub,
'description': row[3].strip(),
'color': row[4],
'gradient_color0': gradient_color0,
'gradient_color1': gradient_color1,
'gradient_color2': gradient_color2,
'gradient_color3': gradient_color3,
'AB': AB_logo_visibility,
'designation_fontsize': JAM_DESIGNATION_FONTSIZE_DEFAULT,
}

View File

@@ -20,6 +20,26 @@
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs929">
<linearGradient
inkscape:collect="always"
id="linearGradient8793">
<stop
style="stop-color:#${gradient_color0};stop-opacity:1;"
offset="0"
id="stop8789" />
<stop
style="stop-color:#${gradient_color1};stop-opacity:1;"
offset="0.33000001"
id="stop10635" />
<stop
style="stop-color:#${gradient_color2};stop-opacity:1;"
offset="0.66000003"
id="stop10637" />
<stop
style="stop-color:#${gradient_color3};stop-opacity:1;"
offset="1"
id="stop8791" />
</linearGradient>
<rect
x="203.87482"
y="162.76645"
@@ -620,6 +640,15 @@
width="134.27728"
height="38.101315"
id="rect169275-2" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient8793"
id="linearGradient8795"
x1="1.0034179e-07"
y1="70"
x2="47.999779"
y2="70"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
inkscape:document-rotation="0"
@@ -637,10 +666,10 @@
inkscape:window-height="1435"
inkscape:window-width="2190"
showgrid="false"
inkscape:current-layer="layer3"
inkscape:current-layer="layer5"
inkscape:document-units="mm"
inkscape:cy="192.75503"
inkscape:cx="54.011917"
inkscape:cy="204.23256"
inkscape:cx="81.017875"
inkscape:zoom="2.9623092"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
@@ -691,6 +720,46 @@
width="47.999779"
id="rect1878-9-8-2"
style="display:inline;opacity:1;fill:#${color};fill-opacity:0.36078432;stroke:none;stroke-width:2.82885;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.473118;paint-order:stroke fill markers" />
<rect
inkscape:label="Bandeau Bloc Composition"
ry="0"
y="-35"
x="-47.999779"
height="22"
width="47.999779"
id="rect1878-9-8"
style="display:inline;fill-opacity:0.360784;stroke:none;stroke-width:3.16274;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.473118;paint-order:stroke fill markers"
transform="rotate(180,-8.8249455,-16.947161)" />
<rect
inkscape:label="Bandeau Titre Composition"
ry="0"
y="-35"
x="-47.999779"
height="4.9999771"
width="47.999779"
id="rect1878-9-8-5"
style="display:inline;fill-opacity:0.360784;stroke:none;stroke-width:1.82601;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.473118;paint-order:stroke fill markers"
transform="rotate(180,-8.8249455,-16.947161)" />
<rect
inkscape:label="Bandeau Titre Infusion 2"
ry="0"
y="59"
x="1.0034179e-07"
height="22"
width="47.999779"
id="rect1878-6"
style="display:inline;fill-opacity:1;stroke:none;stroke-width:3.65202;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.473118;paint-order:stroke fill markers;fill:url(#linearGradient8795);opacity:0.36"
transform="translate(-17.649891,-33.894322)" />
<rect
inkscape:label="Bandeau Titre Infusion"
ry="0"
y="59"
x="1.0034179e-07"
height="22"
width="47.999779"
id="rect22255"
style="display:inline;fill-opacity:1;stroke:none;stroke-width:3.65202;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.473118;paint-order:stroke fill markers;fill:url(#linearGradient8795);opacity:0.36"
transform="translate(-17.649891,-33.894322)" />
</g>
<g
inkscape:groupmode="layer"
@@ -1124,57 +1193,37 @@
inkscape:label="Bloc Texte Conservation"><tspan
x="-111.76953"
y="270.68079"
id="tspan43604"><tspan
id="tspan22523"><tspan
style="text-align:start"
id="tspan43602">À conserver dans un endroit sec, à l'abri de
id="tspan22521">À conserver dans un endroit sec, à l'abri de
</tspan></tspan><tspan
x="-111.76953"
y="277.34745"
id="tspan43608"><tspan
id="tspan22527"><tspan
style="text-align:start"
id="tspan43606">la lumière.
id="tspan22525">la lumière.
</tspan></tspan><tspan
x="-111.76953"
y="284.0141"
id="tspan43616"><tspan
id="tspan22535"><tspan
style="text-align:start"
id="tspan43610">À consommer de préférence avant : </tspan><tspan
id="tspan22529">À consommer de préférence avant : </tspan><tspan
style="font-weight:bold;text-align:start"
id="tspan43612">${dluo}</tspan><tspan
id="tspan22531">${dluo}</tspan><tspan
style="text-align:start"
id="tspan43614">
id="tspan22533">
</tspan></tspan><tspan
x="-111.76953"
y="290.68076"
id="tspan43620"><tspan
id="tspan22539"><tspan
style="font-weight:bold;text-align:start"
id="tspan43618">*Produits issus de l'agriculture biologique.</tspan></tspan></text>
id="tspan22537">*Produits issus de l'agriculture biologique.</tspan></tspan></text>
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Textes À Modifier"
style="display:inline">
<rect
inkscape:label="Bandeau Bloc Composition"
ry="0"
y="-35"
x="-47.999779"
height="22"
width="47.999779"
id="rect1878-9-8"
style="display:inline;fill-opacity:0.360784;stroke:none;stroke-width:3.16274;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.473118;paint-order:stroke fill markers"
transform="scale(-1)" />
<rect
inkscape:label="Bandeau Titre Composition"
ry="0"
y="-35"
x="-47.999779"
height="4.9999771"
width="47.999779"
id="rect1878-9-8-5"
style="display:inline;fill-opacity:0.360784;stroke:none;stroke-width:1.82601;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.473118;paint-order:stroke fill markers"
transform="scale(-1)" />
<g
style="display:inline;stroke-width:1.00001"
inkscape:label="Bloc Titre Composition"
@@ -1221,24 +1270,6 @@
id="rect1460" /></flowRegion><flowPara
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:10px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:start;text-anchor:start;stroke-width:1.00001;font-size:8.00003669px"
id="flowPara168235">${ingredients}</flowPara></flowRoot>
<rect
inkscape:label="Bandeau Titre Infusion 2"
ry="0"
y="59"
x="1.0034179e-07"
height="22"
width="47.999779"
id="rect1878-6-5"
style="display:inline;fill-opacity:0.360784;stroke:none;stroke-width:3.65202;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.473118;paint-order:stroke fill markers" />
<rect
inkscape:label="Bandeau Titre Infusion"
ry="0"
y="59"
x="1.0034179e-07"
height="22"
width="47.999779"
id="rect1878-6"
style="display:inline;fill-opacity:0.360784;stroke:none;stroke-width:3.65202;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.473118;paint-order:stroke fill markers" />
<flowRoot
inkscape:label="Culture a la main"
transform="matrix(0.26458212,0,0,0.26458212,-66.840166,-16.855178)"
@@ -1284,8 +1315,8 @@
inkscape:label="Désignation"><tspan
x="244.91243"
y="187.77976"
id="tspan43624"><tspan
id="tspan22543"><tspan
style="font-weight:normal;font-stretch:normal;font-family:Karumbi;-inkscape-font-specification:Karumbi"
id="tspan43622">${designation}</tspan></tspan></text>
id="tspan22541">${designation}</tspan></tspan></text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@@ -5,7 +5,7 @@
viewBox="0 0 102 48.000001"
version="1.1"
id="svg8"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
inkscape:version="1.2 (dc2aeda, 2022-05-15)"
sodipodi:docname="Pesto.svg"
inkscape:export-filename="/home/maxime/Documents/Anne/Etiquettes/Bitmap Images/Pesto - Ail des Ours.png"
inkscape:export-xdpi="600"
@@ -788,8 +788,8 @@
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="4.1140114"
inkscape:cx="163.22269"
inkscape:cy="91.75959"
inkscape:cx="163.46576"
inkscape:cy="91.638054"
inkscape:document-units="mm"
inkscape:current-layer="layer11"
showgrid="false"
@@ -1229,7 +1229,7 @@
id="text4193"
y="-5.6109309"
x="15.053011"
style="font-style:normal;font-weight:normal;font-size:4.23333px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0700042;stroke-opacity:1"
style="font-style:normal;font-weight:normal;font-size:4.23333px;line-height:0;font-family:Droid Sans Fallback;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0700042;stroke-opacity:1"
xml:space="preserve"
inkscape:label="Email"><tspan
style="font-size:2.11667px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0700042;stroke-opacity:1"
@@ -1247,7 +1247,7 @@
mask="none" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:4.23333px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0700042;stroke-opacity:1"
style="font-style:normal;font-weight:normal;font-size:4.23333px;line-height:0;font-family:Droid Sans Fallback;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0700042;stroke-opacity:1"
x="15.044743"
y="-7.7611365"
id="text4199"
@@ -1267,7 +1267,7 @@
id="text4205"
y="-10.030697"
x="14.999268"
style="font-style:normal;font-weight:normal;font-size:4.23333px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0700042;stroke-opacity:1"
style="font-style:normal;font-weight:normal;font-size:4.23333px;line-height:0;font-family:Droid Sans Fallback;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0700042;stroke-opacity:1"
xml:space="preserve"
inkscape:label="Adresse"><tspan
style="font-size:2.11667px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0700042;stroke-opacity:1"
@@ -1277,7 +1277,7 @@
sodipodi:role="line">Lieu-dit Lèbre, 04200, Authon</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:1.76389px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0700042;stroke-opacity:1"
style="font-style:normal;font-weight:normal;font-size:1.76389px;line-height:0;font-family:Droid Sans Fallback;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0700042;stroke-opacity:1"
x="15.003401"
y="-12.237692"
id="text4211"
@@ -1299,7 +1299,7 @@
<flowRoot
inkscape:label="Culture a la main"
transform="matrix(0.26458212,0,0,0.26458212,-107.34655,179.95759)"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.0001px;line-height:0;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:center;letter-spacing:0px;word-spacing:-1px;text-anchor:middle;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.00001"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.0001px;line-height:0;font-family:Droid Sans Fallback;-inkscape-font-specification:Droid Sans Fallback;text-align:center;letter-spacing:0px;word-spacing:-1px;text-anchor:middle;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.00001"
id="flowRoot1405"
xml:space="preserve"><flowRegion
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:190.101px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:center;word-spacing:-1px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke-width:1.00001"
@@ -1316,7 +1316,7 @@
id="flowPara31669">dans les Alpes de Haute-Provence</flowPara></flowRoot>
<text
xml:space="preserve"
style="font-size:2.46944px;line-height:1.5434px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke-width:0.264583"
style="font-size:2.46944px;line-height:1.5434px;font-family:Droid Sans Fallback;-inkscape-font-specification:Droid Sans Fallback;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke-width:0.264583"
x="13.274965"
y="246.99561"
id="text31972"
@@ -1339,7 +1339,7 @@
<flowRoot
inkscape:label="Texte Quantité et Lot"
transform="matrix(0.26458212,0,0,0.26458212,-10.572926,-21.404941)"
style="font-style:normal;font-weight:normal;font-size:5.33336px;line-height:0px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.00001"
style="font-style:normal;font-weight:normal;font-size:5.33336px;line-height:0px;font-family:Droid Sans Fallback;letter-spacing:0px;word-spacing:0px;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.00001"
id="flowRoot82745"
xml:space="preserve"><flowRegion
style="line-height:0px;stroke-width:1.00001"
@@ -1351,31 +1351,31 @@
width="30.898319"
id="rect82729" /></flowRegion><flowPara
id="flowPara82733"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:6px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:start;text-anchor:start;stroke-width:1.00001" /><flowPara
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:6px;font-family:Droid Sans Fallback;-inkscape-font-specification:Droid Sans Fallback;text-align:start;text-anchor:start;stroke-width:1.00001" /><flowPara
id="flowPara82735"
style="line-height:6.88px;text-align:start;text-anchor:start;stroke-width:1.00001" /><flowPara
id="flowPara82739"
style="line-height:6.88px;text-align:start;text-anchor:start;stroke-width:1.00001" /><flowPara
id="flowPara82741"
style="font-weight:bold;line-height:6.88px;text-align:start;text-anchor:start;stroke-width:1.00001" /><flowPara
style="font-weight:normal;font-size:5.33336px;line-height:6.88px;text-align:start;text-anchor:start;stroke-width:1.00001"
style="font-weight:normal;font-size:5.33336px;line-height:6.88px;text-align:start;text-anchor:start;stroke-width:1.00001;-inkscape-font-specification:'Droid Sans Fallback';font-family:'Droid Sans Fallback';font-style:normal;font-stretch:normal;font-variant:normal"
id="flowPara82743">POIDS NET :</flowPara><flowPara
style="font-weight:bold;font-size:8.00004px;line-height:6.88px;text-align:center;text-anchor:middle;stroke-width:1.00001"
style="font-weight:bold;font-size:8.00004px;line-height:6.88px;text-align:center;text-anchor:middle;stroke-width:1.00001;-inkscape-font-specification:'Droid Sans Fallback';font-family:'Droid Sans Fallback';font-style:normal;font-stretch:normal;font-variant:normal"
id="flowPara83405">${q}g</flowPara><flowPara
style="font-weight:normal;font-size:5.33336px;line-height:6.88px;text-align:start;text-anchor:start;stroke-width:1.00001"
style="font-weight:normal;font-size:5.33336px;line-height:6.88px;text-align:start;text-anchor:start;stroke-width:1.00001;-inkscape-font-specification:'Droid Sans Fallback';font-family:'Droid Sans Fallback';font-style:normal;font-stretch:normal;font-variant:normal"
id="flowPara83420">LOT $lot</flowPara><flowPara
style="font-weight:normal;font-size:5.33336px;line-height:6.88px;text-align:start;text-anchor:start;stroke-width:1.00001"
style="font-weight:normal;font-size:5.33336px;line-height:6.88px;text-align:start;text-anchor:start;stroke-width:1.00001;-inkscape-font-specification:'Droid Sans Fallback';font-family:'Droid Sans Fallback';font-style:normal;font-stretch:normal;font-variant:normal"
id="flowPara83411" /></flowRoot>
</g>
<text
xml:space="preserve"
transform="matrix(0.26458333,0,0,0.26458333,0,1.0617673)"
id="text31980"
style="font-size:9.33333px;line-height:10px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:start;white-space:pre;shape-inside:url(#rect31982);display:inline;fill:#000000;fill-opacity:1"
style="font-size:9.33333px;line-height:10px;font-family:'Droid Sans Fallback';-inkscape-font-specification:'Droid Sans Fallback';text-align:start;white-space:pre;shape-inside:url(#rect31982);display:inline;fill:#000000;fill-opacity:1"
inkscape:label="Ingrédients"><tspan
x="162.51953"
y="71.082662"
id="tspan3150">${ingredients}
id="tspan2493">${ingredients}
</tspan></text>
<flowRoot
xml:space="preserve"
@@ -1397,28 +1397,28 @@
xml:space="preserve"
transform="matrix(0.26458333,0,0,0.26458333,72.572369,-44.503941)"
id="text169273-3"
style="font-size:5.33333px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:start;white-space:pre;shape-inside:url(#rect169275-8);display:inline;fill:#000000;fill-opacity:1;stroke-width:1.562"
style="font-size:5.33333px;font-family:'Droid Sans Fallback';-inkscape-font-specification:'Droid Sans Fallback';text-align:start;white-space:pre;shape-inside:url(#rect169275-8);display:inline;fill:#000000;fill-opacity:1;stroke-width:1.562"
x="-198.57587"
y="0"
inkscape:label="Bloc Texte Conservation"><tspan
x="-111.76953"
y="270.68079"
id="tspan3152">À conserver au frais après ouverture.
id="tspan2495">À conserver au frais après ouverture.
</tspan><tspan
x="-111.76953"
y="277.34745"
id="tspan3154">Couvrir d'huile après chaque utilisation.
y="277.46601"
id="tspan2497">Couvrir d'huile après chaque utilisation.
</tspan><tspan
x="-111.76953"
y="284.0141"
id="tspan3158">À consommer de préférence avant : <tspan
y="284.25122"
id="tspan2501">À consommer de préférence avant : <tspan
style="font-weight:bold"
id="tspan3156">${dluo}</tspan>
id="tspan2499">${dluo}</tspan>
</tspan><tspan
x="-111.76953"
y="290.68076"
id="tspan3162"><tspan
y="291.03644"
id="tspan2505"><tspan
style="font-weight:bold"
id="tspan3160">*Produits issus de l'agriculture biologique.</tspan></tspan></text>
id="tspan2503">*Produits issus de l'agriculture biologique.</tspan></tspan></text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 5.3 MiB

After

Width:  |  Height:  |  Size: 5.3 MiB

1507
templates/Tisane Noël.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.2 MiB