Archives de
Tag: PHP

Opération : Blog censuré

Opération : Blog censuré

Depuis son lancement en 2006, j’ai gardé comme approche que ce blog serait un archive, une trace du passé en évitant au mieux d’avoir un regard critique sur son contenu. En effet, durant ces premières années, ce que j’y mettais était d’un intérêt aujourd’hui probablement peu intéressant. Un billet pour parler d’un ami, de travaux, d’une nouvelle décoration dans ma maison… C’était le concept des Blogs avant l’arrivée des réseaux sociaux. N’importe qui pouvait alors partager n’importe quoi en associant une image avec du texte… Vive le Web 2.0 !

Skyblog - Cyborgjeff - 2006
Tout a commencé sur Skyblog en juillet 2006 !

Aujourd’hui, 18 années plus tard, le Blogs sont devenus désuets, j’en conviens… et je me suis retrouvé il y a quelques mois face à une situation bien désagréable liée à une photo controversée d’un village italien, conservée dans un de mes roadbook préparatoire, pour laquelle une société belge adepte du Copyright Trolling me réclame d’important montant.

Si mon approche a toujours été de partager avec vous,… même si je vous compte sur les doigts de ma main, mais aussi participer à la conservation d’une époque, il m’a fallut revoir le « comment », réfléchir au « pourquoi ». Il était claire que je ne voulais pas juste pousser sur le bouton auto-destruction. Rendre l’ensemble du blog inaccessible pouvait être une sécurité, mais restait une injustice.

J’ai donc longuement réfléchi, expérimenté et repensé tout ceci, m’obligeant néanmoins à cadenasser, censurer certains contenus afin d’éviter tout risque face à des entreprises qui cherchent à tirer profit du « flou » autour du droit d’auteur et qui seront aidées de jours en jours par des outils d’Intelligence Artificielle plus redoutables, et surtout ne prenant aucune considération quant à l’approche ouverte, équitable et non-lucrative d’un Blog Personnel.

Bref, je ne m’arrêterais pas aujourd’hui sur la problématique « légale » de la chose, je poursuis d’approfondir le sujet, mais bien sur ce que j’ai mis en place techniquement pour détruire le moins de contenus possibles tout limitant l’accès à certains contenus à titre privé.

Je garde donc ici, en mémo, tout ce qui a été mis en place depuis 3 mois, autre que le passage en revue de plus de 2.000 articles et 16.000 images afin de les supprimer ou de les mettre en mode privé. Cette seconde option, certes moins radicales conservant l’existence même des fichiers images accessibles par des bots ou moteurs de recherche. Ce qui ne m’était pas suffisant pour dormir tranquille !

Lire la suite Lire la suite

ChatGPT pour adapter un plugin WordPress

ChatGPT pour adapter un plugin WordPress

Waouw, je suis impressionné ! J’avais déjà lu qu’il était assez facile de pouvoir s’aider de ChatGPT pour créer du code informatique, en autre dans WordPress. Même si j’utilise le CMS depuis plus de 10 ans et bien que j’ai déjà eu régulièrement à mettre les mains dans le cambouis. Je n’ai pas suivi l’évolution des commandes et fonctions et je serais bien incapable de créer un plugin par moi même.

Depuis de longues semaines, je traque tout ce qui pourrait ralentir mon blog, blog qui par ailleurs souffre également des récentes nouvelles pénalisations mise en place par Google… Et oui, il devient difficile de rester « visible » !!

J’avais donc repéré que mon plugin « Related Posts » qui a presque 10 ans était loin d’être optimisé, que ce soit du coté code que du côté visuel. Récemment, j’ai vu qu’il affichait en réalité beaucoup de contenus hors de la base de données, plus de 50 éléments pour en afficher 6. Je me suis donc relancer à lui trouver un remplaçant, et « Related Post« , sans le « s » s’est donc montré capable de proposer une alternative assez similaire,..  Cependant, assez vite je me suis confronté à 3 éléments problématiques qui ne semblent pas modifiables dans les options.

  1. Affichage des vignettes « Related Post » pour chacun des articles sur la homepage
  2. Pas de vignette pour les vieux articles
  3. Des contenus proposés pas vraiment pertinents

Si bien évidemment, le 3° point reste à l’heure actuelle non résolu et n’offre donc pas une solution de repli parfaite. Je suis néanmoins content et surpris d’avoir pu résoudre les deux premiers éléments en discutant avec ChatGPT !

Lire la suite Lire la suite

Google Analytic 4, on chamboule tout !

Google Analytic 4, on chamboule tout !

Ah les statistiques de visite des sites web, c’est un truc qui m’a toujours passionné ! J’avais bien sur mon petit compteur de visite dès mes premiers site en HTML et je me suis rapidement mis à intégrer PHPMyVisit lorsque j’ai créé mes premiers sites webs en Xoops puis WordPress il y a déjà 15 années. De quoi savoir qu’à l’époque c’était mes articles sur l’utilisation d’un linker R4 Revolution sur ma DS qui avait plus de succès que la présentation de mes nouvelles musiques !

