Dotclear

2016 août 13

Dotclear 2.10

Il ne fallait pas manquer l'occasion de sortir une version pour le 13e anniversaire de Dotclear et donc voilà, la 2.10 est disponible dès maintenant et très rapidement sur votre tableau de bord[1] !

Au menu (liste non exhaustive, voyez le CHANGELOG pour plus de détails) :

  • Quelques vulnérabilités corrigées
  • Pas mal de bugs éradiqués
  • Un nouveau jeu de template nommé dotty utilisant autant que faire se peut les nouvelles balises sémantiques HTML5
  • De nouvelles options pour personnaliser et utiliser un peu plus facilement votre administration (dossiers favoris pour la médiathèque, colonnes optionnelles pour les listes de pages et de billets, …)
  • La mise en place des Content-Security-Policies pour l'administration, prélude à une implémentation côté blogs pour la future version 2.11[2]
  • De nouvelles facilités et possibilités pour les développeurs de plugins (elles sont détaillées ci-dessous)
  • Des mises à jour des librairies Javascript utilisées (CKEditor, Codemirror, …)

Pas de révolution donc, mais des évolutions pour une application plus sécurisée et plus robuste ; pour finir, joyeux anniversaire Dotclear \o/

PS : Cette version nécessite PHP 5.3 a minima, mais je ne saurais trop vous conseiller de passer à PHP 5.6 voire PHP 7 sans attendre — cette dernière offre un gain de vitesse très appréciable. Il est très possible que la version suivante de Dotclear nécessite une version plus récente que la déjà obsolète 5.3.


Quelques détails techniques pour les développeurs de plugins (et de thèmes) et les administrateurs de blog :

CSP, aka Content-Security-Policies

Content Security Policy (abrégé CSP) est un mécanisme de sécurité permettant de restreindre l'origine du contenu (tel qu'un script Javascript, une feuille de style etc.) dans une page web à certains sites autorisés. Cela permet de mieux se prémunir d'une éventuelle faille XSS.

[ Wikipedia « Content Security Policy » ]

Les paramètres utilisés (activation et directives) sont accessibles via le module about:config du menu Réglages système. Voir la partie « system », les paramètres concernés étant les suivants :

  • csp_admin_on : activation/désactivation
  • csp_admin_default : directive CSP default-src
  • csp_admin_img : directive CSP img-src
  • csp_admin_script : directive CSP script-src
  • csp_admin_style : directive CSP style-src

Un plugin tiers devant utiliser les services d'un serveur externe peut compléter tout ou partie de ces directives à l'aide du behavior adminPageHTTPHeaderCSP qui fournit en argument un tableau à clé, Chacune des clés correspond à une des directives CSP, sa valeur fournissant la liste des éléments (séparés par des espaces) de la directive.

Exemple :

Si un plugin utilise côté administration l'API Google Maps (pour les scripts), il peut ajouter le serveur correspondant de cette façon :

$core->addBehavior('adminPageHTTPHeaderCSP',array('myAdminBehaviors','adminPageHTTPHeaderCSP'));

class myAdminBehaviors
{
	public static function adminPageHTMLHead($csp)
	{
		if (isset($csp['script-src'])) {
			$csp['script-src'] .= ' maps.googleapis.com';
		} else {
			$csp['script-src'] = 'maps.googleapis.com';
		}
	}
}

Répertoire privé /var

