Résumé
Cette version concerne surtout la partie publique : ménage dans les thèmes livrés, arrivée de Ductile 2026, révision des jeux de gabarits mustek et dotty avec de nouvelles classes CSS et quelques nouvelles balises de gabarit. Côté code, Dotclear commence à être plus rigoureux sur les types, et ça va continuer avec les prochaines versions.
Pour ce qui sera possiblement gênant suivant les cas :
- Les thèmes Ductile, Blowup et Blue Silence ne sont plus livrés (toujours téléchargeables depuis le serveur Dotclear)
- L'argument $func de la méthode addBehavior() doit être de type callable
- La méthode addAction() des actions de l'admin n'accepte plus Option ni formSelectOption comme élément
- L'attribut name ne peut plus être utilisé sur tous les éléments HTML (le JS/CSS des modules tiers peut nécessiter une révision)
- App::blog()->updPostStatus() et App::blog()->updPostsStatus() demandent un statut de type entier en second argument
- Le gabarit d'archives de dotty affiche maintenant tous les widgets de navigation et plus seulement la recherche
- Un titre est ajouté avant le message du formulaire de commentaire, certains thèmes devront être adaptés
Nouveautés
- Nouveau thème Ductile2026, héritier modernisé de Ductile
- Nouvel attribut has_tags pour la balise tpl:EntryIf
- Nouvelle balise tpl:IfEntryFirstImage pour savoir si tpl:EntryFirstImage fournira une image (mêmes attributs)
- Nouvelle balise tpl:LoopCount qui donne le nombre d'éléments de la boucle courante
- La balise tpl:EntryIf accepte un préfixe ! sur l'attribut type pour tester tout sauf le type donné
- Ajout des behaviors themeBeforeSelect et themeAfterSelect lors de la sélection d'un thème
- Ajout de la méthode MetaRecord::cardinal() pour récupérer un entier depuis un count(), max(), …
- Ajout de Fault::unsetExceptionHandler() à utiliser avec les tests PHPUnit
- Option des widgets pages, catégories, tags, recherche, etc… pour ne pas s'afficher sur la page principale des archives
- Réglage du thème customCSS pour choisir le jeu de gabarits (mustek par défaut)
- Option pour modifier le libellé du lien Accueil du fil d'Ariane
- Option de désactivation des éléments du menu simple
- Support des formats webp et avif pour les images automatiques de la syntaxe wiki
- Fichiers
user_style.cssetuser_print.csspour les thèmes Berlin et Ductile2026 - Bouton supplémentaire pour masquer/afficher le menu de l'admin
- Le logo de l'admin est remplacé par un lien de mise à jour si une nouvelle version est disponible
Changements
- Révision des jeux de gabarits mustek et dotty (classes et rôles) : search, topnav, breadcrumb, feeds, poweredby, footnote-ref, simple-menu-navigation, séparateurs de pagination et de fil d'Ariane dans des span, etc…
- Les règles CSS standards (public, print et smilies) sont placées dans un @layer dotclear
- Révision des règles CSS par défaut pour l'alignement des médias
- Le fil d'Ariane n'affiche plus la première page
- Seuls les thèmes présents dans le dossier themes de l'installation sont considérés comme livrés
- L'éditeur de thème passe (presque) de jQuery à du javascript natif, avec coloration des balises de gabarit et thèmes Codemirror clairs/sombres séparés
- Réécriture de Files::deltree() avec RecursiveDirectoryIterator
- Révision des favicons de l'admin (SVG ajoutés, ICO retirés)
- En français, template devient gabarit
- Nombreuses corrections : moteur de gabarits, éditeur de thème, médias, thème Berlin, flux, etc…
Dépréciés
- Pas de nouveaux dépréciés dans cette version
Retirés
- Les thèmes Ductile, Blowup et Blue Silence de la distribution
Tous les détails sont dans le CHANGELOG et le billet d'annonce officiel.
Rappel
Dotclear a toujours besoin de main d'œuvre, dans différents domaines, à différents niveaux.
Donc si vous avez un peu de temps pour tester, je rappelle qu'il y a des versions de développement mises à jour en permanence, il suffit de modifier le fichier config.php de votre installation Dotclear et de passer la directive DC_UPDATE_VERSION de stable à unstable :
// Update channel (stable, unstable, testing)
define('DC_UPDATE_VERSION', 'unstable');
Il existe également des images Docker prêtes à l'emploi. On peut aussi rappeler que le plugin DotclearWatch permet à l'équipe de suivre l'utilisation de Dotclear.
Enfin un coup de pouce financier est toujours le bienvenu pour maintenir les hébergements et noms de domaines officiels Dotclear.
Aidez nous à vous aider !
Merci.