Pour les Développeurs

Spécifications Techniques

Tout ce qu'il faut savoir sur l'architecture, le stack technologique et les prérequis de uwAdmin6.

Stack Technologique

Technologies fiables et éprouvées, zéro dépendances exotiques.

PHP 8.2+

  • OOP avec classes et namespaces
  • MySQLi avec prepared statements
  • Gestion de sessions sécurisée
  • Intervention Image 3.x

MySQL 8.0+

  • InnoDB avec foreign keys
  • UTF8MB4 full unicode
  • Index optimisés
  • Transactions ACID

Frontend Stack

  • Tailwind CSS 4.x
  • Alpine.js 3.x
  • Flowbite 4.x
  • jQuery 3.7 (compatibilité)

Rich Text Editor

  • TinyMCE 8.2
  • MoxieManager 8.2
  • Configuration multilingue
  • Plugins personnalisés

UI & Icons

  • Font Awesome Pro 7.2
  • Flag Icons (drapeaux)
  • SortableJS 1.15
  • Fancybox 3.5.7

Zéro Framework

  • Aucun Laravel/Symfony
  • Composer pour dépendances minimales
  • Déploiement via FTP/SFTP
  • Compatible hébergement mutualisé

Architecture

Pattern modulaire avec séparation des responsabilités et multilingue natif.

Pattern Modulaire

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

Système Multilingue

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

Gestion des Médias

Un seul upload, 7 formats automatiques :

Format Dimensions Utilisation
s150pxThumbnail
m300pxCard
l600pxContent
xl1200pxHero
xxl1920pxFull HD
original-Backup
cropCustomRitaglio

Système RBAC

4 rôles avec permissions granulaires par module :

Rôle Read Write Delete Publish
Super Admin
Admin
Editor
Viewer

Gestion des Thèmes

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

Récupération de Mot de Passe

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

RGPD & Consentement Cookies

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

Sécurité

Protection complète OWASP Top 10 et bonnes pratiques.

SQL Injection

100% prepared statements avec binding de paramètres via MySQLi.

$db->query($sql, [$id], 'i');

XSS Protection

Encodage de sortie avec htmlspecialchars() sur toutes les données utilisateur.

htmlspecialchars($data, ENT_QUOTES, 'UTF-8')

CSRF Protection

Token unique par session sur chaque formulaire POST.

<input type="hidden" name="csrf_token" value="...">

Password Security

Hachage avec PASSWORD_BCRYPT et cost factor 12.

password_hash($pwd, PASSWORD_BCRYPT, ['cost' => 12])

Rate Limiting

5 tentatives échouées → verrouillage 15 minutes. Anti brute-force.

max_attempts: 5, lockout: 900s

Session Fingerprint

Binding IP + User Agent. Régénération de l'ID après connexion.

session_regenerate_id(true);

reCAPTCHA v3

Protection anti-spam invisible avec validation score-based (0.0-1.0).

$recaptcha->isValid(null, 'login');
OWASP Top 10 2021 • RGPD Conforme • Piste d'Audit

Prérequis Hébergement

Compatible avec la plupart des fournisseurs d'hébergement.

Prérequis Minimaux

PHP 8.2+
MySQL 8.0+
Mémoire PHP 128 MB
Max Upload 32 MB
Espace Disque 500 MB+

Extensions PHP Requises

mysqli
mbstring
gd
json
session
curl
fileinfo
openssl

Optionnel : imagick pour le traitement avancé des images

Fournisseurs Compatibles

Aruba SiteGround Netsons OVH Serverplan VHosting DigitalOcean AWS

Intégrations

Services externes et API pris en charge.

OpenRouter

OpenRouter AI

Génération de contenus
  • Claude, GPT-4, Llama
  • Assistants spécialisés
  • Traductions automatiques

YouTube

Intégration vidéo
  • Embed responsive
  • Miniature automatique
  • Mode confidentialité avancé

Vimeo

Intégration vidéo
  • Embed responsive
  • Extraction des métadonnées
  • Lecteur personnalisé

Intervention Image

Traitement d'images
  • Redimensionnement automatique
  • Recadrage intelligent (cover)
  • Filigrane et rotation

PHPMailer

Envoi d'emails
  • SMTP authentifié
  • Emails HTML responsive
  • Pièces jointes et templates
Prêt pour l'IA

REST API & Connecter l'IA

Une REST API de style WordPress qui transforme le CMS en un point d'accès « AI-ready » : gérez vos contenus en parlant à un assistant IA (Claude, ChatGPT, Gemini…), via des standards ouverts.

Le moteur — REST API

Dans le CMS (PHP) : reçoit des requêtes HTTP+JSON et agit sur les contenus. Environ 19 ressources/modules couverts.

Le traducteur — Bridge MCP

Un paquet npm qui relie les assistants IA à l'API. Il est auto-documenté : il découvre seul les fonctions disponibles.

Le tableau de bord — Connecter l'IA