Un nouveau répertoire, nommé var fait son apparition avec la 2.10. Il est situé à la racine et devrait être utilisé pour le stockage d'éléments n'ayant rien à faire dans la médiathèque ou dans le répertoire de cache (qui peut être supprimé à n'importe quel moment sans remettre en question le fonctionnement de Dotclear).

Une constante, DC_VAR, est disponible automatiquement et peut être personnalisée dans le fichier config.php pour construire des chemins d'accès. Deux fonctions sont également disponibles pour récupérer des URLs :

  • dcPage::getVF() pour une URL basée sur l'URL d'administration du blog
  • dcBlog::getVF() pour une URL publique basée sur l'URL du blog

Les développeurs de plugin sont fortement encouragés à créer leur propre répertoire au sein de ce répertoire /var afin de conserver un semblant d'ordre.

Coloration syntaxique via Codemirror

La librairie Codemirror utilisée par l'éditeur de thème est désormais utilisable (côté administration) par n'importe quel plugin. Deux fonctions sont disponibles pour le chargement de la librairie et pour son exécution :

  • dcPage::jsLoadCodeMirror() pour le chargement
  • dcPage::jsRunCodeMirror() pour l'exécution

Exemple pour du code CSS :

# Get interface setting
$core->auth->user_prefs->addWorkspace('interface');
$user_ui_colorsyntax = $core->auth->user_prefs->interface->colorsyntax;
$user_ui_colorsyntax_theme = $core->auth->user_prefs->interface->colorsyntax_theme;

# in <head>
if ($user_ui_colorsyntax) {
	echo dcPage::jsLoadCodeMirror($user_ui_colorsyntax_theme,false,array('css'));
}

# in <body>
if ($user_ui_colorsyntax) {
	echo dcPage::jsRunCodeMirror('editor_css','css_content','css',$user_ui_colorsyntax_theme);
}

L'activation de la coloration syntaxique et le choix du thème à utiliser (parmi les quarante et plus proposés) se font dans « Mes préférences », onglet « Mes options ».


Si vous avez besoin de plus d'information sur ces développements techniques, utilisez le forum et/ou la mailing-list de développement, voire même le canal IRC #dotclear (irc.freenode.net) où certains d'entre nous traînent parfois…

Notes

[1] Un patch est également disponible pour ceux qui préfèrent cette méthode pour appliquer la mise à jour.

[2] La mise en place des CSP est consécutive à une conférence de Nicolas Hoffmann à ce sujet, à Paris-Web en 2015, à laquelle j'ai assisté.

2016 mar. 27

Dotclear 2.9.1

Une version de maintenance qui corrige quelques défauts de la 2.9 précédente. Je rappelle que Dotclear est compatible avec PHP 7 et que les performances en sont considérablement améliorées[1].

La proposition de mise à jour de votre installation devrait apparaître sur votre tableau de bord aujourd'hui ou demain (selon les réglages de votre hébergement) et un patch est disponible pour les développeurs préférant appliquer cette méthode.

Note

[1] Si vous utilisez MySQL pour votre base de données, veillez à utiliser mysqli au lieu de mysql qui n'est plus supporté par PHP 7 (voir dans votre fichier inc/config.php).

2016 fév. 29

Dotclear 2.9

Mes agneaux, c'est l'heure de mettre à jour, la nouvelle version 2.9 vous tend les bras !

Fédor Balanovitch (en sortant du bus, ou presque) — Zazie dans le métro, R. Queneau

Au menu de cette version essentiellement de quoi faciliter un peu la vie de ceux qui passent du temps du côté de l'administration de leur(s) blog(s). Une recherche et les derniers dossiers visités pour le gestionnaire de médias, des menus mieux triés et des listes un peu plus filtrables, quelques mises à jour bienvenues pour les librairies javascript utilisées[1].

Et puis on a aussi fait le nécessaire pour que Dotclear tourne correctement avec la nouvelle version 7 de PHP, version assez impressionnante en termes de gain de vitesse, et vous noterez au passage que la version minimum requise de PHP est la 5.3, comme on l'avait annoncé au moment de la sortie de la version 2.8[2].

Pas mal de bugs ont été éradiqués, quelques possibilités nouvelles ont été implémentées pour les développeurs de plugins et les concepteurs de thème, et pour finir une application plus robuste pour tout le monde.

La future version 2.10 sera essentiellement axée sur deux aspects. Premièrement une « remise à plat » des scripts javascript utilisés côté administration, parce qu'à force on finit par avoir quelques vieilleries dans notre « collection », et, deuxièmement, une migration « douce » vers plus de HTML5/CSS3 côté templates et thèmes. Cela dit nous comptons sur vous pour nous dire si vous préféreriez autre chose pour la suite, rien n'est gravé dans le marbre !

La proposition de mise à jour de votre installation devrait apparaître sur votre tableau de bord aujourd'hui ou demain (selon les réglages de votre hébergement) et un patch est disponible pour les développeurs préférant appliquer cette méthode.

Notes

[1] D'ailleurs la version 2.2.0 de jQuery est dorénavant disponible côté public de vos blogs, si nécessaire.

[2] Il n'y a d'ailleurs plus guère d'hébergeurs utilisant encore une version antérieure ; même les Pages Perso chez Free sont dorénavant motorisées avec une version 5.6.

2015 oct. 25

Dotclear 2.8.2

Une nouvelle version de maintenance qui règle une potentielle faille de sécurité du côté de la liste des commentaires, et qui renforce le contrôle des extensions de média pouvant être envoyés à la médiathèque[1], vulnérabilités signalées par Tim Coen (Curesec GmbH) que nous remercions pour le signalement, ainsi que deux autres défauts.

La proposition de mise à jour de votre installation devrait apparaître sur votre tableau de bord aujourd'hui ou demain (selon les réglages de votre hébergement) et un patch est disponible pour les développeurs préférant appliquer cette méthode.

Note

[1] Vous pouvez également créer un fichier .htaccess à la racine de votre dossier public et y insérer une directive php_flag engine Off pour empêcher toute exécution de code PHP depuis votre médiathèque.

2015 sept. 23

Dotclear 2.8.1

Une nouvelle version de maintenance qui règle une potentielle faille de sécurité du côté des listes des billets et des pages, faille signalée par Yuji Tounai of NTT Com Security (Japan) KK (via Keiko Yashiki du JPCERT/CC) que nous remercions pour le signalement, ainsi que deux autres défauts moins critiques.

La proposition de mise à jour de votre installation devrait apparaître sur votre tableau de bord aujourd'hui ou demain (selon les réglages de votre hébergement) et un patch est disponible pour les développeurs préférant appliquer cette méthode.

2015 août 14

Dotclear 2.8 : CKEditor en panne ?

Quelques uns d'entres vous nous ont rapporté des soucis avec l'usage de CKEditor depuis la mise à jour en 2.8 de Dotclear.

Après vérification il s'agit, dans la majorité des cas (a priori tous), d'un souci avec le réglage d'une constante dans le fichier inc/config.php de vos installations.

Dans ce fichier, une ligne indique l'URL de l'administration :

// Admin URL. You need to set it for some features.
define('DC_ADMIN_URL','http://exemple.com/dotclear/admin/');

Vérifiez qu'elle est correctement positionnée.

2015 août 13

Dotclear 2.8

Quelques mois après la version 2.7.5 voilà aujourd'hui, pour le 12e anniversaire de Dotclear, la version 2.8 qui pointe le bout de son nez sous les traits de Dotty[1], notre nouvelle mascotte[2] :

Dotty the new Dotclear mascot

Dotty

Cette nouvelle version introduit un nouveau mécanisme qui permet de gérer des dépendances entres modules (plugins pour l'instant et bientôt pour les thèmes), intègre le plugin Breadcrumb (fil d'Ariane que certains d'entre-vous utilisent peut-être déjà), met à jour l'éditeur CKEditor et la librairie jQuery, corrige pas mal de bugs et de petits problèmes cosmétiques.

Le système d'extension/héritage des templates a été appliqué au jeu de template mustek, afin de simplifier le développement les thèmes qui s'appuient dessus, quelques critères de tri et de filtre ont été ajoutés pour l'affichage des billets et des commentaires (et spams) côté administration, les mots-clés et widgets sont dorénavant triés selon un ordre lexical pour les langues utilisant un alphabet latin, entre autre choses sur lesquelles nous reviendrons de temps en temps par ici.

Important : Si vous avez installé le plugin breadcrumb (intitulé « Fil d'Ariane »), désinstallez-le avant de faire cette mise à jour.

Autre chose : nous allons abandonner le support de la version 5.2 de PHP et imposer a minima la version 5.3 (qui rappellons-le est déjà obsolète). Sachez que Dotclear a été testé jusqu'à la version 5.6 de PHP.

La proposition de mise à jour de votre installation devrait apparaître sur votre tableau de bord aujourd'hui ou demain (selon les réglages de votre hébergement) et un patch est disponible pour les développeurs préférant appliquer cette méthode.

Notes

[1] Nous devons ce joli nom à Noé (aka Lomalarch) et quand nous avons découvert ce que ça voulait dire en anglais (toqué), nous avons trouvé ça très approprié, vu qu'on l'est tous à des degrés divers chez Dotclear !

[2] Nous devons cette magnifique illustration à notre ami et artiste Alain Korkos que peut-être connaissez-vous déjà.

2015 mai 20

Contribuer à Dotclear : yes you can !

Quand j'ai découvert l'univers libriste, au tournant du siècle et du millénaire à la fois, il s'agissait encore d'un sujet pour techniciens. Un peu compliqué pour la commune des mortelles que je suis.

Par ailleurs, il y avait un point sur lequel je me sentais un peu mal à l'aise : prendre, c'est bien, donner en retour, c'est mieux. Et moi, qu'est-ce que je peux donner, dans tout ça ?

Pas grand chose (ou du moins c'est ce qu'il me semblait, à l'époque).

Puis j'ai rencontré Dotclear, il y a 11 ans.

L'effet "y a toute la bande qui s'installe et j'ai envie de faire partie de tout ça, même d'un peu loin" m'a entraînée dans cette histoire.

Le fait de contribuer à faire connaître et adopter Dotclear, ne serait-ce qu'en clamant fièrement ce qui soutenait mes écrits, était une façon de contribuer à ma petite mesure, même si pour le code, y a toujours pas moyen.

Et puis j'en ai trouvé d'autres : en plus d'être un formidable logiciel que j'aime et que je chéris, Dotclear, c'est aussi une association.

Si vous appréciez votre logiciel de publication, et que vous aussi vous vous demandez ce que vous pouvez faire pour lui, vous avez la possibilité de contribuer à son développement en devenant membre, ou, tout simplement, en faisant un don.

N'hésitez pas !

(Il est toutefois à noter que ce genre de pratique conduit régulièrement à manger de délicieuses crêpes ou à pique-niquer avec des gens sympas, l'honnêteté éditoriale nous oblige à le préciser).

2015 mar. 25

Dotclear 2.7.5

Une nouvelle version de maintenance qui règle deux potentielles failles de sécurité du côté de l'édition des billets et des pages, failles signalées ce matin par the SecPod Research Team Member Shakeel que nous remercions pour le signalement, ainsi que trois autres défauts moins critiques.

La proposition de mise à jour de votre installation devrait apparaître sur votre tableau de bord aujourd'hui ou demain (selon les réglages de votre hébergement) et un patch est disponible pour les développeurs préférant appliquer cette méthode.

2015 fév. 13

Dotclear 2.7.4

Petite version de maintenance, qui a pour petit nom « The Cat », et qui apporte son (petit) lot de corrections et d'améliorations ce vendredi 13 !

La proposition de mise à jour de votre installation devrait apparaître sur votre tableau de bord aujourd'hui ou demain (selon les réglages de votre hébergement) et un patch est disponible pour les développeurs préférant appliquer cette méthode.

2015 janv. 13

Dotclear 2.7.3

Petite version de correction, qui a pour petit nom « Le Grand Duduche » et qui restaure la possibilité d'utiliser un éditeur pour la description des catégories, rétablit le fonctionnement correct des popups d'insertion de média, corrige la pagination dans certains cas particuliers, règle quelques messages intempestifs, etc.

La proposition de mise à jour de votre installation devrait apparaître sur votre tableau de bord aujourd'hui ou demain (selon les réglages de votre hébergement) et un patch est disponible pour les développeurs préférant appliquer cette méthode.

2015 janv. 3

CKEditor compagnons

Depuis la version 2.7, il est possible d'utiliser CKEditor comme éditeur WYSIWYG. Ce nouvel éditeur offre les mêmes fonctionnalités que l'éditeur précédent et en propose de nouvelles avec notamment l'ajout de tableaux, la possibilité de mettre des couleurs ou le copier/coller depuis word, etc.

CKEditor est conçu de telle manière qu'il est possible de l'enrichir à l'aide d'extension (il en existe déjà de nombreuses : http://ckeditor.com/addons/plugins/all). Il est également possible d'en écrire de nouvelles. Voyons comment…

Lire la suite...

2014 déc. 25

Dotclear 2.7.2

Une version de correction pour régler un bug qui empêchait les utilisateurs non administrateurs d'utiliser l'éditeur Wiki de Dotclear.

La proposition de mise à jour de votre installation devrait apparaître sur votre tableau de bord aujourd'hui ou demain (selon les réglages de votre hébergement) et un patch est disponible pour les développeurs préférant appliquer cette méthode.

Dotclear 2.7.1

Une version de maintenance qui corrige quelques bugs signalés depuis la sortie de la 2.7 il y a quelques jours et apporte quelques retouches cosmétiques du côté du nouveau thème Berlin et du jeu de template Currywurst.

La proposition de mise à jour de votre installation devrait apparaître sur votre tableau de bord aujourd'hui ou demain (selon les réglages de votre hébergement) et un patch est disponible pour les développeurs préférant appliquer cette méthode.

Le seul regret que nous avons, et que j'espère temporaire, est que nos utilisateurs chez Free sont contraints de continuer avec la version 2.5.3 seulement, compte tenu de la version trop ancienne de PHP en service là-bas.

2014 déc. 13

Dotclear 2.7

TL;DR : Un nouvel éditeur WYSIWYG et du HTML5 côté jardin et côté cour. Mettez à jour et dégustez :-)

Lire la suite...

- page 4 de 18 -

Sites map