@props(['url']) @php $marque = \App\Support\Identite::marque(); // v3.0 §3 — Le logo de courriel vient des réglages de l'installation, jamais du dépôt : une // archive commune ne peut pas embarquer le logo de l'une des sociétés qu'elle sert. Sans logo // téléversé, l'en-tête affiche la marque en toutes lettres — ce qui, dans un courriel, se lit // aussi bien qu'une image que la moitié des clients de messagerie bloquent de toute façon. // v3.1 — Adresse ABSOLUE : un courriel est lu hors du site, où « /storage/… » ne désigne rien. // // v3.2.1 §5 — LA RÈGLE DU BANDEAU, et pourquoi elle est aussi ferme. // // Le gérant a reçu son résumé quotidien : un aplat bleu de 230 px sur lequel le logo se // devinait à peine. C'était un logo bleu posé sur un fond bleu — et le bleu en question était // `Identite::REPLI_PRIMAIRE`, la couleur de SECOURS du socle, celle qui ne doit servir que // lorsqu'aucune société n'est configurée. Les deux installations envoyaient donc tous leurs // courriels dans un bleu générique qui n'était celui de personne. // // Se contenter de passer au logo « fond sombre » n'aurait rien réglé : `logoSombreCourriel()` // retombe sur le logo clair quand aucune variante sombre n'est téléversée, ce qui est // exactement la situation d'aujourd'hui sur les deux installations. D'où : // // pas de logo sombre téléversé → PAS DE BANDEAU COLORÉ. // // L'en-tête reste blanc, le logo clair s'y lit parfaitement, et la marque en toutes lettres // prend le relais s'il n'y a aucun logo. On ne pose jamais une image sur un aplat sans savoir // qu'elle est faite pour lui. // // v4.5.0 §9 — LE LOGO SERVI EST LE LOGO RECADRÉ. Le fichier téléversé porte sa propre marge // transparente (79 % × 62 % de marque sur l'installation mesurée) ; la bande, elle, rajoute // ensuite son padding. Les deux s'additionnaient, d'où « le logo est trop petit » alors // qu'aucune mesure n'était fausse. On retire celle du fichier et on garde celle de la bande. $logoSurFondColore = \App\Support\Identite::logoPourFondColoreRecadre(); $colore = $logoSurFondColore !== null; $logo = $logoSurFondColore ?? \App\Support\Identite::logoCourrielRecadre(); // ⚠️ Les couleurs descendent ICI, en style EN LIGNE, et pas dans le thème. Laravel lit // `themes/default.css` avec file_get_contents, sans passer par Blade : on ne peut pas y // interpoler de PHP, et une couleur y est donc forcément gravée. C'est de toute façon ce // qu'exige Outlook, qui ignore le CSS externe. $fond = $colore ? \App\Support\Identite::couleurPrimaire() : '#ffffff'; $encre = $colore ? '#ffffff' : '#1f2937'; // v3.2.1 §5c — UNE seule mesure, la même partout. Le gabarit écrivait width="240" en attribut // et le thème .logo { width: 120px } : Outlook suivait l'attribut, les autres le CSS, et le // même courriel ne s'affichait pas pareil deux fois. // // ⚠️ La mesure qui commande est la HAUTEUR, pas la largeur, et c'est délibéré. Accorder les // deux règles sur 160 px de large ne suffisait pas : le logo des installations est carré, si // bien qu'un bandeau de 230 px devenait un bandeau de 196 px — le même défaut, à peine plus // discret. En fixant la hauteur, le bandeau mesure toujours 48 + 2 × padding quelle que soit // la forme du logo : sa hauteur vient de son padding, comme elle le doit, et jamais d'une image. // // v3.5 §3 — CE QUI MANQUAIT ENCORE : le plafond de largeur. // // Le 10 août, le courriel de sauvegarde de Ruwad montrait un logo perdu dans son aplat, là où // IRADA rendait bien. La hauteur était pourtant déjà la mesure maîtresse — mais elle était // plafonnée par `max-width: 160px`, une largeur figée qui ne savait rien de la forme du logo. // Un logo large (900 × 200, ratio 4,5) veut 216 px pour tenir 48 px de haut : le plafond le // ramenait à 160, donc à 36 px de haut, dans une bande dimensionnée pour 48. Le même code // rendait donc bien un logo carré et mal un logo large — d'où deux installations, deux rendus. // // La mesure se déduit désormais du RATIO RÉEL du fichier (App\Support\LogoCourriel), et la // bande se dimensionne sur ce qu'elle porte. On n'agrandit jamais au-delà du natif : un logo // flou serait un défaut plus visible que celui qu'on corrige. // // Un grand aplat saturé surmontant quatre lignes de texte est par ailleurs une forme de message // que les filtres connaissent bien : un en-tête sobre sert la lisibilité et la délivrabilité en // même temps (v3.2 §6b). // La mesure se prend sur le fichier RECADRÉ : c'est lui qu'on affiche, c'est donc son ratio // qui commande. On n'agrandit toujours jamais au-delà du natif. $mesures = \App\Support\LogoCourriel::mesures( \App\Support\Identite::cheminReglageLogoRecadre($colore ? 'sombre' : 'clair'), ); @endphp @if ($logo !== null) {{-- Attributs `height`/`width` + style en ligne : Outlook ignore le CSS externe, mais suit les attributs. Les deux portent la MÊME mesure — c'est tout l'objet du §5c de la v3.2.1. --}} @else {{ $marque }} @endif