Dotclear

2019 janv. 15

Serveur DotAddict opérationnel

Un grand merci collectif à Noé (aka Lomalarch) qui a configuré et restauré sur un nouveau serveur ce qui restait de l'ancien qui nous a lâchement abandonné à la veille du nouvel an !

Vous pouvez donc profiter comme il vous plait des thèmes et plugins, astuces, et autres geekeries \o/

2018 déc. 26

Serveur DotAddict en panne

Bonjour,

Le serveur DotAddict, qui gère les plugins et thèmes des contributeurs, plus quelques autres ressources, a décidé de mourir sans prévenir pendant les agapes de Noël !

On va remettre de l'ordre dans tout ça, aussi vite que possible, mais ça risque de prendre du temps, voire même un temps certain.

Merci pour votre patience…

PS : La non réponse de ce serveur peut ralentir votre tableau de bord, si vous avez l'icône « Gestion des plugins » et/ou « Apparence du blog » dans vos favoris. Si vous trouvez ça trop gênant, vous pouvez les retirer le temps que ça revienne en ligne (voir « Mes préférences », onglet « Mon tableau de bord »).

2018 sept. 26

Dotclear 2.14.3

Une petite mise à jour qui devrait régler le problème de configuration rencontré entre autres chez 1&1 avec une valeur de memory_limit (dans le PHP.ini) initialisée à -1 (illimitée).

2018 sept. 4

Dotclear 2.14.2

