up wiki controller

This commit is contained in:
Tykayn 2025-08-22 17:58:13 +02:00 committed by tykayn
parent 2f49ef6479
commit 391a212034
13 changed files with 1271297 additions and 866 deletions

View file

@ -0,0 +1,130 @@
{% extends 'base.html.twig' %}
{% block title %}Pages Wiki non disponibles en français{% endblock %}
{% block body %}
<div class="container mt-4">
{% include 'admin/_wiki_navigation.html.twig' %}
<h1>Pages Wiki non disponibles en français</h1>
<p class="lead">Liste des pages du wiki OSM qui n'ont pas de traduction française, groupées par langue d'origine.</p>
{% if last_updated %}
<div class="alert alert-info">
<i class="bi bi-info-circle"></i> Dernière mise à jour : {{ last_updated|date('d/m/Y H:i') }}
</div>
{% endif %}
<div class="card mb-4">
<div class="card-header">
<h2>Statistiques</h2>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-4">
<div class="card text-white bg-primary mb-3">
<div class="card-body">
<h5 class="card-title">Total des pages</h5>
<p class="card-text display-4">{{ all_pages|length }}</p>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card text-white bg-success mb-3">
<div class="card-body">
<h5 class="card-title">Pages en anglais</h5>
<p class="card-text display-4">{{ grouped_pages['En']|default([])|length }}</p>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card text-white bg-info mb-3">
<div class="card-body">
<h5 class="card-title">Langues différentes</h5>
<p class="card-text display-4">{{ grouped_pages|length }}</p>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Pages groupées par langue -->
<div class="accordion" id="languageAccordion">
{% for lang_prefix, pages in grouped_pages %}
<div class="accordion-item">
<h2 class="accordion-header" id="heading{{ lang_prefix }}">
<button class="accordion-button {% if lang_prefix != 'En' %}collapsed{% endif %}" type="button" data-bs-toggle="collapse" data-bs-target="#collapse{{ lang_prefix }}" aria-expanded="{{ lang_prefix == 'En' ? 'true' : 'false' }}" aria-controls="collapse{{ lang_prefix }}">
{% if lang_prefix == 'En' %}
<strong class="text-success">Pages en anglais ({{ pages|length }})</strong>
{% elseif lang_prefix == 'Other' %}
<strong>Autres pages ({{ pages|length }})</strong>
{% else %}
<strong>Pages en {{ lang_prefix }} ({{ pages|length }})</strong>
{% endif %}
</button>
</h2>
<div id="collapse{{ lang_prefix }}" class="accordion-collapse collapse {% if lang_prefix == 'En' %}show{% endif %}" aria-labelledby="heading{{ lang_prefix }}" data-bs-parent="#languageAccordion">
<div class="accordion-body">
<div class="table-responsive">
<table class="table table-striped table-hover">
<thead class="thead-dark">
<tr>
<th>Titre</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
{% for page in pages %}
<tr>
<td>
<strong>{{ page.title }}</strong>
{% if page.is_english %}
<span class="badge bg-success">Priorité</span>
{% endif %}
</td>
<td>
<div class="btn-group" role="group">
<a href="{{ page.url }}" target="_blank" class="btn btn-sm btn-outline-primary" title="Voir la page originale">
<i class="bi bi-eye"></i> Voir
</a>
{% set fr_url = page.url|replace({'/wiki/': '/wiki/FR:'}) %}
<a href="{{ fr_url }}" target="_blank" class="btn btn-sm btn-success" title="Créer la traduction française">
<i class="bi bi-plus-circle"></i> Traduire
</a>
</div>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
</div>
{% endfor %}
</div>
<div class="card mt-4 mb-4">
<div class="card-header">
<h2>À propos des pages non disponibles en français</h2>
</div>
<div class="card-body">
<p>Ces pages sont des contenus du wiki OpenStreetMap qui n'ont pas encore été traduits en français.</p>
<p>Contribuer à la traduction de ces pages permet de :</p>
<ul>
<li>Rendre la documentation OSM plus accessible aux contributeurs francophones</li>
<li>Améliorer la qualité des contributions en français</li>
<li>Faciliter l'apprentissage et l'utilisation d'OpenStreetMap pour les nouveaux utilisateurs</li>
</ul>
<p><strong>Priorité aux pages anglaises :</strong> Les pages commençant par "En:" sont prioritaires car l'anglais est la langue principale du wiki OSM.</p>
</div>
</div>
<div class="mt-3">
<a href="{{ path('app_admin_wiki') }}" class="btn btn-secondary">
<i class="bi bi-arrow-left"></i> Retour à la liste des pages wiki
</a>
</div>
</div>
{% endblock %}