Une page admin qui génère les clés et fournit les instructions copier-coller pour chaque assistant.

MCP (Model Context Protocol) et OpenAPI 3.0. L'architecture est agnostique vis-à-vis de l'IA par conception : aucun verrouillage fournisseur, et elle continuera de fonctionner avec les modèles futurs sans rien racheter.

Ce qu'elle offre

Application Passwords

Des clés dédiées pour chaque app connectée, affichées une seule fois et révocables, avec les permissions de l'utilisateur concerné.

Permissions granulaires (scopes)

Chaque clé peut être limitée à des modules ou actions spécifiques.

Brouillons IA

Les contenus créés par l'IA restent invisibles au public tant qu'ils ne sont pas publiés à la main.

Modifications non destructives

Les modifications de l'IA sur des contenus publiés restent en ligne, sont signalées et réversibles (restauration du texte précédent).

Journal d'audit

Qui, quoi, quand, depuis quelle app/IP — tout est visible dans un panneau dédié.

Limite de débit

Plafond de requêtes horaires configurable par clé, contre les abus.

Multilingue

Charge utile avec traductions par langue (it/en/…), cohérente avec le CMS.

Téléversement d'images

Téléversement de photos dans une galerie avec génération automatique des formats.

Réorganisation des contenus

Positionnement des éléments via l'IA, comme le glisser-déposer du panneau.

Extensibilité

Un nouveau module API = une seule classe ; il apparaît automatiquement parmi les outils de l'IA.

Exemples : ce que vous pouvez écrire à l'assistant

Des phrases en langage naturel qui deviennent des contenus dans le CMS, prêts à être relus.

“Publie une actualité intitulée « Concert de samedi » avec ce texte et cette photo.”
“Mets à jour la biographie en anglais en ajoutant le dernier prix reçu.”
“Crée l'événement du 20 juin à 21h00 au Teatro Comunale.”
“Téléverse ces 8 photos dans la galerie du concert et place-les dans cet ordre.”
“Place en haut la revue de presse du Corriere.”

Pourquoi c'est différent de WordPress + plugins IA

Aspect WordPress + plugins IA uwAdmin6 REST API
Multi-IA Plugins séparés par fournisseur, fragmentés Une seule API, standards ouverts, agnostique vis-à-vis de l'IA
Sécurité de publication Variable selon le plugin Brouillons IA natifs : rien n'est mis en ligne sans validation humaine
Modifications sur contenus en ligne Risque d'écrasement Non destructives + restauration du texte précédent
Traçabilité Dépend du plugin Journal d'audit intégré au CMS
Nouveaux types de contenu Dépend du plugin Une classe → outil IA automatiquement
Fonctionne déjà avec Claude, ChatGPT et Gemini (applications et web) • DeepSeek prévu

Module E-Commerce — uwEasyShop

Système e-commerce intégré avec gestion complète des produits, commandes et paiements.

Types de Produits

Aucune limite de types. Vous pouvez vendre tout produit physique, numérique ou service. Quelques exemples :

Produits Physiques

  • CD / Vinyles
  • Livres / Manuels
  • Documents imprimés
  • Merchandising
  • Billets d'événement

Produits Numériques

  • Téléchargements fichiers
  • PDF / E-books / Guides
  • Accès streaming
  • Licences logicielles
  • Cartes cadeaux

Autres

  • Abonnements
  • Donations
  • Bundles mixtes

Payment Gateway

Double gateway avec gestion PCI-compliant :

  • Stripe — cartes de crédit, Apple Pay, Google Pay
  • PayPal — checkout et paiement express
  • Gestion des webhooks pour confirmation de paiement asynchrone
  • Support multi-devises (EUR, USD, GBP...)

Checkout Engine

Checkout adaptatif en 4 étapes :

  • Étape 1 : Panier — récapitulatif produits et quantités
  • Étape 2 : Données client — formulaire adaptatif (livraison uniquement pour produits physiques)
  • Étape 3 : Paiement — sélection du gateway et confirmation
  • Étape 4 : Confirmation — récapitulatif commande et lien de téléchargement (si numérique)

Gestion des Commandes

5 statuts de commande avec workflow complet :

  • Pending → Paid → Shipped → Delivered → Refunded
  • Reçus PDF générés automatiquement
  • Remboursements totaux et partiels
  • Notifications email automatiques pour chaque changement de statut

Système de Coupons

Promotions flexibles avec règles composées :

  • Réduction en pourcentage ou montant fixe
  • Date d'expiration configurable
  • Limites d'utilisation par coupon et par client
  • Restrictions par catégorie de produit ou montant minimum

Analytics

Tableau de bord des ventes intégré :

  • Top produits par ventes et chiffre d'affaires
  • Répartition du chiffre d'affaires par gateway de paiement
  • Statistiques des commandes par période
  • Export CSV pour reporting externe

Vous avez des questions techniques ?

Contactez-nous pour une consultation technique ou pour demander une démo personnalisée.