=== Crea Utile PDF and Page Search ===
Contributors: groupeweb
Tags: search, live search
Requires at least: 6.6
Requires PHP: 7.4
Stable tag: 0.5.3
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Extension française proposée par Créa Utile. Recherche instantanée dans les pages, articles et PDF explicitement autorisés.

== Description ==
Chaque barre possède ses sources, ses exclusions et son apparence. Les résultats apparaissent sous le champ sans quitter la page.
Police héritée du site, couleurs du thème Kadence ou personnalisées, dimensions et arrondis réglables, ouverture dans un nouvel onglet au choix.
Interface en français. Aucun service externe, aucun suivi des recherches, aucune publicité ajoutée au site.
Le renard guide la configuration dans l'administration. Ses conseils sont masquables.

VERSION DE TEST : index local du texte des PDF, mots-clés par document et choix des sources. Catégories et étiquettes disponibles pour classer et filtrer. Les catégories et étiquettes d’articles peuvent aussi apparaître comme liens vers leurs archives publiques. Pas encore d’OCR, de correction des fautes ni de statistiques. L’aide et les principaux messages publics disposent d’un fichier de traduction POT. La traduction complète de l’administration et des types de contenus reste à terminer. La compatibilité avec les extensions qui restreignent des pages publiques doit être vérifiée avant utilisation. Ne pas utiliser pour rechercher des documents confidentiels.
La soumission au répertoire WordPress et sa validation restent à préparer.

== Installation ==
1. Installer le ZIP sur une préproduction dans Extensions > Ajouter > Téléverser une extension.
2. Activer puis ouvrir Crea Utile PDF and Page Search dans le menu d'administration.
3. Modifier et enregistrer la barre Recherche principale, ou créer d'autres barres puis les publier.
4. Insérer le code court fourni dans un bloc Code court WordPress, par exemple [crea_utile_search id="123"].
Ou insérer le bloc Crea Utile PDF and Page Search et renseigner l'identifiant de la barre. La valeur 0 utilise la barre principale.
5. Le code court [crea_utile_search] utilise la barre principale créée à l'activation.
6. Tester les recherches et les liens sur une page de test avant toute utilisation publique.

Une barre en brouillon n'est pas utilisable par les visiteurs. Le sous-menu Aide explique la mise en place et les limites. La désactivation arrête les tâches planifiées et conserve les réglages. La réactivation relance les fichiers en attente, les traitements interrompus restent à réindexer manuellement. La suppression du plugin ne supprime pas automatiquement ses configurations, afin d'éviter une perte de travail.

== Indexer des PDF ==
1. Ouvrir Crea Utile PDF and Page Search > Index des PDF.
2. Cocher uniquement les documents publics à rendre recherchables et saisir les mots-clés supplémentaires.
3. Enregistrer puis cliquer sur Traiter les PDF en attente. Les tâches planifiées WordPress peuvent également avancer le traitement.
4. Cocher PDF autorisés dans les sources de la barre et adapter la sélection des identifiants.
5. Choisir si le résultat ouvre le fichier ou sa page de présentation parente.

Extensions PHP requises pour l’extraction : mbstring, iconv et zlib. Aucun serveur externe ni programme système nécessaire. Limites de test : 10 Mo, 200 pages et 1 Mo de texte par document. Un document trop grand ou interrompu reste en erreur, il n’est pas indexé partiellement. Un PDF scanné sans texte reste non consultable dans cet index.
Un fichier modifié est réindexé via les événements de la médiathèque. Une modification de taille/date constatée à la recherche invalide également son ancien index. Après un remplacement effectué en dehors de WordPress, utilisez la case Réindexer, en particulier si la taille et la date du fichier sont conservées.

== Personnaliser l’apparence ==
Dans la fiche de chaque barre, choisir la loupe, un texte ou les deux, le libellé du bouton, ses dimensions, les espacements et les couleurs du champ et du panneau.
La barre peut suivre la police du site ou utiliser des polices système (sans serif, serif ou monospace), sans téléchargement externe. Taille, graisse et alignement sont réglables.
Les extraits, le type de contenu et une petite icône peuvent être affichés ou masqués indépendamment. Le nombre de résultats et l’ouverture dans un nouvel onglet restent propres à chaque barre.
Un aperçu indicatif se met à jour dans l’administration sans effectuer de recherche. La police et la palette du thème doivent être vérifiées sur une page du site : l’administration ne charge pas nécessairement les mêmes styles.
Le mode thème utilise les variables de palette Kadence lorsqu’elles existent, sinon les couleurs choisies servent de valeurs de repli. Avec un autre thème, sélectionner le mode personnalisé si ses couleurs ne sont pas reconnues. Le plugin ne télécharge aucune police ni bibliothèque d’icônes distante.
Les largeurs de bouton sont limitées sur petit écran pour laisser une zone de saisie utilisable. Vérifier les contrastes des couleurs personnalisées.
Le bloc propose désormais une liste de barres par nom aux administrateurs. La saisie d’un identifiant reste possible. Le sélecteur liste au plus 100 barres.

