Vue d’ensemble — {{ project.name }}
Acronyme: {{ project.acronym|default('PRJ-XXX') }} · MAJ: {{ project.updatedAt | date ('d/m/Y') }}
Avancement physique
{% set phys = project.progress|round(1) %}
{{ phys }}%
{% set allocated = project.totalBudget|default(0) %} {% set committed = project.getTotalCommittedBudget|default(0) %} {% set disbursed = project.totalDisbursedBudget|default(0) %} {% set pctCommitted = allocated > 0 ? (committed / allocated * 100) : 0 %} {% set pctDisbursed = allocated > 0 ? (disbursed / allocated * 100) : 0 %}
Taux d’absorption (décaissé / alloué)
{{ pctDisbursed|round(1) }}%
{% set pctResidual = pctCommitted - pctDisbursed %} {% set pctResidual = pctResidual < 0 ? 0 : pctResidual %}
Engagé : {{ pctCommitted|round(1) }}% Décaissé : {{ pctDisbursed|round(1) }}%
Décisions requises
{{ project.kpi.decisionsPending|default(0) }}
à soumettre au COPIL
Retards critiques
{{ project.kpi.criticalDelays|default(0) }}
jalons & marchés
    {# Skeleton initial #}