{% extends 'base/layout.html' %} {% load i18n %} {% block title %}{% trans "Facility comparison" %}{% endblock %} {% block content %}

{% trans "Facility comparison" %}

{% trans "Application portfolio similarity and mutualization opportunities" %}
{% for site in all_sites %} {% endfor %}
{% if sites|length < 2 %}
{% trans "At least two facilities with a business cartography are required for comparison." %}
{% else %}
{% trans "Facilities compared" %}
{{ sites|length }}
{% trans "Average similarity" %}
{{ avg_similarity }}%
{% trans "Jaccard index on application portfolios" %}
{% trans "Mutualized applications" %}
{{ mutualized_count }}
{% trans "deployed on at least two facilities" %}
{% trans "Convergence opportunities" %}
{{ opportunities|length }}
{% trans "same process, different applications" %}
{# ── Similarity matrix ─────────────────────────────────────────── #}

{% trans "Similarity matrix" %}

{% trans "Shared applications / total applications of each pair" %}
{% for row in matrix %} {% endfor %} {% for row in matrix %} {% for cell in row.cells %} {% if cell.self %} {% else %} {% endif %} {% endfor %} {% endfor %}
{{ row.site.name }}{{ row.count }} {% trans "apps" %}
{{ row.site.name }} {{ cell.score }}% {{ cell.common }} {% trans "shared" %}
{# ── Convergence opportunities ─────────────────────────────────── #}

{% trans "Mutualization opportunities" %}

{% trans "Identical processes covered by different applications — candidates for convergence" %}
{% if opportunities %} {% for opp in opportunities %} {% endfor %}
{% trans "Process" %} {% trans "Applications by facility" %} {% trans "Distinct products" %}
{{ opp.process }}
{% for col in opp.columns %}
{{ col.site }} {{ col.apps|join:', ' }}
{% endfor %}
{{ opp.distinct_apps }}
{% else %}
{% trans "No divergence detected: shared processes use the same applications everywhere." %}
{% endif %}
{# ── Already mutualized ────────────────────────────────────────── #}

{% trans "Already mutualized" %}

{{ mutualized_count }}
{% if mutualized %} {% for entry in mutualized %} {% endfor %}
{% trans "Application" %}{% trans "Coverage" %}{% trans "Establishments" %}
{{ entry.app.name }}
{{ entry.sites|join:', ' }}
{% else %}
{% trans "No application is shared between the selected facilities." %}
{% endif %}
{# ── Site-specific applications ────────────────────────────────── #}

{% trans "Facility-specific applications" %}

{% trans "deployed on a single facility" %}
{% for panel in unique_panels %}
{{ panel.site.name }} {{ panel.apps|length }}
{% for app in panel.apps %}{{ app.name }}{% if not forloop.last %}, {% endif %}{% empty %}—{% endfor %}
{% endfor %}
{% endif %} {% endblock %}