Depuis lors, Google a mis en place des outils propres au suivi statistique, non plus uniquement pour les amateurs de chiffre que je suis, mais également pour travailler à optimiser son référencement et l’achat de publicité. Néanmoins, l’outil « Universal » de Google Analytic n’était pas complexe à utiliser ou à intégrer dans son site web lorsque l’on avait l’habitude de mettre son nez dans le code, et par ailleurs rapidement des outils et plugins WordPress ont permis de rendre cela plus facile encore.

Mais depuis près d’un an, Google nous annoncé que la balise « Universal »  serait remplacée dès le 1er juillet 2023 par la nouvelle méthode GA4.

Après avoir longuement reporté le problème, j’ai dû mettre en route la procédure de «  »migration«  » sur les différents sites principaux que je gère, dont celui-ci. Et le moins que l’on puisse dire c’est que la nouvelle approche est loin d’être aussi simple. Il ne s’agit plus de pouvoir « simplement » suivre les statistiques et comportements de manière simple des internautes, tout peut-être croisé, personnalisé à un niveau tels que la configuration est une veritable torture, même pour l’amateur de chiffre que je suis…

Grosso modo, on se retrouve régulièrement avec 5 à 6 sous niveau de menu, des balises qui se croisent et dont la référence change à chaque croisements avec les autres outils Google et je ne peux que faire le constat que rien n’est intuitif.

— Cette article reste en construction, j’y ajouterais petit à petit les éléments d’analyse et solution —

Lire la suite Lire la suite

Petit Bug avec PHP8 et WordPress 6.1.1

Petit Bug avec PHP8 et WordPress 6.1.1

La semaine dernière, j’ai constaté un petit problème sur l’un de nos site web tournant sous WordPress 6.1.1

Lorsque je souhaitais faire une mise à jour d’un plugin depuis la console d’administration de WordPress, la mise à jour échoue (qu’importe le plugin) avec un message du type

"La mise à jour a échoué : Internal Server Error"

Le gros problème, c’est qu’une fois la mise à jour échouée, le site web passe inaccessible et présente un long message d’erreur :

"Fatal error: Uncaught Error: Call to undefined function trailingslashit() in ...."

Rapidement, j’ai pu rétablir le site en supprimant via la console FTP le fichier « .maintenance »

Après plusieurs recherches, il semble que ce problème était lié à une version temporaire de WordPress 6.x mais il aurait dû être corrigé dans la version 6.1.1

Je ne trouve presqu’aucune information concernant un telle problème depuis la version 6.1.1 hormis un témoignage provenant d’un autres clients utilisateurs.

https://wpfr.net/support/sujet/erreurs-depuis-mise-a-jour-6-1-1/#post-2444017

solution :

Finalement, la solution fut rapidement trouvée et en lien avec le passage à PHP 8.0 Ce changement de version du serveur PHP impliquant pour le bon fonctionnement de WordPress de (ré)activer la fonction set_time_limit depuis le manager de la console *maniak. tel qu’expliqué dans la FAQ.

Corriger l’affichage du plugin « Post Views Counter »

Corriger l’affichage du plugin « Post Views Counter »

Je me garde ces quelques notes pour ne plus perdre trop de temps à chaque fois que le plugin wordpress Post View Counter se met à jour.  Post Views Counter me permet d’afficher le nombre de vue pour chaque article et d’y importer (manuellement) les valeurs de Google Stat. Peu de plugin permette de faire cela hormis l’usine Jetpack que j’ai choisi d’abandonner depuis l’année dernière. J’utilise l’option de positionnement manuelle de ces données dans mon template, mais pour que cela s’intègre proprement, j’ai dû faire également un petite modification dans le template du plugin.

Pour mémoire, je fais un appel de la fonction dans le fichier content.php du template de mon thème (caché dans template-parts) à la ligne 33 au moment de préciser ce que l’on retrouve dans la balise H5 liée au titre d’un article.

<?php if ( 'post' == get_post_type() ) : ?>
		<div class="entry-meta">
			<h5 class="entry-date"><?php nisarg_posted_on(); ?> - <?php echo do_shortcode('[pOst-views]');  ?></h5>
		</div><!-- .entry-meta -->
		<?php endif; ?>

Néanmoins lorsque je fonctionne de la sorte, l’ajout d’une balise DIV supplémentaire dans le H5 crée une double ligne dans mon trait ::after assez disgracieuse. Pour corriger le tir, je dois donc supprimer dans le code de l’extension des informations relatives à la manière dont la variable post-views va s’afficher en mode HTML. Ces information se trouvent dans le fichier functions.php rangées dans la section include actuellement autour de la ligne 289 402 et que je vais débarrasser des balises <div > et </div> ainsi :

$html = apply_filters(
'pvc_post_views_html', '

' . ($options['display_style']['icon'] && $icon_class !== '' ? $icon : '') . '
' . ($options['display_style']['text'] ? '' . $label . ' ' : '') . '
' . number_format_i18n( $views ) . '
', $post_id, $views, $label, $icon
);