1
0

Ajout d'un favicon dynamique personnalisé basé sur le nom de configuration

## Nouvelle fonctionnalité

### Favicon automatique avec initiales
- Génération dynamique d'un favicon SVG avec les 2 premières lettres du nom
- Route `/favicon.ico` qui utilise la variable `config.name`
- Design moderne avec dégradé bleu et coins arrondis
- Cache navigateur optimisé (24h) pour les performances

### Intégration dans l'interface
- Ajout de la balise favicon dans autopost.html
- Support SVG pour une qualité parfaite à toutes les tailles
- Personnalisation automatique selon la configuration

## Avantages
- Identité visuelle unique pour chaque instance
- Aucune configuration manuelle nécessaire
- Favicon professionnel généré automatiquement
- Optimisation des performances avec mise en cache
This commit is contained in:
unfr 2025-09-27 16:20:25 +02:00
parent a9e7024830
commit 8d55c06c2b
2 changed files with 21 additions and 0 deletions

View File

@ -280,6 +280,26 @@ autopostRouter.get('/logout', (req, res) => {
req.session.destroy(() => res.redirect('/autopost/login'));
});
// --------------------------- Favicon dynamique -----------------------------
autopostRouter.get('/favicon.ico', (req, res) => {
const initials = config.name.substring(0, 2).toUpperCase();
const svg = `<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
<defs>
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#3B82F6;stop-opacity:1" />
<stop offset="100%" style="stop-color:#1D4ED8;stop-opacity:1" />
</linearGradient>
</defs>
<rect width="32" height="32" rx="6" fill="url(#grad)"/>
<text x="16" y="22" font-family="Arial, sans-serif" font-size="14" font-weight="bold"
text-anchor="middle" fill="white">${initials}</text>
</svg>`;
res.setHeader('Content-Type', 'image/svg+xml');
res.setHeader('Cache-Control', 'public, max-age=86400'); // Cache 24h
res.send(svg);
});
function checkAuth(req, res, next) {
if (req.session && req.session.authenticated) {
next();

View File

@ -4,6 +4,7 @@
<meta charset="UTF-8">
<title>{{TITLE}}</title>
<meta name="csrf-token" content="{{CSRF_TOKEN}}">
<link rel="icon" href="/autopost/favicon.ico" type="image/svg+xml">
<script src="js/index.global.js"></script>
<script src="jquery/jquery.min.js"></script>
<link href="https://fonts.googleapis.com/css?family=Roboto:400,700&display=swap" rel="stylesheet">