{{-- La fiche AO imprimable (v3.32.0 §A) — une page autonome : la même carte que l'écran, rendue par les mêmes morceaux HTML (App\Support\FicheAoHtml), habillée d'un CSS print inline. Aucun menu, aucune dépendance, aucune lib PDF : la page s'ouvre, window.print() se déclenche, et « Enregistrer en PDF » appartient au navigateur de l'utilisateur. --}} {{ $donnees['reference'] }} — Fiche AO
{!! \App\Support\FicheAoHtml::entete($donnees) !!} {!! \App\Support\FicheAoHtml::grille($donnees) !!}
{{-- v4.0.0 §E — Les LOTS, juste après l'en-tête, comme à l'écran : sur un AO alloti, c'est là que la décision se prend. Les sections `
` s'impriment dépliées. --}} @if ($donnees['lots'] !== [])

Lots — on décide lot par lot

{!! \App\Support\FicheAoHtml::lots($donnees, imprimable: true) !!}
@endif @if ($donnees['resume'] !== null)

Le travail à faire

{!! \App\Support\FicheAoHtml::resume($donnees) !!}
@endif {{-- v4.0.0 §E — Sur un BON DE COMMANDE, les articles du portail prennent la place du bordereau : ils sont publiés structurés, il n'y a aucun PDF à lire. --}} @if ($donnees['articles'] !== [])

Articles (portail)

{!! \App\Support\FicheAoHtml::articles($donnees) !!}
{{-- v4.20.0 §A — Un vrai tableau, ou rien : la même règle qu'à l'écran. Le texte brut du dossier ne s'imprime plus sous le titre « Bordereau des prix ». --}} @elseif ($donnees['bordereau']['lignes'] !== [] || $donnees['type']['bordereau_sans_objet'] !== null)

Bordereau des prix

{!! \App\Support\FicheAoHtml::bordereau($donnees) !!}
@endif {{-- Ce que le TYPE impose : dossier de candidature (AMI, concours, phase 1) ou enchère. --}} @if ($donnees['type']['forme'] === 'sans_prix')

Dossier de candidature

{!! \App\Support\FicheAoHtml::candidature($donnees) !!}
@endif @if ($donnees['type']['enchere'] !== null)

Enchère

{!! \App\Support\FicheAoHtml::enchere($donnees) !!}
@endif @if ($donnees['presenter'] !== [] || $donnees['conditions'] !== [])
{!! \App\Support\FicheAoHtml::deuxColonnes($donnees) !!}
@endif @if ($donnees['resultat'] !== null)

Résultat & concurrence

{!! \App\Support\FicheAoHtml::resultat($donnees, imprimable: true) !!}
@endif @if ($donnees['resultat_bdc'] !== null)

Résultat de l'avis d'achat

{!! \App\Support\FicheAoHtml::resultatBdc($donnees) !!}
@endif {{-- v4.0.0 §E — LE COMPTE RENDU DE LECTURE : ce que la moissonneuse a ouvert, ce qu'elle en a tiré, et pourquoi quand elle a échoué. Il s'imprime avec la fiche : c'est la pièce qui rend la lecture vérifiable. --}} @if ($donnees['compte_rendu'] !== null)

Compte rendu de lecture

{!! \App\Support\FicheAoHtml::compteRendu($donnees) !!}
@endif

{{-- v4.19.0 §C — LE LIEN DU PORTAIL sur la fiche téléchargeable. Il n'y en avait aucun : la fiche imprimée était la seule pièce du dossier qui ne disait pas d'où elle venait. La cible suit la phase (détail d'une annonce en cours, suivi des travaux de la commission sur un AO clôturé) — c'est `Tender::pmmpLink()` qui tranche, §B. --}} @if (($donnees['pmmp'] ?? null) !== null) Voir l'annonce sur le portail des marchés publics @endif Fiche générée le {{ now()->format('d/m/Y à H:i') }} — champs extraits du dossier de consultation par l'IA locale ; un champ introuvable s'affiche « — », jamais inventé.