Une petite mise à jour qui règle quelques problèmes avec :

  • La sécurité (deux failles mineures)
  • L'utilisation de la coloration syntaxique dans l'éditeur de thème
  • La gestion de certaines balises template (entre autres celles utilisées pour l'entête des pages)

Note : Certains bloqueurs de pub de votre navigateur peuvent empêcher le bon fonctionnement de l'administration, en particulier le ou les éditeurs. Pensez dans ce cas à utiliser la liste blanche de l'extension en question.

2018 août 17

Dotclear 2.14.1

Une petite mise à jour qui règle quelques problèmes avec :

  • Le script d'installation
  • La taille de police par défaut dans les préférences utilisateur
  • La compression des scripts Javascript

2018 août 14

Dotclear 2.14 et version de PHP

On m'a rapporté à plusieurs reprises des problèmes de connexion avec l'admin sur les hébergements tournant avec une version 5.5 (obsolète) de PHP.

Je vous recommande donc de basculer vers la version 5.6 ou encore mieux vers la version 7.1 ou 7.2

2018 août 13

Dotclear 2.14

Nom de code : Dark Crystal

Crystal parce que noces de, vu que ça fait 15 ans aujourd'hui que Dotclear tourne sur les meilleurs serveurs de blogs de la planète !

Dark parce qu'il y a, depuis cette version, un mode sombre pour l'interface d'administration !

Dark Crystal parce que j'aime bien ce film sorti il y a 35 ans :-)

Sinon, c'est comme d'habitude…

Enjoy!

2018 janv. 27

Dotclear 2.13.1

Une petite mise à jour qui corrige deux bugs agaçants dans l'éditeur de thème (lorsque la coloration syntaxique est activée) et avec l'éditeur traditionnel de Dotclear, en mode XHTML.

2018 janv. 13

Dotclear 2.13

Quelques mots :

  • PHP 5.5+ devient obligatoire comme un nouveau système plus sécurisé a été implémenté pour le stockage des mots de passe dans la base de données, système qui nécessite a minima cette version de PHP
  • Les informations affichées sur le tableau de bord, comme les mises à jour de Dotclear ou les nouvelles, le sont dorénavant de manière asynchrone, donc plus de blocage inhérent à un serveur parfois fantôme !
  • Un nouveau driver pour les bases de données MySQL encodées avec UTF8-mb4
  • Quelques bugs corrigés
  • Quelques améliorations de l'expérience utilisateur côté administration des blogs

Profitez !


Note pour les utilisateurs et administrateurs :

Le nouveau système de chiffrement des mots de passe ne nécessite aucune procédure de migration. Ceci sera fait au fur et à mesure à la première connexion de chacun des utilisateurs.

Notes pour les développeurs :

Le nouveau système des mots de passe implique deux incompatibilités par rapport aux versions précédentes :

  1. La fonction/méthode checkPassword() (/inc/core/class.dc.auth.php) requiert dorénavant un mot de passe non chiffré (habituellement le contenu du champ de formulaire) plutôt que la forme déjà chiffrée.
    Vous devez donc maintenant l'utiliser de cette façon : $core->auth->checkPassword($_POST['your_pwd']) plutôt que celle-ci : $core->auth->checkPassword($core->auth->crypt($_POST['your_pwd'])).

  2. La fonction/méthode crypt() (/inc/core/class.dc.auth.php) ne donne maintenant plus deux fois de suite le même résultat pour le même paramètre. Si vous avez besoin d'un chiffrement à l'ancienne mode vous pouvez utiliser la fonction/méthode cryptLegacy() (même fichier).

Si vous avez besoin d'un UID/clé unique, utilisez http::browserUID(DC_MASTER_KEY.$core->auth->userID().$core->auth->cryptLegacy($core->auth->userID())) (sera peut-être sujet à amélioration dans le futur).

2017 oct. 26

Dotclear sur Github

J'ai trouvé et configuré, il y a quelques jours, un service nommé Git-hg Mirror qui permet de synchroniser un dépôt Bitbucket (mercurial ou hg) avec un dépôt Github (git), dans les deux sens, ou dans un seul des deux sens seulement.

J'ai choisi de conserver Bitbucket comme référence, lui-même étant une copie du dépôt officiel du serveur Dotclear, et d'utiliser Github comme dépôt secondaire pour recueillir d'éventuels tickets et dans le meilleur des cas patchs et pull-requests.

La synchronisation s'effectue toutes les 3 heures et au passage je tiens à remercier le support de Git-hg Mirror qui est super réactif.

J'ai également fait de même avec le dépôt de Clearbricks.

En détail, les dépôts Github sont ici :

Si vous voulez utiliser ces dépôts pour développer et contribuer, clonez d'abord le dépôt dotclear puis, clonez le dépôt clearbricks en sous-module dans le sous-répertoire inc/libs/clearbricks.

Il sera peut-être utile de configurer un .git-ignore local à votre installation pour ignorer le sous-module, en fonction de vos besoins. D'ailleurs si nécessaire on rajoutera ce .git-ignore au dépôt officiel côté mercurial.

Enjoy and contribute!

2017 août 13

Dotclear 2.12.1

Une nouvelle petite mise à jour aujourd'hui qui corrige un bug qui touche ceux qui utilisent un thème basé sur le jeu de template (par défaut) mustek. Elle règle aussi un petit problème avec les titres de certains médias au moment de leur envoi dans la médiathèque.

N'oubliez pas de vider le cache des templates (plugin Entretien) ainsi que le cache de votre navigateur après avoir fait une mise à jour. Dans le cas où vous auriez opté pour une mise à jour manuelle, n'oubliez pas non plus de vous déconnecter et de vous reconnecter, certaines mises à jour (concernant la base de données) se font à ce moment là.

2017 juil. 27

Dotclear 2.12

Mise à jour minimaliste, bien que le CHANGELOG ne soit pas si ridicule que ça, vu qu'il n'y aucune fonctionnalité supplémentaire, simplement des améliorations et des corrections de bug.

Vu l'état des troupes depuis de nombreux mois, voire de nombreuses années, j'ai décidé de réduire la voilure en terme de développement car étant seul pour coder je n'ai pas le courage de me lancer dans des projets conséquents[1] — oui, on a un bus factor de 1 chez Dotclear.

Exit donc l'API REST que j'avais en tête — cela dit un plugin tiers est en cours de développement qui devrait apporter cette fonctionnalité —, exit aussi l'intégration du moteur Twig pour les thèmes, exit aussi pas mal de tickets qui restaient en souffrance faute de bras pour les prendre en charge.

Je vais continuer à maintenir Dotclear, ajouter quelques petites choses qui manquent, comme le support des bases de données MySQL UTF8-MB4, une gestion des mots de passe un peu plus robuste, et ça fera l'objet d'une prochaine 2.13 qui au passage nécessitera PHP 5.5 minimum — il est grand temps de laisser tomber PHP 5.3 vieillissant et plus du tout maintenu.

Note

[1] D'une part c'est pas drôle de coder seul, d'autre part ça manque de revue de code et c'est dangereux.

2016 déc. 29

Dotclear 2.11.2

Une nouvelle petite mise à jour aujourd'hui qui corrige quelques bugs gênants avec PHP 5.3 et PHP 5.4 ; elle règle également le problème de prévisualisation des billets et pages en cours d'édition.

N'oubliez pas de vider le cache des templates (plugin Entretien) ainsi que le cache de votre navigateur après avoir fait une mise à jour. Dans le cas où vous auriez opté pour une mise à jour manuelle, n'oubliez pas non plus de vous déconnecter et de vous reconnecter, certaines mises à jour (concernant la base de données) se font à ce moment là.

2016 déc. 28

Dotclear 2.11.1

Une petite mise à jour qui corrige un problème passé inaperçu lorsqu'on utilise une version de PHP antérieure à 5.5.

Ce problème empêche l'affichage du menu d'administration (colonne de gauche) avec la plupart des plugins, voire empêche leur accès.

Dotclear 2.11

Une nouvelle version qui déroge à nos habitudes, vu qu'elle n'est pas publiée un 13, et en avance par rapport au planning, vu qu'elle était prévue mi-février 2017. Elle déroge aussi avec l'habitude d'avoir un copieux CHANGELOG (liste des modifications/corrections).

En effet, cette version n'apporte rien d'extraordinaire sauf qu'elle facilite à pas mal d'endroits, l'utilisation de Dotclear, et elle corrige quelques bugs parfois gênants au quotidien :

  • Accès plus facile aux réglages des plugins,
  • une personnalisation un peu plus poussée (taille des textes, affichage ou pas d'information complémentaires, …),
  • quelques attributs supplémentaires pour les développeurs/bidouilleurs de thèmes,
  • les webmentions qui viennent s'ajouter aux existants rétroliens (trackbacks) et pingbacks,
  • le thème Berlin s'appuie maintenant sur le jeu de template dotty, qui exploite au mieux HTML5,

L'aspect général de l'administration change également parce qu'avec la 2.11, on utilise dorénavant la police système disponible sur votre machine plutôt que l'Helvetica Neue habituelle. Elle change aussi parce qu'elle met en œuvre une taille de police qui s'adapte, entre deux seuils, à la place disponible sur votre écran. Vous pourrez modifier la taille générale de la police dans vos préférences (3 réglages sont proposés).

À noter qu'on a laissé tomber le support des vieux navigateurs, en particulier toutes les versions d'Internet Explorer à un chiffre, soit jusqu'à la version 9 incluse ; ça permet d'utiliser un peu plus facilement quelques nouveautés de CSS 3, en particulier le système flex pour l'agencement des blocs dans une zone.

Mais je vous laisse découvrir ça chez vous, une fois que vous aurez fait l'attendue mise-à-jour !

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 les administrateurs de blog :

Réglages et paramètres des plugins

La nouvelle version 2.11 introduit un nouveau système qui permet de définir et de trouver les différents endroits où un plugin peut être paramétré.

Définitions

Il faut définir dans le fichier _define.php du plugin une propriété supplémentaire, nommée settings et qui se construit de la façon suivante :

'settings' => array(
    'self'  => '',
    'blog'  => '#params.id',
    'pref'  => '#user-options.id'
)

La ligne avec ‘self’ permet d’indiquer qu’il y a des réglages sur la page principale du plugin (c’est-à-dire pour les développeurs, dans le fichier index.php).

La ligne avec ‘blog’ permet d’indiquer qu’il y a des réglages dans les paramètres du blog, normalement sur l’onglet « Paramètres » (le #params sert à ça) et que le premier élément concernant le plugin a un identifiant égal à id (on peut par exemple positionner cet id sur l’élément de titre, h4 ou h5, qui précède les options du plugin).

La ligne avec ‘pref’ permet d’indiquer qu’il y a des réglages dans les préférences utilisateur, normalement sur l’onglet « Mes options » (le #user-options sert à ça) et que le premier élément concernant le plugin a un identifiant égal à id.

Vous pouvez, et même devez, ne préciser que les lignes qui sont pertinentes.

Il n’est pas obligatoire de préciser l’id, dans ce cas il suffit de préciser simplement l’onglet. Il n’est pas non plus obligatoire de préciser l’onglet, dans ce cas laisser simplement une chaine vide (”).

Les liens seront affichés dans l’ordre où ils sont définis dans la propriété ‘settings’.

Nota : À cette liste de lien sera ajoutée en premier, s’il existe, le lien vers le fichier _config.php du plugin.

Exemples de définitions

Plugin Antispam

'settings' => array(
    'self' => '',
    'blog' => '#params.antispam_params'
)
  • self → accès aux réglages principaux du plugin sur sa propre page (index.php)
  • blog → accès aux réglages secondaires dans les paramètres du blog

Plugin Mot-clés

'settings' => array(
    'pref' => '#user-options.tags_prefs'
)
  • pref → accès au réglage du format de liste des mot-clés dans les préférences utilisateur

Plugin Maintenance

'settings' => array(
    'self' => '#settings'
)
  • self → accès à l’onglet “Réglages” de la propre page du plugin (index.php)

Affichage

L’affichage des URLs de réglage se font à deux endroits :

Sur la page de gestion des plugins, en dépliant les infos supplémentaires (il suffit de cliquer sur le nom du plugin pour les obtenir)

Sur chacune des pages principales des plugins, à condition d’avoir les droits pour y accéder aux différents réglages, sachant que ce qui est définit pour ‘self’ ne sera pas affiché (a priori on y est déjà).


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…

- page 2 de 17 -

Sites map