Paramétrage
Administration de la plateforme
{{ msg }}
{% endfor %}
{% endfor %}
{% set tabs = {'spaces': 'Espaces', 'apps': 'Applications', 'users': 'Utilisateurs', 'access': 'Accès', 'audit': "Journaux d'audit", 'settings': 'Stockage'} %}
{% for key, label in tabs %}{% if key in allowedTabs %}
{{ label }}
{% endif %}{% endfor %}
{# ----------------------------------------------------------- Espaces #}
{% if tab == 'spaces' %}
Créer un espace
À la création, le dossier de l'espace est créé dans le stockage.
Espaces ({{ spaces|length }})
Aucun espace créé
{% else %}
{{ space.name }}
renommer |
{% for c in space.creators %}
{{ c.email }}
{% else %}
Aucun
{% endfor %}
|
{{ space.createdAt|date('d/m/Y') }} |
Ajouter une application
{% if not s3.configured %}⚠️ Stockage non configuré (onglet Stockage) — à renseigner avant d'ajouter une application.
{% endif %}
Applications ({{ apps|length }})
Aucune application
{% else %}
| {{ app.name }} | {{ app.space.name }} | {% if app.appType == 's3' %} {{ app.url }} {% elseif app.appType in ['url', 'iframe'] %} {{ app.appType == 'iframe' ? 'Intégré' : 'Lien' }}{{ app.url }} {% else %} {{ app.htmlFilename ?: '—' }} {% endif %} | {% if app.thumbnailFilename %}Oui{% else %}Non{% endif %} |
Modifier l'application |
Créer un utilisateur
Utilisateurs ({{ users|length }})
Aucun utilisateur
{% else %}
| {{ u.email }} | {{ u.createdAt|date('d/m/Y') }} |
|
Accorder un accès
Accès accordés ({{ permissions|length }})
Aucun accès accordé
{% else %}
| {{ p.userEmail }} | {{ p.app.name }} | {{ p.app.space.name }} | {{ p.grantedAt|date('d/m/Y') }} |
|
Journaux d'audit ({{ auditLogs|length }})
Aucun événement enregistré
{% else %}
| {{ log.timestamp|date('d/m/Y H:i:s') }} | {{ log.userEmail }} | {{ log.action == 'login' ? 'Connexion' : 'Ouverture app' }} | {{ log.appName ?: '—' }} | {{ log.spaceName ?: '—' }} |
Stockage des fichiers
{% if s3.configured %} Configuré {% else %} Non configuré {% endif %}Stockage distant où sont déposés et lus les fichiers HTML des applications.
Configuration dans .env.local (sur le serveur). Les accès au stockage — y compris la clé secrète — ne sont volontairement pas saisis dans l'interface ni stockés en base. Pour les modifier, éditez .env.local puis videz le cache. Variables : S3_ACCESS_KEY, S3_SECRET_KEY, S3_REGION, S3_BUCKET, S3_ENDPOINT, S3_EXPIRY. Conseil : une clé IAM dédiée, en lecture seule (s3:GetObject sur ce bucket).
- Région
- {{ s3.region ?: '—' }}
- Bucket
- {{ s3.bucket ?: '—' }}
- Endpoint
- {{ s3.endpoint ?: 'AWS standard' }}
- Validité des liens
- {{ s3.expiry }} s
- Identifiants
- {{ s3.configured ? 'présents (.env.local)' : 'manquants' }}
Tester la connexion
Génère un lien pré-signé pour une clé d'objet et l'ouvre dans un nouvel onglet (enregistrez d'abord la configuration ci-dessus). Le test s'exécute dans votre navigateur car le serveur n'a pas d'accès réseau sortant : si le fichier s'affiche, les accès sont bons ; une erreur 403 / SignatureDoesNotMatch indique une clé erronée, et NoSuchKey un fichier inexistant.