Un script.
Du HTML qui dit ce qu’il veut.
Tout AUBOTA en harmonie.
Aubui donne à chaque module les mêmes boutons, couleurs, dialogues, notifications et réflexes clavier. Tu décris l’intention, Aubui s’occupe de la forme — et de l’accessibilité.
<script src="https://ui.aubota.xyz/js/aubui.js" defer></script>
<button aub-btn primary data-aub-confirm="Publier maintenant ?">Publier</button>Tout Aubui
Chaque page : à quoi ça sert, la balise exacte à poser, l’API, un exemple qui tourne pour de vrai, et l’accessibilité.
Démarrer
Fondations
Couleurs, surfaces, espaces, rayons, typo — lus en direct dans tokens.css.
Thème & accentNouveauSombre/clair, 6 pastilles d’accent, synchro entre sous-domaines et compte Hub.
MotionDurées, courbes, ce qui bouge et comment respecter « réduire les animations ».
Composants
Primary, ghost, danger, success, tailles, pleine largeur.
FormulairesChamps, labels, aides, erreurs, choix, barre de filtres.
Cartes & alertesCartes, badges, points de statut, alertes.
NavbarBarre globale AUBOTA (window.AubotaNav) et navbar de module aub-nav.
NotificationsNouveauCloche Comlink : badge, liste, toasts de nouveauté, Web Push.
Dialogues & toastsNouveauAubuiDialog (alert, confirm, prompt) et AubuiToast — jamais de popup native.
RechercheNouveauAubuiSearch : une barre, deux sources (endpoint ou liste locale), clavier complet.
Sélecteur d’heureaub-time : roue heure puis minutes, valeur HH:MM dans un champ caché.
Invitation (démo)NouveauAubInvite : en mode démo, inviter à créer un compte plutôt que bloquer.
Visite guidée (Waza)NouveauWazaTour : assombrit la page, entoure un élément et l’explique, étape par étape. Visites écrites en .md.
Kommand (Ctrl+K)NouveauPalette de commandes du Hub, chargée par aubui.js sur tous les modules : aller, créer, chercher, /commandes, aide Waza.
Comportements
Attributs aub-btn, aub-card… → classes. Aubui.process() pour le contenu injecté.
Actions data-aubNouveautoggle, show, hide, copy, dismiss et confirmations data-aub-confirm, sans JS métier.
Modèles & états
.aub-empty (état vide encourageant) et skeletons — aujourd’hui côté Hub.
Pages d’erreur403, 404, 500 et messages métier avec .aub-error.
Référence
Extraits prêts à copier.
API figée (API.md)Le contrat : attributs et classes autorisés.
README & journalPhilosophie, règles et historique d’Aubui.
Nouveautés
-
Kommand (Ctrl+K) — Kommand partout : chargé par aubui.js hors du Hub (connecté uniquement), API du Hub en CORS liste blanche.
-
Visite guidée (Waza) — Nouveau composant WazaTour (start / open / stop) + #waza-tour=<id> dans l’URL.
-
Installation — aubui.js installe une file d’attente AubuiDialog/AubuiToast dès son exécution (plus de popup native avant le chargement de dialog.js).
-
Thème & accent — Modèle unique thème/accent : cookie partagé aub-prefs (.aubota.xyz), AubuiPrefsSync, endpoint du Hub, événements aubui:theme / aubui:accent.
-
Notifications — Cloche fiable : poll sans cache, dédup entre onglets, toast si visible / notification système si caché, « marquer lu » au seul endpoint actif.
-
Dialogues & toasts — AubuiDialog + AubuiToast partout ; window.alert redirigé vers la lightbox ; data-aub-confirm déclaratif.
-
Invitation (démo) — Nouveau composant AubInvite (require / isDemo / guard).
-
Actions data-aub — data-aub-confirm (+ -title, -ok, data-aub-danger) sur liens, boutons et formulaires.
-
Recherche — Composant de recherche unique AubuiSearch (data-aubui-search).
Couverture de la doc
js/*.js et css/aubui/components/*.css a sa page de doc. Ce contrôle est recalculé à chaque affichage.La règle d’or
- Nouveau fichier ou nouvelle API dans
ui.aubota.xyz→ une page (ou une section) danspages/, déclarée dansdocs/registry.phpavec sessourceset une lignenews. - La section dit : à quoi ça sert, la balise exacte, l’API (lue dans le code, pas devinée), un exemple vivant, l’accessibilité.
- Pas de classe ou d’attribut inventé dans un module : d’abord ici et dans l’API figée, ensuite l’usage.