Tout ce qu'il faut savoir sur l'architecture, le stack technologique et les prérequis de uwAdmin6.
Technologies fiables et éprouvées, zéro dépendances exotiques.
Pattern modulaire avec séparation des responsabilités et multilingue natif.
Chaque module suit une structure standardisée :
/uw-admin/admin/{modulo}/
├── index.php # Lista con filtri
├── form.php # Create/Edit
├── ajax/ # Operazioni async
│ ├── delete.php
│ ├── toggle-*.php
│ └── reorder.php
└── includes/ # Componenti riutilizzabili
24 modules implémentés avec ce pattern
Activation sélective par projet
Pattern polymorphique avec tables séparées :
# Tabella principale
news (id, data_pubblicazione, attivo)
# Tabella traduzioni
news_traduzioni (
id, news_id, lingua_id,
titolo, slug, contenuto,
UNIQUE(news_id, lingua_id)
)
9 langues prises en charge nativement
URL SEO-friendly pour chaque langue : /it/news/titolo
Un seul upload, 7 formats automatiques :
| Format | Dimensions | Utilisation |
|---|---|---|
s | 150px | Thumbnail |
m | 300px | Card |
l | 600px | Content |
xl | 1200px | Hero |
xxl | 1920px | Full HD |
original | - | Backup |
crop | Custom | Ritaglio |
4 rôles avec permissions granulaires par module :
| Rôle | Read | Write | Delete | Publish |
|---|---|---|---|---|
| Super Admin | ||||
| Admin | ||||
| Editor | ||||
| Viewer |
Thème actif configurable depuis l'admin avec support du thème de développement :
Priorita risoluzione tema:
1. Tema sviluppo (se abilitato + IP/cookie)
2. Tema attivo (da database)
3. Fallback a 'default'
Override granulaire: personnalisez uniquement les fichiers nécessaires
Thème de développement: testez de nouveaux thèmes sans impacter les visiteurs
Autorisation: whitelist IP ou cookie secret
Système complet avec email SMTP et token sécurisé :
Token: 64 char hex (random_bytes)
Scadenza: 1 ora
Anti-enumeration: messaggio generico
SMTP: PHPMailer con fallback mail()
Modale intégrée dans la page de connexion (Alpine.js)
8 préférences email configurables depuis l'admin
reCAPTCHA v3 optionnel pour l'anti-spam
Système intégré sans dépendances pour la conformité RGPD et ePrivacy :
Cookie Banner (2 livelli):
1. Barra fissa: Accetta | Rifiuta | Personalizza
2. Modal: toggle per categoria cookie
Blocco preventivo script:
- GA4 caricato SOLO dopo consenso
- Script custom bloccati fino ad accettazione
- reCAPTCHA classificato come tecnico
Cookie: uw_cookie_consent (base64 JSON, 365gg)
Policy: generate automaticamente IT/EN
18 préférences en base de données (10 confidentialité + 8 cookies)
Classes PHP: CookieConsent + PrivacyPolicy
Frontend: Alpine.js cookie-consent.js
Protection complète OWASP Top 10 et bonnes pratiques.
100% prepared statements avec binding de paramètres via MySQLi.
$db->query($sql, [$id], 'i');
Encodage de sortie avec htmlspecialchars() sur toutes les données utilisateur.
htmlspecialchars($data, ENT_QUOTES, 'UTF-8')
Token unique par session sur chaque formulaire POST.
<input type="hidden" name="csrf_token" value="...">
Hachage avec PASSWORD_BCRYPT et cost factor 12.
password_hash($pwd, PASSWORD_BCRYPT, ['cost' => 12])
5 tentatives échouées → verrouillage 15 minutes. Anti brute-force.
max_attempts: 5, lockout: 900s
Binding IP + User Agent. Régénération de l'ID après connexion.
session_regenerate_id(true);
Protection anti-spam invisible avec validation score-based (0.0-1.0).
$recaptcha->isValid(null, 'login');
Compatible avec la plupart des fournisseurs d'hébergement.
Optionnel : imagick pour le traitement avancé des images
Services externes et API pris en charge.
Contactez-nous pour une consultation technique ou pour demander une démo personnalisée.
Ce site utilise des cookies techniques et, avec votre consentement, des cookies d'analyse pour améliorer votre expérience. Politique des cookies
Indispensables au fonctionnement du site. Ils ne peuvent pas être désactivés.
Nous aident à comprendre comment les visiteurs interagissent avec le site en collectant des informations de manière anonyme.