Dotclear

Vous n'êtes pas identifié(e).

Annonce

13 février 2024 Sortie de Dotclear 2.29

#1 Vie du projet » Les points médians dans Dotclear, parlons-en » 2023-06-11 09:17:11

Ailothaen
Réponses : 5

Bonjour tout le monde,

Je suis un utilisateur de Dotclear depuis plusieurs années, et c'est le moteur de blog/CMS que je préfère, car je considère que c'est un logiciel d'une grande qualité : interface d'administration bien pensée, documentation complète (autant pour le côté administrateur que développeur), et code source bien structuré et organisé (loin devant Wordpress par exemple, où faire un thème s'avère parfois compliqué au vu des conventions de nommage disons... discutables). Plusieurs sites et blogs que j'ai réalisés et/ou que je maintiens tournent sous Dotclear, et je trouve dommage que ce moteur de blog ne soit pas plus répandu.

En 2018 (je ne me rappelle plus de la version...), les points médians ont fait leur apparition dans la version française de Dotclear, dans le contexte de l'utilisation d'une écriture inclusive. (Je tiens à préciser que je parle bien ici de points médians et pas d'écriture inclusive en général : les points médians ne sont qu'une façon parmi d'autres de faire de l'écriture inclusive, ce détail étant souvent ignoré dans les débats autour de l'écriture inclusive dans le grand public).

Cependant, je n'ai jamais vraiment apprécié l'utilisation des points médians dans Dotclear, et cela pour plusieurs raisons :

• La première raison – la plus évidente – est que cela nuit beaucoup au confort de lecture. Bien qu'on puisse plus ou moins s'y faire, il est toujours plus fatiguant à la longue de constamment décrypter « utilisateur·rice·s » que « utilisateurs » ou « utilisateurs et utilisatrices ».
• L'écriture inclusive à points médians n'est pas du français standard, son utilisation reste donc non consensuelle et sujette à grande controverse. Là où je veux en venir avec ça, c'est que j'ai parfois eu l'occasion d'utiliser Dotclear dans le cadre de projets professionnels (mise en place d'un blog pour une PME ou un artisan, par exemple), et l'utilisation des points médians partout dans l'interface d'administration est un frein considérable à l'adoption de Dotclear dans le monde professionel. (On pourrait penser « mais ils n'ont qu'à utiliser Wordpress alors ! », mais comme dit plus haut, je considère Dotclear comme étant de meilleure qualité que Wordpress, et ça serait donc dommage de faire un pas en arrière)
• Corollaire du point précédent : l'utilisation des points médians est un moyen d'expression militantiste, voire politique. Que ce soit bien clair, je ne dis pas que Dotclear ne devrait pas exposer d'idées militantistes ou politiques, mais il faut cependant être conscient que cela a tendance à cantonner Dotclear à cette sphère, et à être un repoussoir aux personnes qui sont contre les points médians. D'autant plus qu'au vu de l'article ci-dessus et des discussions que j'ai pu trouver ailleurs, les points médians semblent avoir été adoptés de manière unilatérale.

On pourrait me dire que, si je ne veux pas voir de points médians, je n'ai qu'à éditer les fichiers de langue pour les enlever. Certes, cela fonctionne, mais le problème est qu'à la prochaine mise à jour de Dotclear, les fichiers seront écrasés et mes modifications seront donc perdues. C'est donc un processus fastidieux, qui ne peut pas profiter des processus du Git (transformation automatique des .po en .php, notamment), et qui ne peut pas servir à d'autres, mes modifications étant faites uniquement en local.

Alors, qu'est-ce que je suggère ? Sans aller jusqu'à demander le retrait des points médians (qui, je le rappelle, ne sont qu'une forme d'écriture inclusive, et pas la forme d'écriture inclusive), je pense qu'un juste milieu serait de proposer une traduction française alternative, où les points médians ne seraient pas utilisés. Je ne pense pas que cela nécessite beaucoup d'effort : il suffirait de dupliquer les fichiers de langue actuels, d'éditer les chaînes de caractères qui le nécessitent (cela m'a pris une trentaine de minutes de mon côté), et de copier-coller les chaînes de caractères – avec éventuellement une adaptation – lorsqu'on en rajoute dans la version française « principale ».

Bon dimanche à tous (et à toutes !)

#2 Re : [dc2] Installation et hébergement » Encodage de la base de données pour "UTF-8 complet" » 2021-11-06 17:29:14

J'ai testé le correctif de mon côté et ça fonctionne. Merci beaucoup pour la réactivité !

#3 Re : [dc2] Installation et hébergement » Encodage de la base de données pour "UTF-8 complet" » 2021-11-06 14:30:32

J'ai fait une plongée dans les fichiers de Dotclear (qui m'a mené jusqu'à /inc/libs/clearbricks/dblayer/class.mysqlimb4.php et j'ai finalement trouvé d'où vient l'erreur (qui du coup est un bug).

Le problème vient de cette fonction :

private function db_post_connect($link, $database)
{
	if (version_compare($this->db_version($link), '5.7.7', '>=')) {
		// des trucs
	} else {
		throw new Exception('Unable to connect to an utf8mb4 database');
	}
}

Il se trouve que, sur Debian 10 et 11 (j'ai pas regardé plus vieux, mais ça doit sûrement être le cas aussi) et avec MariaDB (qui remplace maintenant mysql-server sous Debian), ce qui est typiquement retourné par mysqli_get_server_info() est "5.5.5-10.5.12-MariaDB-0+deb11u1-log"

Du coup c'est quasiment sûr que la fonction de comparaison croit que la version de MariaDB est 5.5.5 (au lieu de 10.5.12), ce qui ne permet pas de valider le test de version.
Quelqu'un en bas de cette page https://www.php.net/manual/fr/mysqli.ge … r-info.php conseille d'utiliser plutôt SELECT version() pour empêcher ce problème. J'ai pu le tester de mon côté, ça marche bien :

MariaDB [(none)]> select version();
+-------------------------------+
| version()                     |
+-------------------------------+
| 10.5.12-MariaDB-0+deb11u1-log |
+-------------------------------+
1 row in set (0.000 sec)

Deux remarques supplémentaires là-dessus :
- Le message d'erreur de Dotclear était tout sauf clair, alors qu'à ce moment-là du code, un échec ne pouvait venir que d'une mauvaise version du serveur de BDD...
- Le même problème est présent dans le code source du driver mysqli classique (mais là c'est 4.1 au lieu de 5.7.7, donc le bug était passé inaperçu jusqu'à présent)

#4 Re : [dc2] Installation et hébergement » Encodage de la base de données pour "UTF-8 complet" » 2021-11-04 18:17:17

Salut Franck,

Je ne suis pas sûr de comprendre : le fait que je n'arrive pas à faire une nouvelle installation de Dotclear avec une base en utf8mb4 et le driver utf8mb4 est juste dû à ce problème avec le serveur DotAddict ?
Cela m'étonne car, comme je l'ai dit dans mon premier post, c'est un problème que je rencontrais déjà depuis longtemps, par exemple sur mon ancienne installation en 2.14.

Également, comme le blog n'est pas installé à ce moment-là, je n'ai pas de tables à modifier, puisque la structure de la base n'est pas créée (ce qui est logique vu... que l'installeur n'arrive pas à se connecter à la base)

Tu es sûr de ne pas t'être trompé de post ?
Je vais tout de même attendre la v2.20 (qui devrait arriver prochainement d'après ce que j'ai lu)

#5 Re : [dc2] Installation et hébergement » Encodage de la base de données pour "UTF-8 complet" » 2021-11-01 17:15:20

Salut Franck,

C'est justement ce que je fais dans l'assistant d'installation : je sélectionne mysqlimb4 au lieu de mysqli dans le menu déroulant, ce qui m'empêche d'aller plus loin à cause du message d'erreur (alors que la base de données est bien en utf8mb4_quelquechose).

Je viens d'essayer la même chose avec le fichier de configuration : lorsque j'inscris mysqlimb4 comme driver et que je remplis tout le reste, quand je recharge l'installeur, la page d'erreur s'affiche : "Site temporairement indisponible /Veuillez nous excuser pour cette indisponibilité momentanée. Merci de votre compréhension.". Cependant, ce qui est étrange, c'est que si j'écris "mysqli", la suite de l'installeur se charge correctement.

Je remarque d'ailleurs que la BDD où mon blog est actuellement installé est en "utf8mb4_unicode_ci", alors que config.php indique "mysqli"...
(Si j'essaye de mettre un emoji dans le texte d'un article, un message d'erreur "Incorrect string value" s'affiche à l'enregistrement, ce qui me fait voir que le support du "vrai" UTF-8 n'est pas là)

Peut-être je n'ai pas installé une dépendance (en plus de php-mysql) ? Serait-il possible de voir ce qui cause l'erreur derrière une page d'erreur "Site temporairement indisponible" ?

#6 [dc2] Installation et hébergement » Encodage de la base de données pour "UTF-8 complet" » 2021-11-01 14:16:12

Ailothaen
Réponses : 11

Bonjour à tous,

J'essaie actuellement d'installer la dernière version de Dotclear sur mon serveur (mais je précise que le problème que je rencontre ici était connu de ma part depuis un bon moment).

J'aimerais sélectionner l'option "MySQLi (UTF-8 complet)" pour assurer le support de tous les caractères Unicode.
Cependant, je ne suis jamais arrivé à utiliser cette option, car l'installeur me redonne toujours cette erreur : "Unable to connect to an utf8mb4 database". À chaque fois j'ai donc sélectionné, à défaut, l'option "MySQLi".

Pourtant, ma base de données a bien l'encodage "utf8mb4_unicode_ci" (comme j'avais pu retrouver dans cette documentation : https://fr.dotclear.org/documentation/2 … al-install ). J'ai également essayé avec "utf8mb4_bin" et "utf8mb4_general_ci", sans succès.

Est-ce qu'il y a donc quelque chose à faire en plus pour que cela fonctionne bien ?

Ma machine est une Debian 11 avec PHP 7.4 et la version standard de MariaDB fournie avec Debian11, mais je reprécise que j'avais déjà eu systématiquement le même problème sur d'anciennes versions.

Merci d'avance :)

#7 Re : [dc2] Questions et aide » partir de zero pour un theme oui mais... » 2018-10-11 17:29:41

J'ai vidé le cache et ça fonctionne maintenant. Merci beaucoup !

#8 Re : [dc2] Questions et aide » partir de zero pour un theme oui mais... » 2018-10-10 19:19:27

Que veux-tu dire par cache ?

Au passage, je viens d'essayer de désactiver le thème, d'en activer un autre puis de le réactiver, cela ne change rien...

#9 Re : [dc2] Questions et aide » partir de zero pour un theme oui mais... » 2018-10-09 19:16:03

Merci de la réponse rapide ;)

Je vois bien le thème dans l'interface d'administration et peux bien le choisir, en revanche "j'obtiens" déjà un template prédéfini quand je charge la page.

Voici le contenu de _define.php :

<?php
$this->registerModule(
        /* Name */                      "test",
        /* Description*/               "Essais",
        /* Author */                    "Ailothaen",
        /* Version */                   '1.0'
);

?>

Et le contenu de __layout.html, à tout hasard :

<!DOCTYPE html>
<html lang="{{tpl:BlogLanguage}}">


<head>

<meta charset="utf-8" />
<title>{{tpl:lang page}}</title>

</head>


<body>
<p>Hello world!</p>
</body>


</html>

(J'ai pensé pendant quelques temps que c'était un problème de permissions, mais cela a l'air bon de ce côté-là)

#10 Re : [dc2] Questions et aide » partir de zero pour un theme oui mais... » 2018-10-09 15:04:21

Salut,

Je remonte ce topic, car j'aimerais bien passer sur Dotclear et j'essaye de migrer un thème utilisant un autre moteur de template vers le format de Dotclear.
Étant donné que j'ai déjà une structure clairement établie, j'aimerais pouvoir refaire mon thème personnel en partant réellement de zéro (c'est-à-dire sans hériter des templates par défaut ou des aorakit).

J'ai essayé de créer un répertoire avec un define.php dedans, et un fichier tpl/__layout.html où il y a juste (pour l'instant) un <head> sommaire avec balise {{tpl:lang page}} dans le <title> pour pouvoir tester si ça marche. Mais cela n'a pas l'air de marcher, car avec cela, j'ai tout de même un template sans CSS affichant les billets (alors que je serais normalement censé avoir une page blanche)

Si quelqu'un pourrait m'aider ou aurait des infos sur cela ça serait sympa ;)

Merci d'avance.

Vous n'êtes pas identifié(e).

Pied de page des forums

Propulsé par FluxBB

Sites map