{{-- Le Business Model Canvas : les neuf cases d'Osterwalder, en tableau (dompdf ne fait pas de grille). ⚠️ Aucun rowspan. dompdf le gère mal : mesuré, il renvoyait la rangée du bas — coûts et revenus — sur une deuxième page, alors qu'un canvas SE LIT D'UN SEUL COUP D'ŒIL. C'est tout son intérêt. On empile donc les cases dans une même cellule, et on met la rangée du bas dans un second tableau. Le résultat tient sur une page. --}} @php $case = static function (array $bloc) use ($t, $manque): string { $html = '
'.e($t($ligne['libelle'], 40)).' — '.e($t($manque)).'
'; continue; } // Un chiffre seul ne veut rien dire dans une case : « 1 500,00 dirhams par mois » // ne dit pas si c'est le loyer ou les salaires. On le nomme. Les réponses en toutes // lettres, elles, se lisent seules — les préfixer alourdirait pour rien. $html .= $ligne['nombre'] !== null ? ''.e($t($ligne['libelle'], 40)).' : '.e($t($ligne['valeur'], 40)).'
' : ''.e($t($ligne['valeur'], 40)).'
'; } return $html; }; @endphp| {!! $case($cases['partenaires']) !!} | {!! $case($cases['activites']) !!} {!! $case($cases['ressources']) !!} | {!! $case($cases['proposition']) !!} | {!! $case($cases['relation']) !!} {!! $case($cases['canaux']) !!} | {!! $case($cases['segments']) !!} |
| {!! $case($cases['couts']) !!} | {!! $case($cases['revenus']) !!} | |||
| {{ $t($rtl ? 'ثمن البيع' : 'Prix de vente') }} | {{ $dh($marge['prix']) }} | {{ $t($rtl ? 'الكلفة' : 'Ce que ça coûte') }} | {{ $dh($marge['cout']) }} | {{ $t($rtl ? 'الهامش' : 'Ce qu\'il reste') }} | {{ $dh($marge['marge']) }}@if ($marge['taux'] !== null) ({{ $marge['taux'] }} %) @endif |