Changelog

Historique des versions de PipnHub

Dernière version — 1.2.5
v1.2.5 3 changements
  • Admin Import CSV : détection du groupe par intersection — les colonnes inconnues du CSV sont désormais ignorées silencieusement (plus d'erreur si le fichier contient des colonnes supplémentaires comme Amazon, Fnac, etc.)
  • Admin Import CSV : la position des colonnes est calculée par nom (plus par index), ce qui garantit la lecture correcte même si l'ordre ou le nombre de colonnes varie
  • Admin Import CSV : les erreurs "post introuvable" sont séparées des erreurs fatales — elles s'affichent dans une notice warning avec le nombre de lignes ignorées et un lien dépliable listant les IDs concernés
v1.2.4 3 changements
  • PIP MESH : nouveau module de suggestion de maillage interne (pipmesh.inc.php) — scanne tous les posts publiés et détecte les opportunités de liens internes en croisant les tags et catégories du site avec le contenu de chaque article
  • PIP MESH : déclenchement manuel via un bouton "Lancer le scan" (appel AJAX sécurisé par nonce), résultats affichés dans un tableau avec lien "Éditer" direct vers chaque post concerné
  • PIP MESH : aucune modification automatique — l'outil est purement suggérateur
v1.2.3 13 changements
  • Admin Custom Fields : export CSV par groupement depuis la page Champs PNH (bouton "Exporter CSV", via admin-post.php, avec nonce)
  • Admin Custom Fields : import CSV avec aperçu dry-run et confirmation avant application — détection automatique du groupe depuis les colonnes, support des valeurs multiples séparées par |
  • Admin Custom Fields : les requêtes SQL méta sont factorisées dans PNH_GetMetaKeys() et PNH_GetMetaDuplicates() (plus de duplication entre la page admin et l'endpoint AJAX)
  • Admin Custom Fields : les groupements sont centralisés dans PNH_GetGroups() (partagés entre affichage, export et import)
  • Admin Custom Fields : affichage des valeurs multiples par meta key (une <code> par valeur)
  • Admin Custom Fields : fix HTML — la section Meta Keys est correctement incluse dans le .wrap WordPress
  • Admin Redirections : wp_date() utilisé à la place de date() pour respecter la timezone WordPress
  • Admin Redirections : filtrage de la liste effectué une seule fois avant la boucle d'affichage (fix doublon de filtre)
  • Admin Recherche articles : nonce AJAX ajouté sur pnh_search_posts (fix sécurité)
  • Admin Flags : sanitize_key() utilisé pour construire la clé d'option (au lieu de esc_attr())
  • Admin Comptage mots : traitement par lots de 200 articles pour éviter les memory exhaustion sur les grandes bases
  • Sécurité : correction de sorties non échappées dans plusieurs fichiers (wp_kses_post() ou esc_html() selon le contexte)
  • API : .htaccess simplifié — les endpoints sched.json.php et stats.json.php sont autorisés via une exception FilesMatch directe (suppression du bloc séparé redondant)
v1.2.2 9 changements
  • SEO : les schemas JSON-LD FAQ, VideoObject et Product ne sont plus injectés en doublon quand RankMath ou Yoast est actif — VideoObject et Product sont conservés uniquement si les meta keys Youtube ou Tradker sont présentes sur l'article
  • Setup : chargement conditionnel du CSS et JS du formulaire de contact (form-feedback.css / form-feedback.js) uniquement sur la page contact, avec handle pnh-bundle enregistré pour résoudre les dépendances
  • Setup : les meta keys Pip, Hub, Youtube et Tradker sont enregistrées en REST API avec auth_callback (remplacement des anciennes clés PIP/HUB typées integer sans protection)
  • Table des matières : fix — l'injection d'id= sur les titres préserve désormais le HTML interne de la balise Hx (<strong>, <em>…) au lieu de le supprimer
  • Table des matières : fix — la détection "titre déjà pourvu d'un id=" est précise au titre concerné (plus de faux positif sur n'importe quel Hx du contenu)
  • Footer : l'année de copyright de début est paramétrable via le customizer WordPress (pnh_copyright_year)
  • Formulaire contact : nonce désanitisé proprement avant vérification (sanitize_text_field + wp_unslash)
  • Sécurité : sorties echo $notice sécurisées avec wp_kses_post() dans admin.inc.php et sitemap.inc.php ; _e() remplacé par esc_html_e() dans taxonomy.inc.php
  • Remote / Kahlendar : remplacement des opérateurs nullsafe (??) par des isset() pour compatibilité PHP 7 ; indentation uniformisée
v1.2.1 7 changements
  • Newsletter : le script JS est désormais un fichier externe, il n'est plus injecté en inline dans les pages
  • SEO : le logo utilisé dans Schema.org est maintenant le logo configuré dans WordPress (Apparence → Personnaliser)
  • Mention IA (Rediacteur) : si la meta rediacteur est renseignée sur un article, une mention "rédigé avec l'assistance de l'IA" s'affiche automatiquement avec le lien source
  • Sitemap : limite réduite à 10 000 posts par fichier (conformité recommandations Google)
  • Sécurité : cookie captcha avec SameSite: Strict, clés API et URL hardcodées supprimées et remplacées par des constantes
  • Mise à jour automatique : URL du serveur de mise à jour changée vers www.pipnhub.com
  • PIPNEST : le thème supporte nativement la structure PIPNHEST pour les sous-domaines et domaines externes
v1.2.0 2 changements
  • Admin : nouvelle page "Redirections 301" pour créer et gérer des redirections sans plugin
  • Admin : la page Meta Keys est beaucoup plus rapide sur les gros sites (une seule requête SQL au lieu d'une par article)
v1.1.9 3 changements
  • Shortcode [lang] : permet d'afficher des blocs bilingues côte à côte dans les articles — [lang code="fr"]...[/lang][lang code="en"]...[/lang]
  • Shortcode [hidden] : masque visuellement un bloc de contenu, révélable au clic, mais reste présent dans le DOM pour Google
  • Fix : le widget Kahlendar pouvait provoquer des timeouts à cause d'une URL incorrecte (redirection manquante côté serveur distant)
v1.1.8 1 changement
  • Grilles : les pages catégorie, tag, auteur et les résultats de recherche s'adaptent maintenant automatiquement au format carré des images, comme la home page depuis la 1.1.7
v1.1.7 1 changement
  • Grilles images carrées : quand tous les articles d'un bloc ont une image carrée, la grille passe automatiquement en mode grid-all-square avec plus de colonnes pour mieux tirer parti de l'espace
v1.1.6 4 changements
  • Widget Kahlendar : nouveau widget affichant les éphémérides du jour (saints, anniversaires, événements) via l'API kahlendar.com
  • SEO admin : interface de configuration SEO par catégorie refactorisée avec variables cliquables et palette d'aide
  • Reziztanz : intégration du script de partage Reziztanz dans le footer
  • Page contact HEI : nouveau template de formulaire de contact alternatif
v1.1.4 *0.1.4 → 1.1.x* 6 changements
  • Thème enfant : le thème est maintenant conçu pour être surchargé proprement depuis un thème enfant — chaque fichier CSS est chargé individuellement pour permettre la surcharge par cascade
  • Home page modulaire : la page d'accueil est maintenant un orchestrateur configurable (parts/front-page/front-page.php) à surcharger dans le thème enfant avec les blocs souhaités (posts-grid, posts-list, posts-remote, hero-featured, spotlight-grid)
  • Routeur de pages amélioré : les pages peuvent désormais choisir leur template via un custom field Template sans dépendre du slug
  • Modules distants : ajout de remote.inc.php (appels API) et game.inc.php
  • Nouveaux widgets : categories-simple, last-posts-simple, links, pages
  • Nouveaux templates de page : archive-grid, latest-modified, latest-published, latest-random, selektroma
v1.1.2 *0.1.2 → 0.1.x* 4 changements
  • Tri par date de modification : les blocs de la home peuvent maintenant être triés par modified (date de dernière mise à jour) en plus de date
  • Contrôles de tri : les boutons de tri sur la home sont réactivés et correctement synchronisés avec l'état initial rendu par PHP
  • Admin "Articles Courts" : nouvelle page listant les articles dont le contenu est inférieur à un seuil de mots configurable (défaut : 500)
  • Nouveaux templates de page : archive-grid, latest-modified, latest-published, latest-random
v0.0.8 1 changement
  • Images carrées : les miniatures carrées ne sont plus déformées dans les grilles — détection automatique du ratio et affichage non recadré
v0.0.7 Initial release 8 changements
  • Architecture modulaire WordPress (lib/ : setup, posts, display, SEO, sitemap, admin, update...)
  • Système de design CSS avec variables centralisées — 3 couleurs à changer pour tout personnaliser
  • Templates complets : home, single, page, category, tag, author, search
  • Composants réutilisables : breadcrumb, table des matières, articles similaires, widgets sidebar
  • SEO avancé : Schema.org, Open Graph, sitemaps XML, robots.txt
  • API privée avec authentification par clé (/api/sched, /api/stats)
  • Fonts auto-hébergées (FugazOne + Roboto Condensed), lazy loading, headers de sécurité HTTP
  • Support multi-langue fr_FR / en_GB