Open Time - Mot-clé - héritage - Commentaires<p>Open time, open mind, open eyes</p>2024-03-29T07:16:30+01:00Franck Paulurn:md5:61070eb8c883ae7581f861faefddecbfDotclearLisibilité - Marie-Audeurn:md5:e7fb36a4e25bd12623d621af149d54c72021-12-08T19:25:40+01:002021-12-08T19:25:40+01:00Marie-Aude<p>Toutafé :)</p>
Lisibilité - Bernardurn:md5:68ff10bc83c5f2948aa6e04dfc2ba6802021-12-07T19:38:42+01:002021-12-07T19:38:42+01:00Bernard<p>Vais peut-être dire une baitiz, mais <em>(citations)</em></p>
<p>1) <q>La qualité de l’outil, de toute façon, ça dépend de l’utilisateur</q></p>
<p>2) <q>les gens qui l’utilisent sont sympas et intéressants</q></p>
<p>=> Dotclear <em>(l’outil)</em> est sympa et intéressant ;-)))</p>
Lisibilité - Philippeurn:md5:4d3a79affbd6ee952aed1a7127e1e1812021-12-07T17:53:23+01:002021-12-07T17:53:23+01:00Philippe<p><strong>Marie-Aude</strong> : ah oui, les mises à jour de Prestashop, là il y a vraiment de quoi s’affoler pour de vrai :D Sauf peut-être récemment, avec l’adoption croissante de Symfony ?</p>
Lisibilité - Marie-Audeurn:md5:4936c863a4a0dff3cbd1f4c7d6232f962021-12-07T16:05:00+01:002021-12-07T16:05:00+01:00Marie-Aude<p>Et sans troller, oui, le code WP est un peu le foutoir, mais on s’y retrouve. C’est je crois la contrepartie de la compatibilité ascendante qu’ils ont toujours privilégié, et qui fait que les MAJ sont nettement plus simples que sur d’autres CMS (j’ai failli me jeter par la fenêtre avec des Prestashops et des Drupals :D ), il y a aussi beaucoup de gens qui ne le connaissent pas bien et l’utilisent mal. Mais quand on y va sérieusement on peut faire des trucs propres et puissants.</p>
<p>La qualité de l’outil, de toute façon, ça dépend de l’utilisateur ^^</p>
Lisibilité - Marie-Audeurn:md5:ae8865cb1287d3a4361bcd3bac3bccd12021-12-07T16:01:23+01:002021-12-07T16:01:23+01:00Marie-Aude<p>:) ce n’était pas une critique. Si je n’avais pas fait de la création de site avec ecommerce, toussa toussa, j’aurais sans doute utilisé DotClear, mais j’avais la flemme de maîtriser deux outils. J’ai toujours bien aimé DotClear, d’abord parce que les gens qui l’utilisent sont sympas et intéressants. Et je suis impressionnée de la longévité de l’outil.</p>
<p>Sinon, voilà ce à quoi je pensais. C’est un peu différent, mais le même principe de quitter la pure requete sql https://developer.wordpress.org/reference/classes/wp_query/#parameters</p>
Lisibilité - Franckurn:md5:fc1de5911affaf9583c14ccefbefbc872021-12-07T14:14:44+01:002021-12-07T14:14:44+01:00Franck<p>Roh comment tu trolles <strong>Philippe</strong> :-)</p>
Lisibilité - Philippeurn:md5:c73da11effe560201c1e8c149eab93392021-12-07T11:36:17+01:002021-12-07T11:36:17+01:00Philippe<p>Huhu, le foutoir dans le code de WP, ce n’est pas seulement dans les accès à la base ;) Et ça propulse une partie significative du web…</p>
Lisibilité - Franckurn:md5:3533d2d0dbe7da4dd4a05f78b0b304cb2021-12-07T07:44:16+01:002021-12-07T07:44:16+01:00Franck<p>Je suis allé voir le code de Wordpress et je trouve ça un peu le foutoir, où on retrouve à la fois des fonctions d’abstraction pour construire des requêtes et toute la mécanique de connexion et de gestion de la base. Cela dit l’abstraction ne va pas aussi loin, c’est dommage ; par contre ils gèrent les requêtes préparées, peut-être une idée pour plus tard ou alors basculer sur <code>PDO::prepare</code> et consort.</p>
<p>Merci <strong>Nicolas</strong> pour l’info à propos de Doctrine, je vais aller voir ça ; y’a surement de bonnes idées à piquer :-)</p>
Lisibilité - Nicolasurn:md5:794d0206f09f898fe95593ba9e2274df2021-12-07T07:34:48+01:002021-12-07T07:34:48+01:00Nicolas<p>La différence avec wordpress est que dans dotclear il y a une abstraction de base de données. wordpress ne supporte, officiellement, que mysql alors que dotclear supporte postgres, mysql et sqlite.</p>
<p>Ce que tu développes me rappelle très fortement ce qui est fait dans Doctrine : https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/query-builder.html</p>
Lisibilité - JcDenisurn:md5:03d61081db97c093d030a420d753a7d32021-12-07T00:27:55+01:002021-12-07T00:27:55+01:00JcDenis<p>+1 pour les critiques extérieurs, c’est toujours bon d’avoir un point de vue diffèrent. Ca pousse à réflexion et généralement il en ressort toujours quelques choses.</p>
<p>@Franck Oui je m’étais fait les dents du coté de dcCore pour me faire une idée et lire tes classes jusqu’à la fin 😅</p>
Lisibilité - Franckurn:md5:4c174450e8d57163c1743fc2e0bf12362021-12-06T08:28:57+01:002021-12-06T12:13:49+01:00Franck<p><strong>Philippe</strong> je n’avais pas pris ça comme une (mauvaise) critique, t’inquiètes ;-) Et pis je vais continuer à expliquer des trucs, j’aime bien ça :-)</p>
<p><strong>Marie-Aude</strong> tu m’intrigues et je vais aller voir ce qu’est cette <code>$wpdb->query</code> même si j’ai une petite idée ; en même temps y’en a un peu partout des <i lang="en">helpers</i> de ce type, dans Laravel par exemple.</p>
<p>Quant aux jointures, comme celles-ci :</p>
<pre>
<code class="php">$sql
->from($this->prefix . 'post P')
->join(
(new dcJoinStatement($this->core))
->type('INNER')
->from($this->prefix . 'user U')
->on('U.user_id = P.user_id')
->statement()
)
->join(
(new dcJoinStatement($this->core))
->type('LEFT OUTER')
->from($this->prefix . 'category C')
->on('P.cat_id = C.cat_id')
->statement()
);
</code></pre>
<p>Ça peut :-)</p>
<p><i lang="en">By the way</i> <strong>Marie-Aude</strong> on accepte toutes les critiques, même de celles et ceux qui ne connaissent pas Dotclear, bien au contraire d’ailleurs, c’est toujours intéressant ;-)</p>Lisibilité - Marie-Audeurn:md5:cb568c96cde971abd759a27597e422122021-12-06T00:51:59+01:002021-12-06T00:51:59+01:00Marie-Aude<p>Si je voulais troller, je dirais que ça me rappelle furieusement les arguments de $wpdb->query, mais ça serait du troll :) Et comme je commente peu ici, ne connaissant pas DC, je ne le ferai pas en public ^^</p>
<p>Cela dit, plus sérieusement, oui c’est plus clair dans la seconde version</p>
<p>Par contre, est ce que ça permet de gérer les jointures de table ? (et y a t il besoin dans DC ?)</p>
Lisibilité - Philippeurn:md5:bbcff5e1e65abc768f622c5f492b7e882021-12-05T19:43:57+01:002021-12-05T19:43:57+01:00Philippe<p>Ah, mais je ne me permettais pas de critiquer, hein. Je me doute bien que tu as de bonnes raisons pour le faire ! Et je m’y habituerai facilement ; en fait ma réflexion est plutôt : <q>tiens, on peut faire comme ça ? C’est pas con, j’ai pas l’habitude mais ça se tient.</q></p>
<p>Continue à esspliquer, on apprend :D</p>
Lisibilité - Franckurn:md5:45dd9f474ca617d9e9e86baabcfa3e652021-12-05T18:23:20+01:002021-12-05T18:23:20+01:00Franck<p>L’idée générale est de faire disparaître tous les mots-clés SQL des sources, hormis dans des classes utilitaires comme celle que je développe petit à petit <strong>Philippe</strong>.</p>
<p><strong>Bernard</strong> <code>quote()</code> s’occupe d’encadrer avec des quotes et au passage d’échapper s’il c’est demandé, c’est plus simple comme ça.</p>
<p><strong>JcDenis</strong> eh bien j’ai modifié (pas encore poussé) une des fonctions qui en utilise le plus des tordues, je crois, dans <var>class.dc.blog.php</var>, qui s’appelle <code>getPosts()</code> et pour l’instant rien ne m’a posé de problème, ça rend la lecture plus claire, je trouve.</p>
<p>Par contre je suis en train de voir comment on peut s’abstraire des <code>params[]</code> qu’on transporte d’une fonction à l’autre (entre autres entre les <var>class.dc.meta.php</var> et <var>class.dc.blog.php</var>, et là c’est moins simple ; pour l’instant j’en suis à imaginer passer un objet <code>dcSelectStatement</code> en argument pour faire ça, mais la réflexion n’est pas finie à ce sujet. C’est la raison pour laquelle je n’ai pas encore tout poussé…</p>
Lisibilité - Gilsouburn:md5:3a6c877dbf57d9dd4a6fce0d4bf0de172021-12-05T17:00:22+01:002021-12-05T17:00:22+01:00Gilsoub<p>Alors disons qu’au niveau du vécu, cela peut interpeler ;-)</p>
Lisibilité - JcDenisurn:md5:06a6c78ebb626973810b9979b7c439d92021-12-05T15:01:59+01:002021-12-05T15:01:59+01:00JcDenis<p>Je t’ai vu jouer avec ces jours, il faut que je teste sur des requêtes un peu longues ou tordues voir si ça chante autant :)</p>
<p>Autant l’utilisation de ce style de code pour les <em>forms</em> je trouve ça lourd au final, autant ici j’y vois un réel avantage à la relecture.</p>
Lisibilité - Bernardurn:md5:8e599a06db84ffbef52c2d47573c8e0e2021-12-05T14:12:42+01:002021-12-05T14:12:42+01:00Bernard<p>+ 1 sauf que je connaissais pas <code>quote</code></p>
Lisibilité - Philippeurn:md5:694c86579ff1c2de1cd7f8ef09e877992021-12-05T11:11:36+01:002021-12-05T11:11:36+01:00Philippe<p>D’accord avec toi, mais la première forme parle plus si on a l’habitude du langage SQL, comme c’est mon cas (bien que ce soit devenu assez rare que je doive faire des requêtes personnalisées ;))</p>