{% extends 'layout/content.html.twig' %} {% block title %}{{ project.name }} - Récapitulatif{% endblock %} {% block stylesheets %} {{ encore_entry_link_tags('planned') }} {% endblock %} {% block javascripts %} {{ encore_entry_script_tags('planned') }} {% endblock %} {% block breadcrumb %} {{ render(controller('App\\Controller\\SharedController::getBreadcrumb', {type: 'project', id: project.id })) }} {% endblock %} {% block sidebar %} {{ render(controller('App\\Controller\\SharedController::getProjectSideBarMenu', {acronym: project.acronym, step: step, show : 'show'})) }} {% endblock %} {% block content %}
{{ project.name }}
{{ project.acronym }}
Statut : {{ project.status|trans }}
{{ task_remaining_time(project.startDate, project.endDate) }}
Progression : {{ project.progress|round }}%
Description
{{ project.description|raw }}
Programme
{{ project.program ? project.program.name : 'Non défini' }}
Propriétaire
{{ project.department.name }}
Devise
{{ project.currency }}
Lignes budgétaires
{{ project.budgetLines|length }}
Budget alloué
{{ project.totalBudget|format_currency(project.currency) }}
Avancement du projet {{ project.progress|round }}%
Acteurs
{{ project.responsible.fullname }}
Responsable
{{ project.monitor.fullname }}
Chargé de suivi
Parties prenantes
{% if stakeholders|length > 0 %}
{% for stakeholder in stakeholders %}
{{ stakeholder.name }}

{{ stakeholder.organization|default('—') }}

{{ stakeholder.email|default('—') }}

{{ stakeholder.phone|default('—') }}

{{ ('stakeholder.type.' ~ stakeholder.role)|trans }}
{% endfor %}
{% else %}
Aucun acteur clé défini pour ce projet.
{% endif %}
Définition du projet
Objectifs stratégiques
    {% for objective in objectives %}
  • {{ objective.name }}
  • {% endfor %}
Indicateurs de résultats
{{ outputs|length }}
{% if outputs is empty %}
Aucun extrant défini pour le moment.
{% endif %}
{% for output in outputs %} {% set unit = output.unit|default('—') %} {% set target = output.target is defined ? output.target : null %} {% set achieved = output.achieved is defined ? output.achieved : null %} {% set rate = output.completionRate is defined and output.completionRate is not null ? output.completionRate|round(0, 'floor') : null %} {% set clamped = rate is not null and rate < 0 ? 0 : (rate is not null and rate > 100 ? 100 : rate) %} {% set rateClass = 'bg-secondary' %} {% if clamped is not null %} {% if clamped < 50 %}{% set rateClass = 'bg-danger' %} {% elseif clamped < 80 %}{% set rateClass = 'bg-warning text-dark' %} {% else %}{% set rateClass = 'bg-success' %} {% endif %} {% endif %}
{{ output.name }}
Unité : {{ unit }} {% if output.code is defined and output.code %} • Code : {{ output.code }} {% endif %}
Cible : {{ target is not null ? target ~ ' ' ~ unit : '—' }} Réalisé : {{ achieved is not null ? achieved ~ ' ' ~ unit : '—' }}
{% if clamped is not null %}
Taux de réalisation {{ clamped }}%
{% else %}
Taux non renseigné
{% endif %}
{% endfor %}
Planification
{% for milestone in milestones %} {% set barColor = milestone.actual >= milestone.planned ? 'success' : 'danger' %}
{{ milestone.period }}
Planifié : {{ milestone.planned }}% {% if milestone.actual > 0 %} Réalisé : {{ milestone.actual }}% {% endif %}
{% endfor %}
Localisation géographique
Documents & pièces associées
{% if files|length > 0 %} {% for file in files %} {% set ext = file.name|split('.')|last|lower %} {% set icon = 'mdi-file' %} {% set color = 'text-secondary' %} {% if ext in ['pdf'] %} {% set icon = 'mdi-file-pdf-box' %} {% set color = 'text-danger' %} {% elseif ext in ['doc', 'docx'] %} {% set icon = 'mdi-file-word-box' %} {% set color = 'text-primary' %} {% elseif ext in ['xls', 'xlsx', 'csv'] %} {% set icon = 'mdi-file-excel-box' %} {% set color = 'text-success' %} {% elseif ext in ['png', 'jpg', 'jpeg', 'gif'] %} {% set icon = 'mdi-file-image-outline' %} {% set color = 'text-info' %} {% elseif ext in ['zip', 'rar', '7z'] %} {% set icon = 'mdi-archive-outline' %} {% set color = 'text-warning' %} {% elseif ext in ['ppt', 'pptx'] %} {% set icon = 'mdi-file-powerpoint-box' %} {% set color = 'text-danger' %} {% elseif ext in ['txt', 'md', 'rtf'] %} {% set icon = 'mdi-file-document-outline' %} {% endif %}
{{ file.name }}
{{ ext|upper }} • ajouté le {{ file.createdAt|date('d M Y') }}
{% endfor %} {% else %}
Aucun fichier chargé pour le moment.
{% endif %}
{{ project_action_buttons(project) }}
{% endblock %}