== Classer et filtrer ==
Les catégories et étiquettes PDF sont propres à l’extension. Elles ne modifient pas celles des articles et ne créent pas d’archives publiques. Les créer dans Crea Utile PDF and Page Search > Catégories PDF ou Étiquettes PDF, puis les attribuer aux documents dans Index des PDF. Un classement ne donne jamais une autorisation de recherche.
Dans chaque barre, sélectionner les catégories/étiquettes PDF autorisées. Une liste vide signifie aucun filtre. Plusieurs termes d’une même liste sont combinés avec « ou », les différentes listes avec « et ». Les sous-catégories sont comprises lorsqu’une catégorie parente est sélectionnée.
Les filtres de catégories/étiquettes d’articles sont séparés des filtres PDF. Une page sans terme ne correspond pas à un filtre d’articles. L’extension n’ajoute pas automatiquement les taxonomies d’articles aux pages.
Pour afficher des liens de catégories ou d’étiquettes d’articles comme résultats, cocher la source correspondante. Seuls les termes liés à au moins un article publié sans mot de passe peuvent être renvoyés. Les identifiants de contenus et de PDF ne sont pas des identifiants de termes. La sélection des termes se fait dans les listes dédiées.
Les catégories/étiquettes PDF restent des filtres internes à cette version, pas des résultats de recherche avec une page d’archive.
Les sélecteurs affichent jusqu’à 200 termes, les recherches de termes jusqu’à 500. Pour une très grande taxonomie, une interface paginée reste à prévoir. Les sélections existantes hors de ces 200 termes sont conservées.

== Confidentialité ==
Seules les pages et articles publiés, sans mot de passe, sont interrogés. Chaque PDF exige une autorisation explicite. Les PDF dont la page parente est privée ou protégée sont exclus à chaque recherche. La révocation d’une autorisation supprime son entrée dans l’index. Les fichiers restent eux-mêmes dans la médiathèque.
Les restrictions d’une extension tierce ne sont pas toutes automatiquement détectées. Vérifiez leur compatibilité avant autorisation. Un filtre développeur cuws_pdf_is_public permet à une intégration de refuser un document. Aucun fichier protégé ne doit être autorisé sur la base de ce filtre seul.
Les mots recherchés sont envoyés au serveur du site, sans fournisseur externe. Le serveur ou ses extensions peuvent conserver des journaux techniques.

== Changelog ==
= 0.5.3 =
Distinctive project name and matching translation domain. Remove the unnecessary explicit translation loader. Existing search forms, shortcode, block, PDF index and settings retain their identifiers.

= 0.5.2 =
Align the plugin folder, translation domain and language catalogue with pdf-page-search. Correct Tested up to to 7.1. Stored configuration keys are preserved.

= 0.5.1 =
Remove the restricted WP prefix from the public name. Existing configuration identifiers are preserved.

= 0.5.0 =
Nouveau nom public : PDF & Page Search. Réglages, identifiants, bloc, code court et index conservés. Notices de redistribution des illustrations intégrées. Correction de l’affichage des entités HTML dans les titres PDF.

= 0.4.3 =
Retrait du motif technique de route PDF et de l’espace HTML du catalogue de traduction. Test de non-régression avec tous les libellés traduits.

= 0.4.2 =
Traductions de l’administration et de l’éditeur, types de résultats stables et refus HTTP 403 explicite. Essais locaux avec trois thèmes et 750 documents.

= 0.4.1 =
Noms accessibles des champs et résultats corrigés. Aide locale, arrêt des tâches à la désactivation et reprise des fichiers en attente à la réactivation. Le retrait d’une autorisation purge aussi l’index lorsque sa métadonnée est supprimée. Les configurations, les classements et les fichiers sont conservés lors de la suppression de l’extension.

= 0.4.0 =
Réglages visuels enrichis, aperçu local dans l’administration, choix des barres par nom dans le bloc, messages publics préparés pour la traduction. Classement PDF effectué par SQL avant récupération des textes utiles, pour limiter la mémoire PHP.

= 0.3.0 =
Classement PDF par catégories et étiquettes propres à l’extension. Filtres enregistrés par barre, sous-catégories incluses, sources catégories et étiquettes d’articles séparées. Aucun reclassement automatique des documents existants.

= 0.2.0 =
Indexation locale des PDF autorisés, mots-clés, recherche normalisée sans accents, destination configurable, états et réindexation par document, file de traitement un par un. Parseur isolé, licences conservées.

= 0.1.0 =
Premier prototype pages et articles. Configuration par barre, panneau de résultats, navigation clavier et réglages visuels.

== Crédits ==
Smalot PDFParser 2.13.1, LGPL-3.0, namespace isolé. Voir third-party-licenses.txt et vendor/pdfparser/LICENSE.txt. Le parseur et son code source sont inclus dans le ZIP.
Code et illustration fournis par Créa Utile. Licence du code et du renard inclus : GPL-2.0-or-later. Voir ARTWORK-LICENSE.txt pour la portée de l’autorisation.

== Licence des illustrations ==
Le renard inclus est distribué sous GPL-2.0-or-later avec l’accord de la propriétaire du projet. Voir ARTWORK-LICENSE.txt. Cette autorisation ne concerne pas toute la collection de mascottes du site.
