Premiere commit - Omika

This commit is contained in:
2026-10-23 18:46:50 +02:00
commit 8ea76c1b24
2155 changed files with 984301 additions and 0 deletions
@@ -0,0 +1,125 @@
namespace Omika.Tests.Services;
/// <summary>
/// Fixtures HTML SANITISÉES reproduisant fidèlement la STRUCTURE réelle des corps
/// de courriel (balises, classes, attributs, imbrications), sans aucune donnée
/// privée (aucun nom/adresse/téléphone/email réel). Les textes sont des
/// placeholders génériques. Le CSS est le CSS générique WINDEV (non privé).
/// </summary>
internal static class EmailHtmlFixture
{
/// <summary>PNG minimal (magic bytes) encodé en Base64 (décodable, jamais rendu).</summary>
public const string PngBase64 = "iVBORw0KGgo=";
/// <summary>
/// HTML complet WINDEV (<c>DocVersHTML</c>) : <c>&lt;!DOCTYPE&gt;</c>,
/// <c>&lt;head&gt;</c> + <c>&lt;style&gt;</c> (classes .Normal/.TableauNormal/.xtab/.xcenter/.xleft/.xright),
/// <c>&lt;body&gt;</c> avec un bloc photo en TABLE IMBRIQUÉE (ligne image / ligne
/// date / ligne note) et deux tableaux de contacts en vraies cellules.
/// </summary>
public static string WinDevHtmlComplet()
{
string png = $"data:image/png;base64,{PngBase64}";
return $$"""
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="generator" content="PCSOFT">
<title></title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style type="text/css">
td * {
margin-bottom: 0 !important;
}
.Normal {
font-family:Calibri;
font-size:11pt;
line-height:108%;
margin-top:0.0pt;
margin-right:0.0pt;
margin-bottom:8.0pt;
margin-left:0.0pt;
text-indent:0.0pt;
}
.TableauNormal {
font-family:Calibri;
font-size:11pt;
}
.xtab {padding-left: 1em;}
.xcenter {margin:0 auto; display:block;}
.xleft {display:block;}
.xright {margin:0px auto; margin-right:0; display:block;}
</style>
</head>
<body>
<p class="Normal"><span style="font-family:Arial;font-size:12pt;color:#000000;">Rapport d'intervention</span></p>
<p class="Normal"><span style="font-family:Arial;font-size:12pt;color:#000000;">Client : </span><span style="font-family:Arial;font-size:12pt;font-weight:bold;color:#000000;">Nom du client</span></p>
<p class="Normal"><span style="font-family:Arial;font-size:12pt;color:#000000;">Intervention du 15/01/2026</span></p>
<table class="TableauNormal Grilledutableau" cellspacing="0" cellpadding="0" width="auto" style="table-layout:fixed;width:239.651pt;border-collapse:collapse;">
<tbody>
<tr style="height:auto">
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:239.7pt;padding:0.0pt 5.4pt 0.0pt 5.4pt">
<p class="Normal" style="margin-bottom:0.0pt">Photos</p>
</td>
</tr>
<tr style="height:auto">
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:239.7pt;padding:0.0pt 5.4pt 0.0pt 5.4pt">
<table cellspacing="0" cellpadding="0" width="auto"><tbody>
<tr style="height:153.1pt">
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:228.8pt;padding:0.0pt 5.4pt 0.0pt 5.4pt">
<p class="Normal" style="text-align:center;margin-bottom:0.0pt"><img width=305 height=206 id="Image1" src="{{png}}" alt="Image1"></p>
</td>
</tr>
<tr style="height:auto">
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:228.8pt;padding:0.0pt 5.4pt 0.0pt 5.4pt">
<p class="Normal" style="margin-bottom:0.0pt">30/01/2026</p>
</td>
</tr>
<tr style="height:auto">
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:228.8pt;padding:0.0pt 5.4pt 0.0pt 5.4pt">
<p class="Normal" style="margin-bottom:0.0pt">Note photo</p>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p class="Normal"></p>
<table class="TableauNormal Grilledutableau" cellspacing="0" cellpadding="0" width="auto" style="table-layout:fixed;width:378.005pt;border-collapse:collapse;">
<tbody>
<tr style="height:auto">
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:75.6pt;padding:0.0pt 5.4pt 0.0pt 5.4pt"><p class="Normal" style="margin-bottom:0.0pt">Nom - Prénom</p></td>
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:75.6pt;padding:0.0pt 5.4pt 0.0pt 5.4pt"><p class="Normal" style="margin-bottom:0.0pt">Tel. 1</p></td>
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:75.6pt;padding:0.0pt 5.4pt 0.0pt 5.4pt"><p class="Normal" style="margin-bottom:0.0pt">Tel. 2</p></td>
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:75.6pt;padding:0.0pt 5.4pt 0.0pt 5.4pt"><p class="Normal" style="margin-bottom:0.0pt">Rôle</p></td>
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:75.6pt;padding:0.0pt 5.4pt 0.0pt 5.4pt"><p class="Normal" style="margin-bottom:0.0pt">Étage</p></td>
</tr>
<tr style="height:auto">
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:75.6pt;padding:0.0pt 5.4pt 0.0pt 5.4pt"><p class="Normal" style="margin-bottom:0.0pt">Dupont Jean</p></td>
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:75.6pt;padding:0.0pt 5.4pt 0.0pt 5.4pt"><p class="Normal" style="margin-bottom:0.0pt">04 00 00 00 00</p></td>
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:75.6pt;padding:0.0pt 5.4pt 0.0pt 5.4pt"><p class="Normal" style="margin-bottom:0.0pt">06 00 00 00 00</p></td>
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:75.6pt;padding:0.0pt 5.4pt 0.0pt 5.4pt"><p class="Normal" style="margin-bottom:0.0pt">Occupant</p></td>
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:75.6pt;padding:0.0pt 5.4pt 0.0pt 5.4pt"><p class="Normal" style="margin-bottom:0.0pt">4</p></td>
</tr>
</tbody>
</table>
<p class="Normal"><br /><span style="font-family:Arial;font-size:12pt;color:#000000;">Fin du rapport</span></p>
</body>
</html>
""";
}
}