Un glossaire interne pour vos sites - commentaires Un glossaire interne pour vos sites 2022-02-19T18:53:57Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment510275 2022-02-19T18:53:57Z <p>Rebonjour, petite correction. L'infobule apparait seulement si on survole un petit espace crée automatiquement à la fin du mot, comme si c'était une note de bas de page.</p> Un glossaire interne pour vos sites 2022-02-18T13:48:20Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment510251 2022-02-18T13:48:20Z <p>Bonjour, ce petit bijou du Couteau Suisse est l'outil que je recherchai pour un glossaire de zoologie dans mon site. Apparemment le glossaire interne fonctionne bien mais la petite fenêtre n'apparait pas quand ont survole le mot avec la souris. Comment résoudre ce problème<small class="fine d-inline"> </small>?</p> Un glossaire interne pour vos sites 2021-12-03T15:22:51Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment509750 2021-12-03T15:22:51Z <p>Bonjour,<br class="autobr"> dans un spip3.2 avec le thème <a href='https://files.spip.net/HTML5UP-Massively' class="spip_in" rel='nofollow'>Html5up Massively</a> ,<br class="autobr"> une inclusion d'un modèle <a href='https://files.spip.net/Alias-d-Article,2854' class="spip_in" rel='nofollow'>alias</a></p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code><article95|texte></code></pre></div> <p>dans le texte de la <a href="https://amidesk.com/pdea/spip.php?rubrique72" class="spip_out" rel='nofollow external'>rubrique</a><br class="autobr"> ne fonctionne pas lorsque <strong>glossaire interne</strong> est activé.<br class="autobr"> Une idée<small class="fine d-inline"> </small>? Merci</p> Un glossaire interne pour vos sites 2018-12-28T21:08:21Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment499238 2018-12-28T21:08:21Z <p>Les 2 plugins cohabitent dans problème, mais si j'ai le groupe de mots Glossaire et un sous groupe à l'intérieur et que je place l'un des mots du glossaire dans ce sous groupe, le mot n'est plus détecté dans les textes et donc le plugin glossaire est inopérant pour ce mot.</p> Un glossaire interne pour vos sites 2018-12-28T16:04:12Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment499234 2018-12-28T16:04:12Z <p>Bonjour. Il me semble que ça devrait bien cohabiter, non<small class="fine d-inline"> </small>? Quel est le besoin précis<small class="fine d-inline"> </small>?</p> Un glossaire interne pour vos sites 2018-12-28T15:07:53Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment499233 2018-12-28T15:07:53Z <p>Bonjour,</p> <p>Serai-t-il possible d'utiliser ce plugin avec le plugin « <a href='https://files.spip.net/Groupes-de-mots-cles-arborescents' class="spip_in" rel='nofollow'>Groupes arborescents de mots clés</a> »<small class="fine d-inline"> </small>?</p> <p>Merci d'avance,</p> <p>Cordialement,</p> <p>Hervé</p> Un glossaire interne pour vos sites 2018-03-17T15:18:18Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment496325 2018-03-17T15:18:18Z <p>Bonjour j'ai activé Rang dans mon site. <br class="autobr"> Depuis j'ai un problème avec le glossaire interne. Les contenus des mots clés issus de raccourcis <tt><article98|descriptif></tt> ne s'affiche plus. Voir mot Grace Kelly dans la page.<br class="autobr"> J'ai désactivé le plugin. Les numéros de titres des objets sont toujours là. Avez-vous une idée<small class="fine d-inline"> </small>? Merci</p> Un glossaire interne pour vos sites 2018-03-12T14:05:07Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment496238 2018-03-12T14:05:07Z <p>Bonjour, dans les champs descriptif et texte d'un mot clé du glossaire interne, j'ai mis les liens vers des champs alias : exemple <tt><article98|descriptif></tt> <tt><article98|texte></tt>.<br class="autobr"> Cela ne fonctionne plus. Peut être depuis qu'en activant un plugin, le site a entrepris de mettre un numéro à chaque objet<small class="fine d-inline"> </small>? Merci de votre aide.</p> Un glossaire interne pour vos sites 2014-09-30T19:26:47Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment477197 2014-09-30T19:26:47Z <p>merci Patrice<small class="fine d-inline"> </small>!!!</p> Un glossaire interne pour vos sites 2014-09-29T22:32:32Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment477189 2014-09-29T22:32:32Z <p>Bon, c'est sans doute un problème d'accents dans la regexpr, tout dépend du codage utilisé par ton site...<br class="autobr"> Voici une expression qui fonctionne :<br class="autobr"> <font size="1"><code class="spip_code spip_code_inline" dir="ltr">107<sup>e</sup> R.I./,107(<sup[^>]*>)?e(</sup>)? *(R[.]*I[.]*|R\S+giment d\S+ ?Infanterie),i</code></font></p> Un glossaire interne pour vos sites 2014-09-26T23:50:09Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment477149 2014-09-26T23:50:09Z <p>Merci bcp Maïeul.</p> <p>Pour ton problème Ivandps, j'ai refais les tests de mon côté, mon expression régulière ne me cause pas d'erreur et fonctionne parfaitement. Tu as peut-être pas bien recopié, ou il existe peut-être une interaction inattendue dans les plugins. Je te propose de me convier en administrateur privé sur ton site si le problème persiste.</p> <p>Sinon, je confirme que ton titre proposé le 22/10 à 20:45 n'est pas correct et ne doit pas être utilisé en l'état.</p> Un glossaire interne pour vos sites 2014-09-24T18:53:13Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment477099 2014-09-24T18:53:13Z <p>je viens de corriger la balise code/cadre dans le forum, mais à l'avenir il faudrait le mettre</p> Un glossaire interne pour vos sites 2014-09-24T18:48:50Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment477098 2014-09-24T18:48:50Z <p>Warning : preg_replace() [function.preg-replace] : Unknown modifier '<' in /home/amidesk/www/trace/tmp/couteau-suisse/mes_fonctions.php on line 856</p> Un glossaire interne pour vos sites 2014-09-23T19:53:33Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment477080 2014-09-23T19:53:33Z <p>Pour le test, t'as bien fait un copier-coller complet<small class="fine d-inline"> </small>? chez moi ce truc genre marche bien pourtant...</p> <p>Je ne comprends pas ce que t'as mis, spip réclame un balise <strong>code </strong> ou <strong>cadre</strong>...</p> <p>Et quel genre de warnings<small class="fine d-inline"> </small>?</p> Un glossaire interne pour vos sites 2014-09-22T18:45:11Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment477050 2014-09-22T18:45:11Z <p>bonjour merci j'ai testé le « truc genre » ci-dessus. <br class="autobr"> Résultat beaucoup de warning... et ça ne fonctionne pas. <br class="autobr"> Je confirme l'exposant. Pour l'instant j'ai mis <br class="autobr"> <code class="spip_code spip_code_inline" dir="ltr">107e/,\b107\b,/=44</code><br class="autobr"> qui a l'avantage de fonctionner mais qui ne répond que peu au besoin.</p> Un glossaire interne pour vos sites 2014-09-20T16:30:11Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment477025 2014-09-20T16:30:11Z <p>chez moi ça fonctionne bien maitenant, plus de message d'erreur en modification comme j'avais jusque là.<br class="autobr"> Merci beaucoup.</p> Un glossaire interne pour vos sites 2014-09-20T07:14:37Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment477022 2014-09-20T07:14:37Z <p>Une idée pour cela<small class="fine d-inline"> </small>? modif dans la css à faire<small class="fine d-inline"> </small>?</p> Un glossaire interne pour vos sites 2014-09-20T07:13:24Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment477020 2014-09-20T07:13:24Z <p>Merci Pat, pour moi cela semble ok</p> Un glossaire interne pour vos sites 2014-09-19T23:18:08Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment477019 2014-09-19T23:18:08Z <p>Pardon pour le délai de réponse.</p> <p>Il devait manquer un include, je viens de poster une correction du plugin, vous me direz si le problème est bien réglé<small class="fine d-inline"> </small>;-)</p> Un glossaire interne pour vos sites 2014-09-19T23:05:53Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment477018 2014-09-19T23:05:53Z <p>Le souci viendrait peut-être de la mise en exposant, tu confirmes en avoir un sur ton site<small class="fine d-inline"> </small>?</p> <p>Je mettrais bien un truc genre : <br class="autobr"> <font size="1"><code class="spip_code spip_code_inline" dir="ltr">107<sup>e</sup> R.I./,107(<sup[^>]*>)?e(</sup>)? *(R[.]*I[.]*|Régiment d' ?Infanterie),i </code></font></p> <p>avant le slash, tu as le titre de la fenêtre de définition, et après le slash, tu as la super regexpr qui comprend tous tes exemples...</p> Un glossaire interne pour vos sites 2014-09-19T18:19:29Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment477015 2014-09-19T18:19:29Z <p>oui pardon et merci.<br class="autobr"> Je rectifie et je complexifie :</p> <p>107<sup class="typo_exposants">e</sup> Régiment d'Infanterie<br class="autobr"> 107<sup class="typo_exposants">e</sup> Régiment d' Infanterie<br class="autobr"> 107<sup class="typo_exposants">e</sup> régiment d' infanterie<br class="autobr"> 107<sup class="typo_exposants">e</sup> RI<br class="autobr"> 107<sup class="typo_exposants">e</sup> R.I.</p> <p>merci</p> Un glossaire interne pour vos sites 2014-09-19T11:14:12Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment477010 2014-09-19T11:14:12Z <p>Pat, tu as une idée du problème<small class="fine d-inline"> </small>?</p> Un glossaire interne pour vos sites 2014-09-19T08:17:34Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment477004 2014-09-19T08:17:34Z <p>Bonjour. Les deux premières lignes sont identiques<small class="fine d-inline"> </small>?</p> Un glossaire interne pour vos sites 2014-09-18T22:30:01Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment476998 2014-09-18T22:30:01Z <p>bonjour comment rédiger une seule entrée <br class="autobr"> (avec expression régulière<small class="fine d-inline"> </small>?) pour<br class="autobr"> 107<sup class="typo_exposants">e</sup> Régiment d'Infanterie<br class="autobr"> 107<sup class="typo_exposants">e</sup> Régiment d'Infanterie<br class="autobr"> 107<sup class="typo_exposants">e</sup> RI<br class="autobr"> 107<sup class="typo_exposants">e</sup> R.I.<br class="autobr"> merci<small class="fine d-inline"> </small>!</p> Un glossaire interne pour vos sites 2014-08-30T11:20:18Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment476705 2014-08-30T11:20:18Z <p>Bonjour, le problème persiste chez moi. Il se présente lors d'une modification d'un mot existant dans le glossaire, mais jamais lors de la création d'un nouveau mot...</p> Un glossaire interne pour vos sites 2014-08-30T08:58:56Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment476703 2014-08-30T08:58:56Z <p>Bonjour,</p> <p>Je souhaite pouvoir dans un mot clef ou j'ai un lien et qu'il servent dans le glossaire qu'il soit cliquable. Or pour le moment la pop-in se cache quand on va la survoler, comment modifier cela<small class="fine d-inline"> </small>?</p> Un glossaire interne pour vos sites 2014-08-30T08:46:05Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment476702 2014-08-30T08:46:05Z <p>Bonjour, je me retrouve aussi avec cette erreur de temps en temps.</p> Un glossaire interne pour vos sites 2014-08-12T07:59:36Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment476470 2014-08-12T07:59:36Z <p>Bonjour et merci :<br class="autobr"> SPIP 3.0.14<br class="autobr"> Pour le couteau suisse je ne sais pas répondre à la question : je lis « version locale 1.9 » et « révision 82941 » et « votre version est à jour ».<br class="autobr"> Est-ce que cela répond à la question<small class="fine d-inline"> </small>?<br class="autobr"> Merci pour votre aide. Je ne suis pas un expert mais j'essaie de comprendre et de progresser.<br class="autobr"> Bonne journée.</p> Un glossaire interne pour vos sites 2014-08-12T07:39:19Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment476469 2014-08-12T07:39:19Z <p>Bonjour, je ne reproduis pas cette erreur, tu as quelle version de SPIP<small class="fine d-inline"> </small>? Le Couteau Suisse est-il bien compilé<small class="fine d-inline"> </small>?</p> Un glossaire interne pour vos sites 2014-08-11T19:46:43Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment476467 2014-08-11T19:46:43Z <p>Bonjour,<br class="autobr"> Je peux créer des mots dans mon glossaire interne mais si je modifie un mot clef existant voilà le message que j'obtiens, cela ne semble pas gêner le fonctionnement du glossaire :</p> <blockquote class="spip"> <p>Fatal error : Call to undefined function debut_cadre_relief() in /home/nattar/public_html/tmp/couteau-suisse/mes_fonctions.php on line 481</p> </blockquote> <p>Merci pour votre aide</p> Un glossaire interne pour vos sites 2014-01-21T14:33:06Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment473420 2014-01-21T14:33:06Z <p>Bonjour,<br class="autobr"> Merci pour la nouvelle version. Tout fonctionne de nouveau normalement. Et encore bravo pour ce couteau suisse vraiment indispensable<small class="fine d-inline"> </small>!<br class="autobr"> Christian.</p> Un glossaire interne pour vos sites 2014-01-21T11:31:55Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment473415 2014-01-21T11:31:55Z <p>Merci beaucoup pour votre réponse et votre intervention.<br class="autobr"> Christian.</p> Un glossaire interne pour vos sites 2014-01-21T11:29:11Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment473414 2014-01-21T11:29:11Z <p>Oh pardon, c'est un reste de débogage<small class="fine d-inline"> </small>! Je corrige ça de suite, le zip sera dispo vers 13h.</p> Un glossaire interne pour vos sites 2014-01-21T10:22:21Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment473411 2014-01-21T10:22:21Z <p>Bonjour,<br class="autobr"> J'ai depuis quelque temps un étrange problème sur un site que je gère. Il utilise le glossaire interne, qui est un outil très utile pour ce site qui concerne des établissements médico-sociaux aux nombreuses abréviations obscures. Mais désormais quand un article contient les mots clés du glossaire, s'affiche au-dessus du bandeau de l'interface privée le texte de l'article, en grande largeur, répété autant de fois qu'il y a de mots de glossaire dans les champs (voir capture). Et parfois les mots clés sont remplacés dans ce texte en haut par @@M0#3@@<small class="fine d-inline"> </small>! J'ai fait le test avec un article d'essai, selon que j'ajoute ou retire un mot-clé figurant dans le glossaire, le phénomène se produit ou pas.<br class="autobr"> Je suis en version SPIP 2.1.25 et le couteau suisse est à jour. Version 1.8.148. Version 79943.<br class="autobr"> Voyez-vous une explication<small class="fine d-inline"> </small>?<br class="autobr"> D'avance, merci pour votre réponse.<br class="autobr"> Christian.</p> Un glossaire interne pour vos sites 2014-01-08T22:50:09Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment473150 2014-01-08T22:50:09Z <p>Bonjour à tous,</p> <p>Etant en spip 3 et en derniere version du couteausuisse, je tente désépéremment d'afficher la barre de lettres alphabétiques et les mots clés dans ma page de squelette de glossaire.</p> <p>En reprenant le code squelettes au dessus et en déclarant les fonctions dans mon squelettes/mes_fonctions.php, la barre apparait correctement, par contre les mots clés n'apparaissent pas .</p> <p>Les exemples renseignés ci-dessus sont-ils toujorus d'actualité<small class="fine d-inline"> </small>?</p> <p>Merci.<br class="autobr"> CloudG</p> Un glossaire interne pour vos sites 2013-09-25T08:36:21Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment471001 2013-09-25T08:36:21Z <p>ouahh formidable ça marche<small class="fine d-inline"> </small>!<br class="autobr"> je peux paramétrer la page d'arrivée des mots du glossaire, lien interne, externe<small class="fine d-inline"> </small>!<br class="autobr"> Top merci infiniment de ton travail et de ton aide. Ivan</p> Un glossaire interne pour vos sites 2013-09-24T21:15:23Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment470992 2013-09-24T21:15:23Z <p>Bonjour, je viens de mettre à jour le Couteau Suisse et la doc pour permettre cette redirection dans le titre : <a href="http://zone.spip.org/trac/spip-zone/changeset/76478" class="spip_url spip_out auto" rel="nofollow external">http://zone.spip.org/trac/spip-zone/changeset/76478</a></p> <p>Tu me diras si tout est OK...</p> Un glossaire interne pour vos sites 2013-09-23T21:28:04Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment470966 2013-09-23T21:28:04Z <p>Pour cette redirection du lien, le code du plugin doit être un peu modifié.</p> <p>2 pistes : <br>- soit un mécanisme de redirection reconnu dans le titre comme le faisait SPIP2, par exemple : «<small class="fine d-inline"> </small>architrave/=architrave.com<small class="fine d-inline"> </small>» <br>- soit l'exploitation du descriptif ou du texte (plus lourd sans doute)</p> Un glossaire interne pour vos sites 2013-09-23T20:55:49Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment470965 2013-09-23T20:55:49Z <p>T'as pas besoin de me répéter la question cher ivandps, tu sais, je sais lire....</p> <p>Dans cette fonction, je pense que tu peux programmer de quoi y répondre, non<small class="fine d-inline"> </small>? Comment envisages-tu faire le lien entre l'article virtuel et le mot clé<small class="fine d-inline"> </small>? Il va falloir également surcharger la fenêtre de définition...</p> Un glossaire interne pour vos sites 2013-09-23T20:51:01Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment470964 2013-09-23T20:51:01Z <p>oui j'ai vu cette fonction.<br class="autobr"> je voyais plus ceci :</p> <p>glossaire interne fait un lien vers le mot clé.<br class="autobr"> J'aimerais spécifier un autre lien (lien vers un article interne ou externe).<br class="autobr"> Est-il possible d'assigner une redirection virtuel au mot clé (à l'exemple de celle qui existe pour les articles )<small class="fine d-inline"> </small>?</p> Un glossaire interne pour vos sites 2013-09-23T20:33:52Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment470963 2013-09-23T20:33:52Z <p>Bonsoir, as-tu essayé la fonction glossaire_generer_url() comme indiqué dans la doc<small class="fine d-inline"> </small>?</p> Un glossaire interne pour vos sites 2013-09-23T20:12:01Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment470961 2013-09-23T20:12:01Z <p>bonjour</p> <p>glossaire interne fait un lien vers le mot clé.<br class="autobr"> J'aimerais spécifier un autre lien (lien vers un article interne ou externe).<br class="autobr"> Est-il possible d'assigner une redirection virtuel au mot clé (à l'exemple de celle qui existe pour les articles )<small class="fine d-inline"> </small>?</p> <p>merci</p> Un glossaire interne pour vos sites 2012-04-24T08:14:16Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment456525 2012-04-24T08:14:16Z <p>Nan, ce que tu proposes ne fonctionne pas, et tant mieux parce que pour le rédacteur, ce ne serait pas simple à gérer...</p> <p>J'ai finalement réussi à faire ce que je voulais :</p> <p>1) Modifier le plugin «<small class="fine d-inline"> </small>acronymes<small class="fine d-inline"> </small>», pour faire en sorte de respecter les recommandations sur <a href="http://www.webaccessibilite.fr/abreviations-sigles-et-acronymes-2008-03-26.php#etr" class="spip_url spip_out auto" rel="nofollow external">http://www.webaccessibilite.fr/abreviations-sigles-et-acronymes-2008-03-26.php#etr</a> . J'ai contacté à ce sujet l'auteur du plugin «<small class="fine d-inline"> </small>acronymes<small class="fine d-inline"> </small>» Cédric Morin à qui j'ai proposé de commiter mes modifs. Malheureusement, il m'a dit que ce plugin était figé et qu'il ne maintenait plus le plugin Forms&Tables (dont il dépend) pour la version 2 de spip. Donc, le fait d'avoir modifié le plugin acronymes n'aura pas de conséquence car a priori il ne sera plus mis à jour (dernière version la 0.13.0). Et surtout, mes modifs me permettent de préciser la langue de prononciation de l'abréviation elle-même (si elle est différente de la langue principale du site) et de prendre en compte la langue de prononciation de l'expansion d'autre part (qui malheureusement n'était pas prise en compte de façon effective par le filtre du plugin malgré le renseignement du champ «<small class="fine d-inline"> </small>Langue<small class="fine d-inline"> </small>» correspondant du formulaire de saisie).</p> <p>Grâce à cela, j'obtiens par exemple pour «<small class="fine d-inline"> </small>W3C<small class="fine d-inline"> </small>» :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>- Une entrée dans la table sigles/acronymes : SIGLE = W3C Descriptif = World Wide Web Consortium Langue = en</code></pre></div> <p>Sans mes modifs sur le plugin acronymes, j'obtenais le code suivant :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><abbr title="World Wide Web Consortium">W3C</abbr></code></pre></div> <p>Ce qui montre que le filtre acronymes ne prend pas en compte la langue renseignée dans la saisie. Une modification de ce filtre était donc <strong>nécessaire</strong>.</p> <p>Avec mes modifs, j'obtiens ce que je veux (qui est préconisé sur webaccessibilite.fr) :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><abbr lang="en" title="World Wide Web Consortium"><span lang="fr">W3C</span></abbr></code></pre></div> <p>Donc si le lecteur d'écran est paramétré pour développer les abréviations, on entendra l'expansion «<small class="fine d-inline"> </small>World Wide Web Consortium<small class="fine d-inline"> </small>», prononcée en anglais, et sinon, on entendra «<small class="fine d-inline"> </small>W3C<small class="fine d-inline"> </small>» prononcé en français.<br class="autobr"> Un utilisateur voyant voit les 2 d'un coup («<small class="fine d-inline"> </small>W3C<small class="fine d-inline"> </small>» dans le texte, et «<small class="fine d-inline"> </small>World Wide Web Consortium<small class="fine d-inline"> </small>» dans l'info-bulle)</p> <p>Si je veux que tout soit en anglais, alors il faut mettre une balise <code class="spip_code spip_code_inline" dir="ltr"><multi></code> dans le titre du sigle :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>- Une entrée dans la table sigles/acronymes : SIGLE = <multi>[en]W3C</multi> Descriptif = World Wide Web Consortium Langue = en</code></pre></div> <p>et j'obtiens le code :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><abbr lang="en" title="World Wide Web Consortium">W3C</abbr></code></pre></div> <p>Là, quelle que soit la config du lecteur d'écran, la prononciation sera anglaise. Cela ne change absolument rien visuellement par rapport au comportement précédent pour les voyants.</p> <p>2) Pour que l'effet glossaire fonctionne en plus de l'effet acronymes, avec les balises <code class="spip_code spip_code_inline" dir="ltr"><a></code> et <code class="spip_code spip_code_inline" dir="ltr"><abbr></code> dans le bon ordre, il a fallu <strong>ajouter 2 lignes</strong> de codes dans <code class="spip_code spip_code_inline" dir="ltr">glossaire_fonctions.php</code> (juste après la ligne 256, avant le <code class="spip_code spip_code_inline" dir="ltr">return $texte</code>) :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>if(strpos($texte, '</span></a></span></a')!==false) // si une balise span se trouve dans une balise abbr ou acronym $texte = preg_replace(',(<a(bbr|cronym) [^>]+>)(<span [^>]+>)(<a [^>]+class=\'cs_glossaire\'><span class=\'gl_mot\'>)(.*?)</span>(<span class="gl_.*?</span>)</a></span></a\\2>,smS', '$4$1$3$5</span></a$2></span>$6</a>', $texte);</code></pre></div> <p>Ceci permet de prendre en compte (si besoin) la balise <code class="spip_code spip_code_inline" dir="ltr"><span></code> si elle se trouve dans une balise <code class="spip_code spip_code_inline" dir="ltr"><abbr></code> pour remettre tout dans l'ordre.<br class="autobr"> <strong><br class="autobr"> Peux-tu commiter cette modif sur la lame glossaire<small class="fine d-inline"> </small>?</strong></p> <p>3) D'autre part, pour résoudre le problème évoqué précédemment sur le filtre <code class="spip_code spip_code_inline" dir="ltr">recherche_donnee</code> (effectivement, c'est un LIKE%%, ce qui pose de gros problèmes que je ne détaillerai pas ici) et afin d'être sûr que l'attribut <code class="spip_code spip_code_inline" dir="ltr">title</code> de la balise <code class="spip_code spip_code_inline" dir="ltr">a</code> soit le bon, voici le nouveau <code class="spip_code spip_code_inline" dir="ltr">attribut_abbr.html</code> :</p> <p><strong>(Attention : afin que ça s'affiche correctement dans le forum, j'ai dû mettre des retours chariots et des espaces entre les pipes, ce qu'il ne faut pas faire en prod pour obtenir un code XHTML correct)</strong></p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code>[(#REM) génère les attributs title et lang de la balise <a> pour un mot du glossaire - si la langue n'est pas définie dans le titre du mot (français par défaut), alors title contiendra la chaîne "MOT, Définition dans le glossaire" et lang contiendra "fr" (car un attribut lang vide ne serait pas valide) - si c'est une langue définie par un <multi>, alors title contiendra la chaîne "MOT" (même si cela n'apporte rien de plus que l'intitulé, un attribut vide ne serait pas valide) et lang contiendra la langue définie pour le mot pour une prononciation correcte Le mot est recherché par une expression régulière, ce qui permet de trouver le mot qu'il soit titré avec un <multi> ou pas ] [(#SET{mot,[(#ENV**{mot}|textebrut)]})] [(#SET{motif_mot,^#GET{mot}$|\]#GET{mot}<})] [href="(#ENV**{lien})"] title=" <B_Glossaire_title> <BOUCLE_Glossaire_title(MOTS){titre == #GET{motif_mot}}{0,1}> [(#TITRE* | trouve_attribut_lang | =={#LANG} | ?{[(#TITRE | contenu_balises_acronym_abbr_span) , <:def_glossaire:>], [(#TITRE | contenu_balises_acronym_abbr_span)]})] </BOUCLE_Glossaire_title> </B_Glossaire_title> #GET{mot} <//B_Glossaire_title>" lang=" <B_Glossaire_lang> <BOUCLE_Glossaire_lang(MOTS){titre == #GET{motif_mot}}{0,1}> [(#TITRE | extraire_balise{abbr} | ?{[(#TITRE | extraire_balise{abbr} | extraire_balise{span} | extraire_attribut{lang} | sinon{#LANG})], [(#TITRE | extraire_attribut{lang} | sinon{#LANG})]})] </BOUCLE_Glossaire_lang> </B_Glossaire_lang> #LANG <//B_Glossaire_lang>"</code></pre></div> <p>Le raccourci <code class="spip_code spip_code_inline" dir="ltr"><:def_glossaire:></code> correspond en français à «<small class="fine d-inline"> </small>Définition dans le glossaire<small class="fine d-inline"> </small>».</p> <p>Donc, on ne recherche plus dans la table des sigles/acronymes : l'attribut <code class="spip_code spip_code_inline" dir="ltr">title</code> de la balise <code class="spip_code spip_code_inline" dir="ltr"><a></code> est construit à partir du titre du mot dans le glossaire avant les traitements automatiques (#TITRE*), et l'attribut <code class="spip_code spip_code_inline" dir="ltr">lang</code> de la balise <code class="spip_code spip_code_inline" dir="ltr"><a></code> est recherché après les traitements automatiques du filtre acronymes et du filtre glossaire (donc sur #TITRE).</p> <p>Ainsi, on est assuré de la correspondance parfaite (title et lang) avec ce qui est saisi dans le glossaire (ce qui paraît plus cohérent pour une balise <code class="spip_code spip_code_inline" dir="ltr"><a></code> dont le <code class="spip_code spip_code_inline" dir="ltr">href</code> pointe sur la définition correspondante du glossaire, que ce soit une abréviation ou non).</p> <p>Je ne mets pas ici les filtres <code class="spip_code spip_code_inline" dir="ltr">trouve_attribut_lang</code> et <code class="spip_code spip_code_inline" dir="ltr">contenu_balises_acronym_abbr_span</code> (dans <code class="spip_code spip_code_inline" dir="ltr">mes_fonctions.php</code>) qu'il utilise pour ne pas être trop long, je ferai une description détaillée de tout cela avec le site que je prépare actuellement en local, avec des conseils pour les rédacteurs et les modifs à faire dans le plugin «<small class="fine d-inline"> </small>acronymes<small class="fine d-inline"> </small>».</p> <p>Au niveau accessibilité, je ne peux pas faire mieux, mais c'est déjà très complet ainsi, l'association des 2 plugins acronymes + glossaire fonctionne à merveille...</p> <p>Je te demande à nouveau si tu peux <strong>commiter</strong> dans <code class="spip_code spip_code_inline" dir="ltr">glossaire_fonctions.php</code> <strong>la modif indiquée plus haut</strong> entre la ligne 256 et 257 dans la zone<small class="fine d-inline"> </small>? Ceci afin que ceux qui tiennent compte des recommandations au niveau accessibilité puissent en profiter (qu'ils utilisent ou pas le plugin «<small class="fine d-inline"> </small>acronymes<small class="fine d-inline"> </small>»)...</p> Un glossaire interne pour vos sites 2012-04-17T21:03:59Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment456348 2012-04-17T21:03:59Z <p>Eh oui, c'est qu'à mon avis, il faut un mot dans le glossaire du style :</p> <p><code class="spip_code spip_code_inline" dir="ltr"> <multi>[en]JAWS</multi>/<abbr title='Job Access With Speech'>JAWS</abbr></code></p> <p>que l'on peut coder en clair, ou bien sous une forme RegEx simplifiée :</p> <p> <code class="spip_code spip_code_inline" dir="ltr"> <multi>[en]JAWS</multi>/,<abbr[^>]*>JAWS</abbr>,</code></p> <p> </p> <p> </p> <p>Il ne faut jamais oublier que le glossaire intervient en fin de traitement sur les balises (en <i>post_propre</i>), et que par conséquent, le titre du mot recherché doit correspondre exactement dans le code à ce que peuvent produire SPIP ou d'autres plugins comme les acronymes, donc parfois, des expressions complexes. Un simple coup d'oeil dans le code source de la page HTML produite pourra te renseigner sur le titre de glossaire à donner à ton mot multilingue...</p> Un glossaire interne pour vos sites 2012-04-17T04:46:27Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment456323 2012-04-17T04:46:27Z <p>Ce que tu dis est exact pour un mot du glossaire qui n'est pas une abréviation.</p> <p>Par exemple «<small class="fine d-inline"> </small>landmarks roles<small class="fine d-inline"> </small>» est un terme défini uniquement dans le glossaire (puisque ce n'est pas une abréviation), titré en <code class="spip_code spip_code_inline" dir="ltr"><multi></code>. Si l'on saisit <code class="spip_code spip_code_inline" dir="ltr"><multi>[en]landmarks roles</multi></code> dans le texte d'un article, alors c'est correctement interprété par le glossaire. Si l'on n'a pas la balise <code class="spip_code spip_code_inline" dir="ltr">multi</code> dans le texte, ce n'est pas reconnu, ce qui logique et adéquat.</p> <p>En revanche, si c'est une abréviation (c'est-à-dire en plus du glossaire, une entrée de la table sigles/acronymes), cela ne fonctionne pas : on a beau indiquer un <code class="spip_code spip_code_inline" dir="ltr"><multi>[en]JAWS</multi></code> dans le texte d'un article, ce n'est pas correctement interprété par le glossaire, seul l'effet «<small class="fine d-inline"> </small>acronymes<small class="fine d-inline"> </small>» se produit (pourtant dans la config de la lame, la case «<small class="fine d-inline"> </small>Ignorer les balises <code class="spip_code spip_code_inline" dir="ltr"><abbr></code> et <code class="spip_code spip_code_inline" dir="ltr"><acronym></code><small class="fine d-inline"> </small>» est bien <strong>décochée</strong>, ce qui permet à l'effet glossaire de fonctionner si le mot n'est pas titré en multi dans le glossaire). As-tu essayé avec le plugin «<small class="fine d-inline"> </small>acronymes<small class="fine d-inline"> </small>» et de renseigner le mot JAWS dans la table sigles/acronymes comme indiqué dans mon commentaire #456315<small class="fine d-inline"> </small>? C'est la seule façon pour constater ce problème.</p> <p>C'est le même soucis qu'il y a quelques jours où l'effet «<small class="fine d-inline"> </small>acronymes<small class="fine d-inline"> </small>» l'emportait toujours sur l'effet «<small class="fine d-inline"> </small>glossaire<small class="fine d-inline"> </small>», mais avec le dernier commit que tu avais fait, en <strong>décochant</strong> la case «<small class="fine d-inline"> </small>Ignorer les balises <code class="spip_code spip_code_inline" dir="ltr"><abbr></code> et <code class="spip_code spip_code_inline" dir="ltr"><acronym></code><small class="fine d-inline"> </small>» dans la config de la lame «<small class="fine d-inline"> </small>glossaire interne<small class="fine d-inline"> </small>», on peut avoir les 2 effets (si on laisse cochée la case «<small class="fine d-inline"> </small>Ignorer les balises <code class="spip_code spip_code_inline" dir="ltr"><abbr></code> et <code class="spip_code spip_code_inline" dir="ltr"><acronym></code><small class="fine d-inline"> </small>» alors il n'y a pas d'effet «<small class="fine d-inline"> </small>glossaire<small class="fine d-inline"> </small>»).</p> <p>Dans ma config, cette case est bien <strong>décochée</strong>.<br class="manualbr">Le problème semble donc se situer dans la prise en compte par le glossaire de la balise <code class="spip_code spip_code_inline" dir="ltr"><abbr></code> lorsqu'elle encapsule un <code class="spip_code spip_code_inline" dir="ltr">multi</code> <strong>contenu dans le titre du mot</strong> (ou si un <code class="spip_code spip_code_inline" dir="ltr">multi</code> <strong>venant du titre du mot</strong> est encapsulé dans une <code class="spip_code spip_code_inline" dir="ltr">abbr</code>, je ne sais pas dans quel sens ça fonctionne...). La balise <code class="spip_code spip_code_inline" dir="ltr">multi</code> saisie dans le texte d'un article ne pose elle pas de problème.</p> <p>J'ai essayé de chercher dans la fonction <code class="spip_code spip_code_inline" dir="ltr">glossaire_parse()</code> et <code class="spip_code spip_code_inline" dir="ltr">cs_rempl_glossaire()</code>, mais je rame...</p> Un glossaire interne pour vos sites 2012-04-16T14:02:33Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment456316 2012-04-16T14:02:33Z <p>Eh effet, le multi du glossaire sera recherché seulement si le mot trouvé est aussi en multi...</p> <p>Pour préciser : <br>- Sur une page française, le titre du mot-clé devient : <code class="spip_code spip_code_inline" dir="ltr"><span lang="en">JAWS</span></code> et le mot <code class="spip_code spip_code_inline" dir="ltr">JAWS</code> seul dans ce texte français n'est donc pas trouvé. En revanche, un <code class="spip_code spip_code_inline" dir="ltr"><multi>[en]JAWS</multi></code> dans le texte sera correctement interprété par le glossaire.</p> Un glossaire interne pour vos sites 2012-04-16T13:44:43Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment456315 2012-04-16T13:44:43Z <p>Petite précision : ce problème ne semble se poser que pour les abréviations étrangères :</p> <p>Exemple JAWS (abréviation de Job Access With Speech)</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>- une entrée dans la table sigles/acronymes : SIGLE = JAWS Descriptif = Job Access With Speech Langue = en</code></pre></div> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code> une entrée dans le glossaire : Titre = <multi>[en]JAWS</multi> Descriptif = Abréviation de {<code><multi>[en]Job Access With Speech</multi></code>}. C'est un logiciel pour déficient visuel qui a pour fonction essentielle d'être un lecteur d'écran : il transforme un texte affiché sur un écran en un texte oral (par un système de synthèse vocale) ou un texte en braille.</code></pre></div> <p>Dans ce cas, on obtient seulement l'effet «<small class="fine d-inline"> </small>acronyme<small class="fine d-inline"> </small>», pas l'effet «<small class="fine d-inline"> </small>glossaire<small class="fine d-inline"> </small>» (pas de lien vers la définition du glossaire).</p> <p>Si on supprime la balise <code class="spip_code spip_code_inline" dir="ltr"><multi></code> du titre du mot dans le glossaire, alors les 2 effets «<small class="fine d-inline"> </small>acronyme<small class="fine d-inline"> </small>» et «<small class="fine d-inline"> </small>glossaire<small class="fine d-inline"> </small>» fonctionnent. Le problème est alors dans que dans la page de glossaire alphabétique (<code class="spip_code spip_code_inline" dir="ltr">glossaire.html</code>), le titre du mot JAWS dans sa balise <code class="spip_code spip_code_inline" dir="ltr"><dl></code> n'est plus prononcée en anglais, mais en français...</p> <p>Il faudrait trouver le moyen de faire fonctionner les 2 effets, comme nous y sommes arrivés jusqu'ici, y compris lorsque l'abréviation est également un mot du glossaire avec un titre contenant la balise <code class="spip_code spip_code_inline" dir="ltr"><multi></code>, mais j'ai beau chercher depuis quelques heures, je ne vois pas où il faut agir...</p> Un glossaire interne pour vos sites 2012-04-16T13:43:56Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment456314 2012-04-16T13:43:56Z <p>Aucune idée <i>a priori</i>.</p> <p>Je viens de faire quelques tests du genre <code class="spip_code spip_code_inline" dir="ltr"><multi>[en]architrave</multi></code> et tout semble fonctionner correctement. Peux-tu préciser le problème<small class="fine d-inline"> </small>?</p> Un glossaire interne pour vos sites 2012-04-16T04:51:33Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment456305 2012-04-16T04:51:33Z <p>OK.</p> <p>En ce qui concerne le fait que les mots du glossaire dont le titre est encadré par des balises <code class="spip_code spip_code_inline" dir="ltr"><multi>[en]</code> ne sont pas traités par la lame du glossaire (pas de lien vers la définition dans le glossaire), tu sais pourquoi<small class="fine d-inline"> </small>?</p> Un glossaire interne pour vos sites 2012-04-14T21:31:44Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment456290 2012-04-14T21:31:44Z <p>Pour le code coloré, c'est : <code class="spip_code spip_code_inline" dir="ltr"><code class="lelangagequejeveux"></code> ou <code class="spip_code spip_code_inline" dir="ltr"><cadre class="lelangagequejeveux"></code>.</p> <p>Voici la liste des langages disponibles : <a href="http://zone.spip.org/trac/spip-zone/browser/_plugins_/coloration_code/branches/v0.6/geshi/geshi" class="spip_url spip_out" rel='nofollow external'>http://zone.spip.org/trac/spip-zone...</a></p> Un glossaire interne pour vos sites 2012-04-13T07:07:52Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment456244 2012-04-13T07:07:52Z <p>Oups...<br class="autobr"> Je n'étais pas bien réveillé : selon la spécification W3C c'est l'attribut <code class="spip_code spip_code_inline" dir="ltr">title</code> d<strong>e la balise abbr</strong> qui doit contenir seulement l'expansion et <strong>pas celui de la balise a</strong>.<br class="autobr"> Donc on peut mettre autre chose que l'expansion elle-même dans la valeur de l'attribut <code class="spip_code spip_code_inline" dir="ltr">title</code> <strong>de la balise a</strong> : le bon usage (accessibilité) de cet attribut est de reprendre l'intitulé du lien en y ajoutant des infos complémentaires, comme par exemple la destination + explicite du lien (ici «<small class="fine d-inline"> </small>Définition dans le glossaire<small class="fine d-inline"> </small>»). On peut donc y mettre aussi <code class="spip_code spip_code_inline" dir="ltr">(#LESVALEURS**{ligne_1, ' '}|attribut_html) :</code> devant si on veut.</p> <p>Le problème qui restera à solutionner aussi (si on peut trouver un moyen) c'est le problème de prononciation de la valeur de l'attribut s'il contient à la fois une expansion anglaise, et la destination du lien en français : par exemple «<small class="fine d-inline"> </small>World Wide Web Consortium, Définition dans le glossaire<small class="fine d-inline"> </small>» sera prononcé entièrement en français (ou alors entièrement en anglais si on a un attribut <code class="spip_code spip_code_inline" dir="ltr">lang="en"</code> défini sur la balise <code class="spip_code spip_code_inline" dir="ltr"><a></code>), mais ça j'en reparlerai peut-être plus tard... C'est un détail, on a déjà super avancé.</p> Un glossaire interne pour vos sites 2012-04-13T05:05:31Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment456241 2012-04-13T05:05:31Z <p>ça dépend si c'est un LIKE 'titre_mot' ou avec un joker 'titre_mot%' ou '%titre_mot%'.<br class="manualbr">Dans le premier cas, on est sûr de renvoyer la donnée correspondant au mot exact. C'est ce qu'il faudrait pour être sûr de ne pas avoir de problème</p> <p>Sinon, ta proposition de code marche parfaitement, je l'ai testée avec succès. Je retirerai juste <code class="spip_code spip_code_inline" dir="ltr">(#LESVALEURS**{ligne_1, ' '}|attribut_html) :</code> afin que l'attribut title ne contienne que l'expansion seule (car cet attribut ne doit rien contenir d'autre selon la spécification w3C).</p> <p>Ce qui donnerai :</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code>[(#SET{mot,[(#ENV**{mot}|textebrut)]})] [href="(#ENV**{lien})"] <BOUCLE_acronymes_sigles(FORMS){type_form=acronymes_sigles}> <B_Sigles> title="<BOUCLE_Sigles(FORMS_DONNEES){id_form}{tri_donnee ligne_1}{recherche_donnee #GET{mot}}{0,1}>[(#LESVALEURS**{texte_1, ' '}|attribut_html), Définition dans le glossaire]</BOUCLE_Sigles>" </B_Sigles> </BOUCLE_acronymes_sigles></code></pre></div> <p>Ici, le class=«<small class="fine d-inline"> </small>php<small class="fine d-inline"> </small>» sur la balise <code class="spip_code spip_code_inline" dir="ltr"><cadre></code> ne me donne pas la même coloration syntaxique que toi... Une autre class à indiquer<small class="fine d-inline"> </small>??</p> <p>D'autre part, je viens seulement maintenant de le remarquer, mais cela n'a rien à voir avec le code que tu as proposé dans ton dernier post, l'effet glossaire ne s'applique pas sur les abréviations dont le titre dans le glossaire est encadré par <code class="spip_code spip_code_inline" dir="ltr"><multi>[en]</code>. Dans ce cas l'effet acronymes l'emporte. Aurais-tu une explication<small class="fine d-inline"> </small>?</p> Un glossaire interne pour vos sites 2012-04-12T23:58:36Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment456240 2012-04-12T23:58:36Z <p>Sans PHP supplémentaire, peut-être un truc du genre :</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code>function glossaire_attributs_lien($id_mot, $lien, $titre, $les_titres) { return recuperer_fond('fonds/attribut_abbr', array( 'mot'=>$les_titres[0], 'lien'=>$lien, )); }</code></pre></div> <p>avec fonds/attribut_abbr.html :</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code>[(#SET{mot,[(#ENV**{mot}|textebrut)]})] [href="(#ENV**{lien})"]<BOUCLE_acronymes_sigles(FORMS){type_form=acronymes_sigles}><B_Sigles> title="<BOUCLE_Sigles(FORMS_DONNEES){id_form}{tri_donnee ligne_1}{recherche_donnee #GET{mot}}{0,1}>[(#LESVALEURS**{ligne_1, ' '}|attribut_html)[ : (#LESVALEURS**{texte_1, ' '}|attribut_html)]]</BOUCLE_Sigles>"</B_Sigles> </BOUCLE_acronymes_sigles></code></pre></div> <p>Mais le critère <strong>recherche_donnee</strong> exécute un LIKE... C'est peut-être pas la meilleure chose...</p> Un glossaire interne pour vos sites 2012-04-12T17:43:23Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment456234 2012-04-12T17:43:23Z <p>Avec la coloration syntaxique voici un code + lisible :</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code>/************************************ surcharge de la fonction glossaire_attributs_lien_dist() de la lame glossaire du couteau suisse. Ceci permet d'intégrer un attribut title personnalisé dans la balise <a> d'un mot du glossaire ************************************/ function glossaire_attributs_lien($id_mot, $lien, $titre, $les_titres) { return "href='$lien' title=\"" . expansion_abbr_acronym_chercher( contenu_balises_acronym_abbr_span($les_titres[0]) ) . ', définition dans le glossaire"'; // le glossaire n'échappe pas les balises span (si le titre du mot est en langue étrangère, les balises <multi>[en] sont transformées en <span lang="en">) => Ces balises ne doivent pas se retrouver dans la valeur de l'attribut title /* Le problème qui subsiste (pas de solution trouvée) est que "définition dans le glossaire" étant prononcé dans la langue du site (ici fr), alors l'expansion également, ce qui pour une expansion de signification étrangère qui serait donc mal prononcée peut rendre difficile sa compréhension. Mais il reste néanmoins la possibilité de cliquer sur le lien pour avoir accès à la définition complète du mot dans le glossaire (l'expansion sera là prononcée dans la bonne langue) */ }</code></pre></div> <p>et pour chercher l'expansion de l'abréviation :</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code>/*************************** La fonction suivante permet, depuis la table "acronymes_sigles" installée avec le plugin "acronymes", de récupérer l'expansion d'une abréviation, afin de l'afficher comme valeur de l'attribut title dans la fonction glossaire_attributs_lien() qui surcharge la fonction glossaire_attributs_lien_dist() de la lame glossaire du couteau suisse. Ceci permet de donner un accès direct à l'expansion d'une abréviation quelle que soit la configuration du lecteur d'écran (lecture du titre de lien ou de l'intitulé du lien) ************************/ $expansion = $expression; // initialisation au cas où l'expression n'est pas une abréviation, c'est l'expression elle-même qui sera renvoyée $liste=Forms_liste_tables('acronymes_sigles'); if (count($liste)) { include_spip('forms_fonctions'); $id_form = intval(reset($liste)); $res = spip_query("SELECT id_donnee FROM spip_forms_donnees WHERE id_form="._q($id_form)." AND statut='publie'"); while ($row = spip_fetch_array($res)) { $accro = str_replace( ".","",forms_calcule_les_valeurs( 'forms_donnees_champs', $row['id_donnee'], 'ligne_1', $id_form,' ', true ) ); if (strlen($accro) && $accro == $expression) { $expansion = forms_calcule_les_valeurs('forms_donnees_champs', $row['id_donnee'], 'texte_1', $id_form,' ', true); } } }</code></pre></div> <p>pour cette dernière fonction, j'ai repris une partie du code de la fonction <code class="spip_code spip_code_inline" dir="ltr">acronymes_ajouter()</code> dans le fichier <code class="spip_code spip_code_inline" dir="ltr">acronymes_filtre.php</code> du plugin acronymes.</p> <p>Par contre, pour répondre à ta question sur la mise en cache, je ne connais pas suffisamment spip à ce jour pour savoir comment je peux utiliser la fonction <code class="spip_code spip_code_inline" dir="ltr">recuperer_fonc()</code>.<br class="autobr"> Cependant, dans les fichiers du plugin acronymes, j'ai trouvé dans le dossier modeles un fichier sigles.html qui contient des boucles pour récupérer les données voulues (et dont on pourrait s'inspirer) :</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code><BOUCLE_acronymes_sigles(FORMS){type_form=acronymes_sigles}> <B_Sigles> <dl> <BOUCLE_Sigles(FORMS_DONNEES){id_form}{tri_donnee ligne_1}> <dt>#LESVALEURS{ligne_1,' '}</dt> <dd>#LESVALEURS{texte_1,' '}</dd> </BOUCLE_Sigles> </dl> </B_Sigles> <p><:acronymessigles:aucune_reponse:></p> <//B_Sigles> </BOUCLE_acronymes_sigles> <p><:acronymessigles:aucune_reponse:></p> <//B_acronymes_sigles></code></pre></div> <p>Je sais que le champ <code class="spip_code spip_code_inline" dir="ltr">texte_1</code> contient l'expansion à récupérer, mais je ne vois pas comment utiliser recuperer_fond() dans ma fonction <code class="spip_code spip_code_inline" dir="ltr">glossaire_attributs_lien()</code>, comme je t'ai dit je ne connais pas encore assez bien spip...</p> Un glossaire interne pour vos sites 2012-04-11T20:13:15Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment456203 2012-04-11T20:13:15Z <p>Alors pour le code coloré, c'est : <code class="spip_code spip_code_inline" dir="ltr"><code class="php"></code> ou <code class="spip_code spip_code_inline" dir="ltr"><cadre class="php"></code>.</p> <p>Pour ce qui est de ton accès en BDD, serait-il possible de passer par un fond pour profiter du cache et éviter la connexion systématique, en utilisant la fonction SPIP <code class="spip_code spip_code_inline" dir="ltr">récuperer_fond()</code> directement dans la fonction <code class="spip_code spip_code_inline" dir="ltr">glossaire_attributs_lien()</code>. Pourrait-on donc simplifier tout cela avec un fond HTML<small class="fine d-inline"> </small>?</p> Un glossaire interne pour vos sites 2012-04-11T15:49:41Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment456200 2012-04-11T15:49:41Z <p>Alors là, pas mal<small class="fine d-inline"> </small>!</p> <p>En configurant la lame glossaire avec la case ignorer les balises <code class="spip_code spip_code_inline" dir="ltr"><acronym></code> et <code class="spip_code spip_code_inline" dir="ltr"><abbr></code> <strong>décochée</strong>, on obtient bien le code que je souhaitais.</p> <p>Par exemple pour W3C :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><a class="cs_glossaire" name="mot16_4" title="W3C, définition dans le glossaire" href="./?+-W3C-+"> <span class="gl_mot"><abbr lang="en" title="World Wide Web consortium">W3C</abbr></span> <span class="gl_dl"> <span class="gl_dt">W3C</span> <span class="gl_dd"> Abréviation de World Wide Web Consortium. C'est un organisme de normalisation chargé de promouvoir la compatibilité des technologies web. Il émet des recommandations qui ont valeur de standards internationaux et décrit les spécifications des différentes technologies utilisées sur le web. </span> </a></code></pre></div> <p>Le seul problème résiduel réside dans la gestion des liens par le lecteur d'écran (je n'ai testé que JAWS 10)<small class="fine d-inline"> </small>; je rappelle que celui-ci peut être paramétré pour lire le titre de lien (attribut title de la balise <code class="spip_code spip_code_inline" dir="ltr"><a></code>), ou bien l'intitulé du lien (contenu entre les balises <code class="spip_code spip_code_inline" dir="ltr"><a></code> et <code class="spip_code spip_code_inline" dir="ltr"></a></code>), ou encore le plus long des 2 (titre ou intitulé).</p> <p>Si le lecteur est paramétré pour lire l'intitulé du lien, comme celui-ci contient une balise <code class="spip_code spip_code_inline" dir="ltr"><abbr></code>, alors l'expansion sera prononcée par le lecteur (si le lecteur est paramétré pour développer les abréviations)</p> <blockquote class="spip"> <p>«<small class="fine d-inline"> </small>Lien World Wide Web consortium<small class="fine d-inline"> </small>» (prononciation anglaise)</p> </blockquote> <p>, donc la clarification est accessible, tout comme la définition complète si on active le lien.</p> <p>Si c'est l'attribut title du lien qui est lu :</p> <blockquote class="spip"> <p>«<small class="fine d-inline"> </small>Lien W3C, définition dans le glossaire<small class="fine d-inline"> </small>» (prononciation française)</p> </blockquote> <p>Le problème ici, est que l'expansion n'est plus accessible directement.</p> <p>Il faut donc que l'attribut title contienne l'expansion soit <br class="autobr"> <code class="spip_code spip_code_inline" dir="ltr"><a class="cs_glossaire" name="mot16_4" title="World Wide Web consortium, définition dans le glossaire" href="./?+-W3C-+">.....</a></code></p> <p>Ce qui donnera à la lecture :</p> <blockquote class="spip"> <p>«<small class="fine d-inline"> </small>Lien <strong>World Wide Web consortium</strong>, définition dans le glossaire<small class="fine d-inline"> </small>» (prononciation française)</p> </blockquote> <p>Pour arriver à ce résultat, il suffit de modifier la fonction <code class="spip_code spip_code_inline" dir="ltr">glossaire_attributs_lien</code> (à placer dans <code class="spip_code spip_code_inline" dir="ltr">mes_fonctions.php</code> qui surcharge la nouvelle fonction glossaire_attributs_lien_dist committée il y a quelques jours (désolé pour la mise en forme du code, mais je ne sais pas comment faire pour avoir la coloration syntaxique sur ce forum) :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>function glossaire_attributs_lien($id_mot, $lien, $titre, $les_titres) { return "href='$lien' title=\"" . expansion_abbr_acronym_chercher(contenu_balises_acronym_abbr_span($les_titres[0])) . ', définition dans le glossaire"'; }</code></pre></div> <p>et d'ajouter la fonction <code class="spip_code spip_code_inline" dir="ltr">expansion_abbr_acronym_chercher()</code> :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>function expansion_abbr_acronym_chercher($expression) { $expansion = $expression; $liste=Forms_liste_tables('acronymes_sigles'); if (count($liste)) { include_spip('forms_fonctions'); $id_form = intval(reset($liste)); $res = spip_query("SELECT id_donnee FROM spip_forms_donnees WHERE id_form="._q($id_form)." AND statut='publie'"); while ($row = spip_fetch_array($res)) { $accro=str_replace(".","",forms_calcule_les_valeurs('forms_donnees_champs', $row['id_donnee'], 'ligne_1', $id_form,' ', true)); if (strlen($accro) && $accro == $expression) { $expansion = forms_calcule_les_valeurs('forms_donnees_champs', $row['id_donnee'], 'texte_1', $id_form,' ', true); } } } return $expansion; }</code></pre></div> <p>Euh, je pourrais peut-être poster un code plus clair, avec les commentaires qui vont avec si on me dit comment faire pour avoir une mise en forme propre, la balise <code class="spip_code spip_code_inline" dir="ltr"><code></code> ou <code class="spip_code spip_code_inline" dir="ltr"><cadre></code> n'étant pas satisfaisantes en l'état.</p> Un glossaire interne pour vos sites 2012-04-09T10:36:11Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment456132 2012-04-09T10:36:11Z <p>Bon, abandonnons alors la surcharge de la balise <code class="spip_code spip_code_inline" dir="ltr"><a></code>.</p> <p>Suite à cette très longue discussion, je propose que la lame du CS sont configurable au niveau des balises <code class="spip_code spip_code_inline" dir="ltr"><abbr></code> et <code class="spip_code spip_code_inline" dir="ltr"><acronym></code>. Par défaut, elle les ignore.</p> <p>Si l'utilisateur veut quand même les voir traitées par le glossaire, alors la lame s'occupe de la mise en ordre correct des balises.</p> <p>Dernier commit : <a href="http://zone.spip.org/trac/spip-zone/changeset/60201" class="spip_url spip_out" rel='nofollow external'>http://zone.spip.org/trac/spip-zone...</a>. Que donnent tes tests dans ce cas<small class="fine d-inline"> </small>?</p> Un glossaire interne pour vos sites 2012-04-09T06:59:51Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment456128 2012-04-09T06:59:51Z <p>Le problème est ici au niveau de la sémantique : une balise <code class="spip_code spip_code_inline" dir="ltr">abbr</code> ne doit contenir qu'un terme abrégé, avec comme attribut <code class="spip_code spip_code_inline" dir="ltr">title</code> l'expansion de l'abréviation et rien d'autre.<br class="autobr"> Selon la spécification du W3C (<a href="http://www.w3.org/TR/html5/the-abbr-element.html#the-abbr-element" class="spip_url spip_out auto" rel="nofollow external">http://www.w3.org/TR/html5/the-abbr-element.html#the-abbr-element</a>) :</p> <blockquote class="spip"> <p>The abbr element represents an abbreviation or acronym, optionally with its expansion. The title attribute may be used to provide an expansion of the abbreviation. The attribute, if specified, must contain an expansion of the abbreviation, and nothing else.</p> </blockquote> <p>Il ne faut donc pas confondre expansion du terme abrégé et définition du terme : la première désigne la signification de chaque lettre composant un acronyme (ex : HTML pour «<small class="fine d-inline"> </small>Hyper Text Makrkup Language<small class="fine d-inline"> </small>») ou la signification de l'abréviation (ex : etc. pour «<small class="fine d-inline"> </small>et caetera<small class="fine d-inline"> </small>») et la 2<sup class="typo_exposants">e</sup> donne <strong>une explication</strong> par une définition du terme.</p> <p>Ensuite, toutes les abréviations ne sont pas forcément à associer à une définition au sens du glossaire si l'expansion de l'abréviation suffit à la compréhension du terme. C'est ensuite au rédacteur de décider s'il doit apporter des informations complémentaires à l'expansion pour faciliter la compréhension du terme : par exemple, pour HTML, l'expansion «<small class="fine d-inline"> </small>Hyper Text Makrkup Language<small class="fine d-inline"> </small>» n'est pas suffisante pour expliquer ce qu'est et à quoi sert HTML. Dans ce cas il faudrait y associer une définition comme celle-ci : «<small class="fine d-inline"> </small>Abréviation de <i>HyperText Markup Language</i>. C'est un langage de balisage utilisé pour écrire les pages Web : il définit la structure et le contenu de la page.<small class="fine d-inline"> </small>»</p> <p>D'après la spécification W3C, l'attribut title de la balise <code class="spip_code spip_code_inline" dir="ltr"><abbr></code> ne doit pas contenir autre chose que l'expansion «<small class="fine d-inline"> </small>HyperText Markup Language<small class="fine d-inline"> </small>» : pour ma part, c'est pour cela que ce terme fait partie de 2 tables (acronymes : pour expliciter l'expansion, glossaire : pour expliciter la définition plus complète).</p> <p>Avec la lame glossaire du CS actuelle, à condition d'utiliser conjointement le plugin acronymes, ce qui est mon cas, on ne voit que l'expansion (elle est prononcée par la synthèse vocale pour les non-voyants), pour accéder à la définition, il faut se rendre dans le glossaire (il faut un lien vers ce glossaire en haut de chaque page pour y faciliter l'accès). En effet la balise <code class="spip_code spip_code_inline" dir="ltr">abbr</code> étant échappée par la lame glossaire du CS, «<small class="fine d-inline"> </small>l'effet glossaire<small class="fine d-inline"> </small>» ne s'applique pas, c'est «<small class="fine d-inline"> </small>l'effet plugin acronymes<small class="fine d-inline"> </small>» qui l'emporte.</p> <p>Par contre, il existe beaucoup de termes à définir qui ne sont pas des abréviations (<i>architrave</i>, <i>référentiel d'accessibilité</i>,...). Dans ce cas, «<small class="fine d-inline"> </small>l'effet glossaire<small class="fine d-inline"> </small>» l'emporte (puisqu'il n'y a pas d'entrée correspondante dans la table des acronymes) : La lame glossaire du CS actuelle insère un lien vers la définition du glossaire (accessible à tous) et affiche la définition (accessible aux voyants seuls) dans une petite fenêtre au survol souris, ce qui reste un bon <strong>compromis</strong> puisque la définition est accessible à tous d'une manière ou d'une autre.</p> <p>Ce serait une erreur de sémantique d'encadrer le terme «<small class="fine d-inline"> </small>architrave<small class="fine d-inline"> </small>» par une balise <code class="spip_code spip_code_inline" dir="ltr">abbr</code> alors que ce terme <strong>n'est pas</strong> une abréviation.</p> <p>Il est vrai que le glossaire peut gérer toutes les définitions (des terme abrégés, comme des termes normaux), mais ne peut pas actuellement faire la distinction sémantique entre une abréviation et un terme «<small class="fine d-inline"> </small>normal<small class="fine d-inline"> </small>». Pour gérer les acronymes, il faudrait peut-être créer un sous-groupe de mots «<small class="fine d-inline"> </small>abréviations<small class="fine d-inline"> </small>» au sein du groupe de mots «<small class="fine d-inline"> </small>Glossaire<small class="fine d-inline"> </small>». Ensuite il y a du code à retoucher pour faire en sorte de savoir si un terme appartient au sous-groupe «<small class="fine d-inline"> </small>abréviations<small class="fine d-inline"> </small>» : si c'est le cas, alors on indiquerait le code suivant (par exemple avec le terme W3C) :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><a class="cs_glossaire" name="mot16_4" title="W3C, définition dans le glossaire" href="./?+-W3C-+"> <span class="gl_mot"><abbr lang="en" title="World Wide Web consortium">W3C</abbr></span> <span class="gl_dl"> <span class="gl_dt">W3C</span> <span class="gl_dd"> Abréviation de World Wide Web Consortium. C'est un organisme de normalisation chargé de promouvoir la compatibilité des technologies web. Il émet des recommandations qui ont valeur de standards internationaux et décrit les spécifications des différentes technologies utilisées sur le web. </span> </a></code></pre></div> <p>A noter que dans ce cas, selon le paramétrage du lecteur d'écran (JAWS 10) pour la lecture des liens, on obtient la lecture suivante : <br>- Paramétrage lecture du titre de lien (attribut <code class="spip_code spip_code_inline" dir="ltr">title</code>) :</p> <blockquote class="spip"> <p>«<small class="fine d-inline"> </small>Lien W3C, définition dans le glossaire<small class="fine d-inline"> </small>»</p> </blockquote> <p><br>- Paramétrage lecture de l'intitulé du lien (texte entre les balises <code class="spip_code spip_code_inline" dir="ltr"><a></code> et <code class="spip_code spip_code_inline" dir="ltr"></a></code>) :</p> <blockquote class="spip"> <p>«<small class="fine d-inline"> </small>Lien World Wide Web consortium<small class="fine d-inline"> </small>»</p> </blockquote> <p>(ce qui est après le mot «<small class="fine d-inline"> </small>Lien<small class="fine d-inline"> </small>» est prononcé en anglais à cause de l'attribut <code class="spip_code spip_code_inline" dir="ltr">lang</code> de la balise <code class="spip_code spip_code_inline" dir="ltr"><abbr></code>) si le lecteur d'écran est paramétré pour développer les abréviations, ou sinon</p> <blockquote class="spip"> <p>«<small class="fine d-inline"> </small>W3C<small class="fine d-inline"> </small>»</p> </blockquote> <p>(prononcé en anglais, ce qui peut être un problème pour sa compréhension par les non-anglophones, voir post scriptum en fin de commentaire).</p> <p>Donc ce code foncionne super bien, c'est pourquoi je voulais arriver à cela<small class="fine d-inline"> </small>! (voir le commentaire #comment456001 sur cette page). Ce serait l'idéal.</p> <p>Si le terme n'appartient pas au sous-groupe «<small class="fine d-inline"> </small>abréviations<small class="fine d-inline"> </small>», ce serait le code suivant (par exemple avec le terme <i>référentiel d'accessibilité</i>) :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><a class="cs_glossaire" name="mot16_4" title="référentiel d'accessibilité, définition dans le glossaire" href="./?+-Referentiel-d-accessibilite-+"> <span class="gl_mot">référentiel d'accessibilité</span> <span class="gl_dl"> <span class="gl_dt">référentiel d'accessibilité</span> <span class="gl_dd">La définition... </span> </a></code></pre></div> <p>Ceci supposerait que pour un mot du sous-groupe «<small class="fine d-inline"> </small>abréviations<small class="fine d-inline"> </small>» dans le glossaire, dans l'interface privée de spip, le champ de saisie «<small class="fine d-inline"> </small>descriptif rapide<small class="fine d-inline"> </small>» contiennent l'expansion seule, tandis que le champ «<small class="fine d-inline"> </small>Texte explicatif<small class="fine d-inline"> </small>» contiendra<strong> en plus de l'expansion</strong>, la définition complète.</p> <p>En attendant, j'utilise le plugin acronyme en association avec le glossaire, ce qui répond à mes besoins, mais m'oblige effectivement à avoir le terme dans 2 tables différentes, et présente l'inconvénient de la prédominance de l'effet acronyme sur l'effet glossaire (pour les termes abrégés seulement) comme j'ai précisé plus haut.</p> <p>D'autre part, en ce qui concerne la lecture vocale du code que tu proposes, à savoir :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><abbr title="Architrave" name="mot1_0" class="cs_glossaire"><span class="gl_mot">architrave</span><span class="gl_dl"> <span class="gl_dt">Architrave</span> <span class="gl_dd">Le texte explicatif complet du mot !</span> </span></abbr></code></pre></div> <p>je viens de tester avec le lecteur d'écran JAWS 10 : <br>- Si celui-ci est paramétré pour développer les abréviations, alors c'est la valeur de l'attribut <code class="spip_code spip_code_inline" dir="ltr">title</code> qui sera prononcé seule, soit</p> <blockquote class="spip"> <p>«<small class="fine d-inline"> </small>architrave<small class="fine d-inline"> </small>»</p> </blockquote> <p>. Dans ce cas, il n'y a aucun accès possible à la définition. <br>- Si JAWS est paramétré pour ne pas développer les abréviations, alors c'est tout le contenu situé entre les balises <code class="spip_code spip_code_inline" dir="ltr"><abbr></code> et <code class="spip_code spip_code_inline" dir="ltr"></abbr></code> qui sera lu, soit</p> <blockquote class="spip"> <p>«<small class="fine d-inline"> </small>architrave Architrave Le texte explicatif complet du mot<small class="fine d-inline"> </small>!<small class="fine d-inline"> </small>»</p> </blockquote> <p>. Dans ce cas, les 3 textes entre les balises <code class="spip_code spip_code_inline" dir="ltr">span</code> sont prononcés l'un après l'autre (d'où la répétition du mot architrave).</p> <p>On constate donc qu'<strong>outre le problème de sémantique déjà signalé, cette solution n'est pas satisfaisante pour un lecteur vocal</strong>.</p> <p>Enfin, afin que le respect de la sémantique soit total, le terme à définir devrait être encapsulé dans une balise <code class="spip_code spip_code_inline" dir="ltr"><dfn></code> selon les modalités décrites sur la page <a href="http://www.w3.org/wiki/HTML/Elements/dfn" class="spip_url spip_out auto" rel="nofollow external">http://www.w3.org/wiki/HTML/Elements/dfn</a> et plus précisément sur <a href="http://www.w3.org/TR/html5/the-dfn-element.html#the-dfn-element" class="spip_url spip_out auto" rel="nofollow external">http://www.w3.org/TR/html5/the-dfn-element.html#the-dfn-element</a>, ceci afin d'indiquer que le terme en question est défini quelque part : reste à voir où (il semble que ce soit le noeud parent immédiat de l'élément <code class="spip_code spip_code_inline" dir="ltr"><dfn></code>), je n'ai pas encore approfondi cette question, il me faut être sûr que j'ai bien assimilé la spécification du W3C, ce qui est loin d'être sûr, je viens juste de la découvrir...</p> <p>Pour l'instant donc, en l'état actuel de mes connaissances, je pense que la solution actuelle (association des plugins acronymes + lame glossaire du CS) me semble le meilleur compromis pour une bonne accessibilité<small class="fine d-inline"> </small>; sinon, pour éviter les inconvénients signalés (terme abrégé dans 2 tables, échappement de balise <code class="spip_code spip_code_inline" dir="ltr"><abbr></code> par la lame), il faudrait retoucher le code de la lame glossaire afin d'obtenir le codage idéal (voir question du sous-groupe «<small class="fine d-inline"> </small>abréviations<small class="fine d-inline"> </small>», abordée plus haut). Si dans l'avenir je trouve mieux, j'en ferai part sur ce forum.</p> <p>PS : pour les abréviations d'origine étrangère, il faut tenir compte de ce qui est dit sur <a href="http://www.webaccessibilite.fr/abreviations-sigles-et-acronymes-2008-03-26.php#etr" class="spip_url spip_out auto" rel="nofollow external">http://www.webaccessibilite.fr/abreviations-sigles-et-acronymes-2008-03-26.php#etr</a><small class="fine d-inline"> </small>; Pour les mots du sous-groupe «<small class="fine d-inline"> </small>abréviations<small class="fine d-inline"> </small>», la solution préconisée pourrait être mise en place en ajoutant une balise <code class="spip_code spip_code_inline" dir="ltr"><multi></code> encadrant la valeur du champ de saisie «<small class="fine d-inline"> </small>descriptif rapide<small class="fine d-inline"> </small>» afin de préciser d'une part la langue de prononciation de l'expansion, et d'autre part une autre balise <code class="spip_code spip_code_inline" dir="ltr"><multi></code> dans le champ «<small class="fine d-inline"> </small>titre<small class="fine d-inline"> </small>» du mot si la langue de prononciation de l'abréviation elle-même doit être différente de la langue principale du site.</p> Un glossaire interne pour vos sites 2012-04-07T23:46:59Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment456115 2012-04-07T23:46:59Z <p>Merci pour toutes ces explications précises, le sujet est intéressant. Je continue de penser qu'un terme ne doit faire partie que d'une seule table, histoire d'éviter une confusion des genres : au webmestre de choisir s'il veut une simple abréviation ou un vraie définition...</p> <p>Il reste une 3<sup class="typo_exposants">e</sup> solution : pouvoir surharger la balise utilisée par la lame du CS, et donc abandonner la balise <code class="spip_code spip_code_inline" dir="ltr"><a/></code> du glossaire interne au profit de <code class="spip_code spip_code_inline" dir="ltr"><abbr/></code> par exemple. On perd dans ce cas le lien pointant vers le squelette glossaire.html, mais est-il indispensable finalement<small class="fine d-inline"> </small>? Que fera la synthèse vocale dans un pareil cas<small class="fine d-inline"> </small>? Serait-ce une piste exploitable<small class="fine d-inline"> </small>?</p> <p>Exemple du genre :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><abbr title="Architrave" name="mot1_0" class="cs_glossaire"><span class="gl_mot">architrave</span><span class="gl_dl"> <span class="gl_dt">Architrave</span> <span class="gl_dd">Le texte explicatif complet du mot !</span> </span></abbr></code></pre></div> <p>N'hésite pas à nous tenir au courant de tes travaux.</p> Un glossaire interne pour vos sites 2012-04-07T10:10:44Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment456097 2012-04-07T10:10:44Z <p>Au final, je vais retenir la solution n°1, car elle me permet de ne pas modifier le code de <code class="spip_code spip_code_inline" dir="ltr">glossaire_fonctions.php</code>, ce qui me protège des futures mises à jour du plugin, sachant que dans ma page d'aide sur l'accessibilité du site, j'explique comment les utilisateurs peuvent avoir accès (même si c'est indirectement) à la définition plus complète du terme en abréviation dans le glossaire.</p> <p>Ceci est le meilleur compromis, je pense.</p> <p>Merci pour les conseils prodigués et la modif sur la lame glossaire pour l'attribut <code class="spip_code spip_code_inline" dir="ltr">title</code>.</p> <p>Quand tout sera en place et que j'aurais un peu de temps, je rédigerai un article expliquant l'utilisation conjointe des plugins acronymes et glossaire afin de respecter les exigences des principaux référentiels d'accessibilité avec un site sous spip...</p> Un glossaire interne pour vos sites 2012-04-05T15:23:23Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment456057 2012-04-05T15:23:23Z <p>Tout d'abord, abbr et glossaire ne disent pas exactement la même chose dans la mesure où la définition du glossaire est complète comme je l'ai indiqué dans mon précédent post avec l'exemple « W3C ». J'ai plein d'autres exemples comme ceux-là (voir les copies d'écran jointes pour un autre exemple)</p> <p>Je souhaitais simplement permettre l'accès à la définition <strong>complète</strong> à travers le lien, ce qui n'est pas possible si la balise <code class="spip_code spip_code_inline" dir="ltr"><a></code> est à l'intérieur d'une balise <code class="spip_code spip_code_inline" dir="ltr"><abbr></code> : dans ce cas, la synthèse vocale ignore le lien et lit l'attribut <code class="spip_code spip_code_inline" dir="ltr">title</code> de la balise <code class="spip_code spip_code_inline" dir="ltr"><abbr></code>, l'utilisateur (non voyant) n'étant pas informé qu'il existe un lien vers la définition complète du glossaire, mais au moins il connaît la signification de chaque lettre de l'abréviation.</p> <p>Je pensais donc qu'il suffisait d'inverser l'encapsulation (mettre<code class="spip_code spip_code_inline" dir="ltr"><a></code> dans <code class="spip_code spip_code_inline" dir="ltr"><abbr></code>), ce que je viens de tester sur une copie du code de la page. Mais là, le résultat est exactement inverse, c'est-à-dire que la synthèse vocale « voit » le lien puisqu'elle indique « lien W3C, définition dans le glossaire », par contre elle ne lit pas l'attribut <code class="spip_code spip_code_inline" dir="ltr">title</code> de la balise <code class="spip_code spip_code_inline" dir="ltr"><abbr></code> qui suit, ce qui fait que l'utilisateur non-voyant ne peut pas savoir la signification de chaque lettre de l'abréviation sans activer le lien par la touche entrée, donc en changeant de page...</p> <p>J'aurai voulu que la synthèse vocale lise les 2 (l'un après l'autre) : à savoir le lien s'il souhaite une définition complète et pendant la lecture de l'intitulé du lien, sa clarification, ce qui donnerait ici « lien Word Wide Web Consortium, définition dans le glossaire » au lieu de "lien W3C, définition dans le glossaire. Mais d'après mes derniers tests, je ne peux pas arriver à avoir ce comportement.</p> <p>Si on se pose la question du pourquoi j'utilise le plugin acronymes à côté de la lame glossaire, c'est pour satisfaire autant le côté sémantique et le côté pratique : <br>- le côté sémantique car une abréviation, un sigle, un acronyme se doit d'être encadré au moins une fois par une balise <code class="spip_code spip_code_inline" dir="ltr"><abbr title="clarification de l'abréviation"></code> <br>- le côté pratique (pas seulement pour les voyants<small class="fine d-inline"> </small>!), si la clarification directe n'est pas suffisante pour la compréhension, un lien vers une définition plus complète est proposé</p> <p>Il me reste donc 2 choix possibles :</p> <p>1) Soit je ne touche pas à la lame du glossaire et dans ce cas, l'échappement des balises <code class="spip_code spip_code_inline" dir="ltr"><abbr></code> dans les fonctions du glossaire font que toutes mes abréviations sont clarifiées (accessibles aux voyants comme aux non-voyants), mais il n' y a pas de lien vers une définition plus complète (cette dernière est inaccessible pour tout le monde) : voir la capture d'écran test_acronymes+glossaire(abbr-echappees).png</p> <p>Dans ce cas, le seul moyen d'accéder à la définition complète du mot dans le glossaire se fait par le squelette glossaire.html en passant par le moteur de recherche du site et en cliquant sur le lien du mot-clé dans la page des résultats.</p> <p>2) Soit j'empêche la lame du glossaire d'échapper les balises <code class="spip_code spip_code_inline" dir="ltr"><abbr></code>, dans ce cas, les non-voyants ont accès à la clarification de l'abréviation, mais pas au lien vers la définition complète, tandis que les voyants ont accès direct visuellement à la définition complète (donc à la clarification de l'abréviation) sans changer de page... _ Voir la capture d'écran test_acronymes+glossaire(abbr-non-echappees).png</p> <p>La solution n°2 est plus proche de ce que je recherche, mais voilà, il faut toucher au plugin...</p> <p><strong>Ceci ne concerne que les mots du glossaire qui sont également des abréviations</strong>, ce qui n'est pas le cas de tous les mots du glossaire : par exemple les <i>landmarks roles</i> sont définis dans le glossaire, mais pas dans le plugin acronymes. Dans ce cas, il n'y a pas d'encapsulation de balises <code class="spip_code spip_code_inline" dir="ltr"><a></code> dans balises <code class="spip_code spip_code_inline" dir="ltr"><abbr></code>, et donc le lien vers le glossaire est accessible à tous (directement sur la même page au survol de la souris pour les voyants, indirectement par l'appui de la touche entrée dès que la synthèse vocale prononce « Lien landadmarks roles, définition dans le glossaire », mais en changeant de page.)</p> Un glossaire interne pour vos sites 2012-04-05T11:39:45Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment456040 2012-04-05T11:39:45Z <p>Mais pourquoi vx-tu absolument que 2 fenêtres (abbr et glossaire) se superposent pour dire la même chose<small class="fine d-inline"> </small>!?</p> Un glossaire interne pour vos sites 2012-04-05T05:20:31Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment456014 2012-04-05T05:20:31Z <p>Super pour la fonction fournie<small class="fine d-inline"> </small>! ça fonctionne à merveille, ma surcharge est OK (dans mes_fonctions.php). J'y ai mis :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>function glossaire_attributs_lien($id_mot, $lien, $titre, $les_titres) { return "href='$lien' title=\"" . contenu_balises_acronym_abbr_span($les_titres[0]) . ', définition dans le glossaire"'; }</code></pre></div> <p>Merci pour la réactivité sur le dev... Ceci me permet d'éviter de toucher au code du plugin<small class="fine d-inline"> </small>!!</p> <p>Sauf que, dans mon cas particulier, comme la balise <code class="spip_code spip_code_inline" dir="ltr">abbr</code> est maintenant échappée, mes abréviations (reconnues et balisées correctement par le plugin acronymes), ne sont plus reconnues par la lame glossaire...<br class="manualbr">Il a fallu donc que j'enlève la balise abbr des balises html échappées (et du coup modifier à nouveau glossaire_fonctions.php :-( ). A noter que je n'emploie pas la balise <code class="spip_code spip_code_inline" dir="ltr">acronym</code> car elle est obsolète en html5, donc mes abréviations/sigles/acronymes sont codées systématiquement avec la balise <code class="spip_code spip_code_inline" dir="ltr">abbr</code></p> <blockquote class="spip"> <p>«<small class="fine d-inline"> </small>je ne vois pas l'intérêt d'avoir le même mot dans 2 tables différentes...<small class="fine d-inline"> </small>»</p> </blockquote> <p>L'intérêt d'avoir les 2 est que la première (table des acronymes) permet de clarifier l'abréviation en donnant sa signification (ce n'est pas forcément sa définition : ex W3C = « World Wide Web Consortium »), et que la 2<sup class="typo_exposants">e</sup> (définition du glossaire) permet de donner une définition plus ou moins complète (Ex : W3C = « Abréviation de World Wide Web Consortium. C'est un organisme de normalisation chargé de promouvoir la compatibilité des technologies web. Il émet des recommandations qui ont valeur de standards internationaux et décrit les spécifications des différentes technologies utilisées sur le web. »). On comprend bien que ce texte est trop long pour figurer dans un attribut title. D'ailleurs sémantiquement, ce serait moins correct à mon sens.<br class="manualbr">Ensuite, l'intérêt est que pour les synthèses vocales, la clarification de l'abréviation est disponible immédiatement, et la définition complète reste accessible par l'activation du lien. Malheureusement, comme je le précisait dans mon post précédent, l'encapsulation de <code class="spip_code spip_code_inline" dir="ltr"><a></code> dans <code class="spip_code spip_code_inline" dir="ltr"><abbr></code>, fait que la synthèse vocale ne « voit » pas la balise <code class="spip_code spip_code_inline" dir="ltr"><a></code>, donc n'annonce pas la présence du lien, privant ainsi l'utilisateur de l'accès à la définition complète du glossaire.</p> <p>Je me suis documenté un peu sur la façon de créer un plugin, les pipelines... et j'ai ainsi pu constater que le plugin acronymes (dans son fichier plugin.xml) se branche sur le pipepline post_typo.<br class="manualbr">Pour la lame glossaire il semble que le dossier /tmp/couteau_suisse, contient un fichier mes_options avec le code <code class="spip_code spip_code_inline" dir="ltr">$GLOBALS['table_des_traitements']['TEXTE'][]='cs_nettoie(cs_glossaire(propre(%s,$connect)))'; </code> ce qui laisse supposer que le traitement par le glossaire intervient après « propre ».</p> <p>Je ne connais malheureusement pas encore assez spip du point de vue des traitement automatiques et des plugins pour comprendre ce qu'il faut faire pour faire en sorte que l'encapsulation qui pose problème soit inversée, mais je crois savoir qu'il faut changer l'ordre de traitement du plugin acronyme par rapport à la lame du glossaire, simplement je ne sais pas où agir : post_propre, post_typo, pipelines, tables_des_traitements, je dois encore me documenter là-dessus...</p> Un glossaire interne pour vos sites 2012-04-04T23:22:23Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment456011 2012-04-04T23:22:23Z <p>Le Glossaire pourrait totalement ignorer les <strong>abbr </strong> : je ne vois pas l'intérêt d'avoir le même mot dans 2 tables différentes : <a href="http://zone.spip.org/trac/spip-zone/changeset/60119" class="spip_url spip_out" rel='nofollow external'>http://zone.spip.org/trac/spip-zone...</a></p> <p>Pour <strong>jQuery</strong>, je ne pensais pas au survol de la souris, mais à la fin du chargement de la page.</p> <p>Une solution était aussi de créer une lame perso branchée sur le pipeline post_propre et qui reprendrait les syntaxes en les modifiant comme tu le souhaites en php.</p> <p>Bref, j'ai publié une correction sur le CS pour permettre un branchement sur le calcul des attributs : <a href="http://zone.spip.org/trac/spip-zone/changeset/60118" class="spip_url spip_out" rel='nofollow external'>http://zone.spip.org/trac/spip-zone...</a></p> <p>Fonction fournie :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>function glossaire_attributs_lien_dist($id_mot, $lien, $titre, $les_titres) { return "href='$lien'"; }</code></pre></div> <p>Exemple de fonction surchargée à placer dans config/mes_options.php par exemple :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>function glossaire_attributs_lien($id_mot, $lien, $titre, $les_titres) { return "href='$lien' title=\"" . attribut_html($les_titres[0]). '"'; }</code></pre></div> <p>Travailler sur le code fourni par le plugin est toujours une très mauvaise idée à cause des mises à jour régulières...</p> Un glossaire interne pour vos sites 2012-04-04T14:26:20Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment456001 2012-04-04T14:26:20Z <p>Finalement, j'ai réussi à copier ma fonction dans <code class="spip_code spip_code_inline" dir="ltr">glossaire_fonctions.php</code> et à recompiler le couteau suisse sans le problème décrit précédemment et j'obtiens bien ce que je cherchais.</p> <p>L'inconvénient effectivement, c'est en cas de mise à jour du plugin. J'effectuerai une sauvegarde préalable de mes modifs et s'il faut à nouveau les remettre, je le remettrai...</p> <p>Le seul problème qui subsiste, comme j'utilise aussi le plugin acronymes, qui repère mes acronymes et y applique une balise <code class="spip_code spip_code_inline" dir="ltr"><abbr></code> est que mes balises <code class="spip_code spip_code_inline" dir="ltr"><a></code> avec mon attribut title comme je le souhaite se trouvent encapsulées dans une balise <code class="spip_code spip_code_inline" dir="ltr"><abbr></code>, ce qui fait que le lien n'est pas reconnu en tant que tel par la synthèse vocale (et à mon avis le code ne doit pas être valide avec le validateur W3C).<br class="autobr"> Par exemple, pour un mot du glossaire comme « W3C », défini également en tant qu'acronyme (dans une table sigles_acronymes, fournie par le plugin acronymes), j'obtiens le code suivant :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><abbr lang="en" title="World Wide Web consortium"> <a class="cs_glossaire" name="mot16_4" title="W3C, définition dans le glossaire" href="./?+-W3C-+"> <span class="gl_mot">W3C</span> <span class="gl_dl"> <span class="gl_dt">W3C</span> <span class="gl_dd"> </span> </a> </abbr></code></pre></div> <p>Il semble clair qu'il y a un ordre à respecter dans l'application des fonctions du plugin glossaire et de celles de l'acronyme, mais je ne sais pas lequel ni où je pourrais modifier l'ordre de traitement du texte des articles par ces plugins.</p> <p>Le code souhaité est :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><a class="cs_glossaire" name="mot16_4" title="W3C, définition dans le glossaire" href="./?+-W3C-+"> <span class="gl_mot"><abbr lang="en" title="World Wide Web consortium">W3C</abbr></span> <span class="gl_dl"> <span class="gl_dt">W3C</span> <span class="gl_dd"> </span> </a></code></pre></div> <p> Mais je ne sais pas où se trouve le code qui fait que spip applique automatiquement ces filtres (ceux du plugin glossaire + ceux du plugin acronymes), il faudrait changer l'ordre d'application. Si quelqu'un peut me donner une piste...</p> Un glossaire interne pour vos sites 2012-04-04T05:52:01Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment455990 2012-04-04T05:52:01Z <p>Tu as raison pour la balise <code class="spip_code spip_code_inline" dir="ltr"><code></code>... Suis-je bête, je mettais des crochets à la place des chevrons...</p> <p>En ce qui concerne le jQuery, si on code l'apparition de l'attribut <code class="spip_code spip_code_inline" dir="ltr">title</code> associé à l'événement survol du mot du glossaire, alors nan, le lecteur vocal n'y aura pas accès (les mal ou non-voyants n'utilisant pas de souris). D'ailleurs, il est aussi possible que le javascript soit désactivé sur le navigateur... C'est pour ça que j'utilise le mode CSS pour la lame glossaire.</p> <p>Donc, il vaut bien mieux que le code avec l'attribut title soit déjà dans la page au chargement de celle-ci.</p> <p>Maintenant, pour ce qui est de la future mise à jour du plugin, effectivement c'est un problème...(à moins, à chaque mise à jour, de penser à remodifier le code...) Y aurait pas un moyen de surcharger la fonction <code class="spip_code spip_code_inline" dir="ltr">cs_rempl_glossaire()</code><small class="fine d-inline"> </small>?</p> Un glossaire interne pour vos sites 2012-04-03T14:33:02Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment455980 2012-04-03T14:33:02Z <p>La balise <code class="spip_code spip_code_inline" dir="ltr"><code></code> fonctionne bien ici pourtant ...</p> <p>Est-ce que par hasard le lecteur tiens compte du jQuery<small class="fine d-inline"> </small>? Parce qu'il serait possible d'ajouter le title en jQuery plus facilement qu'en codant en dur... Tu te prives là de toute mise à jour future du plugin...</p> Un glossaire interne pour vos sites 2012-04-03T14:07:11Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment455979 2012-04-03T14:07:11Z <p>OK, maintenant ça fonctionne (désolé pour la mauvaise mise en forme du code à l'affichage, apparemment le raccourci [code][/code] ne fonctionne pas dans le formulaire de saisie) :<br class="autobr"> J'ai mis $table1[$gloss_id] = « href='$lien' title=\ »$titre, définition dans le glossaire\«<small class="fine d-inline"> </small>name='mot$gloss_id<small class="fine d-inline"> </small>»<small class="fine d-inline"> </small>;</p> <p>Le seul problème résiduel est pour les mots du glossaire dans une autre langue (en) que celle du site (fr) : dans ce cas, la variable $titre contient les balises span. Ce qui a pour conséquence fâcheuse la lecture des balises span par une synthèse vocale...</p> <p>J'ai une fonction perso (dans mes_fonctions.php dans mon dossier squelettes) qui extrait le contenu de balises span, ce qui donnerai le code :<br class="autobr"> $table1[$gloss_id] = « href='$lien' title=\ »«<small class="fine d-inline"> </small>.contenu_balises_acronym_abbr_span($titre).<small class="fine d-inline"> </small>», définition dans le glossaire\«<small class="fine d-inline"> </small>name='mot$gloss_id<small class="fine d-inline"> </small>»<small class="fine d-inline"> </small>;</p> <p>La fonction est contenu_balises_acronym_abbr_span($chaine) : je ne détaille pas son code ici pour ne pas alourdir mon propos, il faut juste savoir qu'elle renvoie la chaîne contenu entre une balise (span, acronym, abbr)ouvrante et une fermante.</p> <p>J'ai tenté de la copier au début du fichier glossaire_fonctions.php, après le define() de la liste des accents (ligne 11). Après recompilation du couteau suisse, je ne peux plus accéder à mon site. J'ai réussi à y accéder à nouveau en sauvegardant puis en vidant le répertoire tmp.</p> <p>Ma question est : comment appeler cette fonction depuis glossaire_fonctions.php, si on ne peut pas y copier son code<small class="fine d-inline"> </small>?</p> Un glossaire interne pour vos sites 2012-04-03T09:02:16Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment455970 2012-04-03T09:02:16Z <p>Ah oui c'est exact, c'est bien ligne 214. Pour que les modifs soient prises en compte, il faut recompiler le Couteau Suisse en réaffichant sa page d'admin, puis vider les caches de SPIP.</p> Un glossaire interne pour vos sites 2012-04-03T04:44:48Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment455960 2012-04-03T04:44:48Z <p>Merci pour votre réponse.<br class="manualbr">le fichier glossaire_fonctions.php ne contient que 283 lignes (/plugins/couteau_suisse/outils, c'est bien là<small class="fine d-inline"> </small>?). Pour moi, ceci se trouve ligne 214, mais j'ai déjà essayé cette modif sans succès (y compris en vidant le cache) : l'attribut title n'apparaît pas dans le code de la page. Une autre idée<small class="fine d-inline"> </small>?</p> <p>En ce qui concerne le masquage de l'attribut title à l'affichage, cela ne paraît pas possible de le faire, je n'ai pas trouvé malgré mes recherches. Cependant, l'info-bulle sur Firefox ne semble masquer que le titre de la fenêtre, la définition reste visible (si on ne bouge pas la souris dans la définition).</p> Un glossaire interne pour vos sites 2012-04-02T18:16:00Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment455946 2012-04-02T18:16:00Z <p>Bonjour,</p> <p>Le title brouille visuellement la fenêtre du glossaire lors du survol de la souris : comment faire pour que le navigateur ne l'affiche pas pour les voyants<small class="fine d-inline"> </small>?</p> <p>Le code se site ligne 925 et pourrait peut-être être changé en :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>$table1[$gloss_id] = "href='$lien' title =\"$les_titres\" name='mot$gloss_id"; </code></pre></div> Un glossaire interne pour vos sites 2012-04-02T14:02:48Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment455940 2012-04-02T14:02:48Z <p>Bonjour,</p> <p>Pour des raisons d'accessibilité, j'ai besoin de mettre un attribut title dans la balise <a> d'un mot du glossaire. En effet, si la fenêtre de définition apparaît bien au survol de la souris, cette définition n'est pas accessible aux non-voyants, le lecteur vocal ne restituant que l'intitulé du lien, c'est à dire le titre du mot, mais ce n'est pas assez explicite.</p> <p>Je voudrais quelque chose du genre <a href=«<small class="fine d-inline"> </small>URL<small class="fine d-inline"> </small>» title=«<small class="fine d-inline"> </small>TITRE_DU_MOT, définition dans le glossaire<small class="fine d-inline"> </small>»>titre_du_mot</a>. Ainsi la synthèse vocale lira de façon explicite la destination du lien.</p> <p>J'ai beau chercher dans glossaire_fonctions.php, je ne vois pas où je peux insérer cet attribut...</p> <p>Pourriez-vous m'indiquer où modifier le code<small class="fine d-inline"> </small>?</p> Un glossaire interne pour vos sites 2011-03-09T07:43:16Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment442271 2011-03-09T07:43:16Z <p>Le terme utilisée est « mandatée » en utf-8</p> Un glossaire interne pour vos sites 2011-03-07T13:26:51Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment442183 2011-03-07T13:26:51Z <p>Un pb d'accent sans doute... <br>- Quel est le jeu de caractères du site du site (configuration/Gestion des langues)<small class="fine d-inline"> </small>? <br>- Quel est le terme exact utilisé pour le mot<small class="fine d-inline"> </small>?</p> Un glossaire interne pour vos sites 2011-03-07T12:59:47Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment442179 2011-03-07T12:59:47Z <p>Bonjour,</p> <p>nous venons de voir sur un texte récent publié que le glossaire était activé sur le terme « mandatée » alors que le terme saisi est « mandat »</p> <p>En revanche sur un autre texte « mandats », terme saisi, ne déclenche pas l'activation du glossaire sur « mandat »</p> <p>Quelle est la règle retenue pour les déclinaisons et quelle alternative utilisée pour soit désactiver dans un cas, soit activer dans l'autre sauf à saisir explicitement tous les termes séparés par des /</p> <p>merci</p> Un glossaire interne pour vos sites 2011-01-23T23:14:37Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment439944 2011-01-23T23:14:37Z <p>Attention, il faut vider les caches et reconstuire le Couteau Suisse.</p> Un glossaire interne pour vos sites 2011-01-23T22:32:51Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment439942 2011-01-23T22:32:51Z <p>Je viens de voir ta réponse, je look la doc.</p> Un glossaire interne pour vos sites 2011-01-23T22:30:23Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment439941 2011-01-23T22:30:23Z <p>Hello,<br class="autobr"> mais c'est tout récent ça<small class="fine d-inline"> </small>!</p> <p>J'ai updaté via SVN, le filtre est non reconnu :<br class="autobr"> Seul le export<i>1</i> donne un résultat.</p> <p>As tu un mail pour échanger plus rapidement<small class="fine d-inline"> </small>? moi : colliotarobasepierre-jean.com</p> Un glossaire interne pour vos sites 2011-01-23T22:28:57Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment439940 2011-01-23T22:28:57Z <p>Finalement, je viens de documenter le filtre<strong> |cs_mots_glossaire </strong> dans le nouveau paragraphe : <a href="#lister" class="spip_ancre" rel='nofollow'>Lister les mots reconnus</a>.</p> Un glossaire interne pour vos sites 2011-01-23T19:00:15Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment439934 2011-01-23T19:00:15Z <p>Oui, cette fonctionnalité a été introduite dans la version 1.8.33.02 du plugin, mais n'est pas encore documentée...</p> <p>Infos ici : <a href="http://zone.spip.org/trac/spip-zone/changeset/43826" class="spip_url spip_out" rel='nofollow external'>http://zone.spip.org/trac/spip-zone...</a>. Tout retour (bugs, noisettes, lignes de code, ...) sur ton projet est le bienvenu<small class="fine d-inline"> </small>!</p> Un glossaire interne pour vos sites 2011-01-22T09:36:45Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment439874 2011-01-22T09:36:45Z <p>Bonjour,</p> <p>Comment faire pour afficher les mots du glossaire trouvé dans le texte ailleurs que dans le texte lui-même<small class="fine d-inline"> </small>?<br class="autobr"> Plus clairement : j'aimerais pouvoir boucler ou afficher les mots trouvés par le glossaire à un endroit bien défini dans ma page, par exemple : faire un nuage de tags avec les mots trouvés.</p> <p>Pierre-Jean</p> Un glossaire interne pour vos sites 2011-01-21T14:19:41Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment439841 2011-01-21T14:19:41Z <p>Oui, merci ...<br class="autobr"> Cela fonctionne avec la première solution, puisque pour le moment je n'envisage pas de faire mon site en multi-langue.<br class="autobr"> C'était bien le sens de ma question, soit « activer un mot du Glossaire du Couteau Suise » dans un texte écrit directement dans un squelettes " : <code class="spip_code spip_code_inline" dir="ltr">[(#VAL{Mot_du_Glossaire_Choisi}|cs_glossaire)]</code>.</p> <p>Bonne journée</p> Un glossaire interne pour vos sites 2011-01-21T13:41:00Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment439836 2011-01-21T13:41:00Z <p>Peut-être : <code class="spip_code spip_code_inline" dir="ltr">[(#VAL{t&eacute;l&eacute;chargeable}|cs_glossaire)]</code><small class="fine d-inline"> </small>?</p> <p>Ou : <code class="spip_code spip_code_inline" dir="ltr"><:telechargeable|cs_glossaire:></code> si tu as défini une chaine de langue 'telechargeable' dans local_fr.php (<a href="http://www.spip.net/fr_article2128.html" class="spip_url spip_out" rel='nofollow external'>http://www.spip.net/fr_article2128.html</a>)<small class="fine d-inline"> </small>?</p> <p>Etait-ce le sens de ta question<small class="fine d-inline"> </small>?</p> Un glossaire interne pour vos sites 2011-01-21T13:16:30Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment439833 2011-01-21T13:16:30Z <p>Bonjour,<br class="autobr"> Dans le squelettes article.html, j'ai un petit texte écrit pour le Portfolio.<br class="autobr"> J'aimerais que le mot « téléchargeable » soit pris en compte dans le glossaire ( bien entendu, le mot est créé dans le glossaire .. ). J'ai vu qu'il était possible de forcer une balise <br class="autobr"> <code class="spip_code spip_code_inline" dir="ltr">[(#MA_BALISE|cs_glossaire)]</code>. <br class="autobr"> Mais dans mon cas il s'agit de surcharger un petit texte qui se trouve dans le squelette. <br class="autobr"> Le mot « téléchargeable » est donc noté « <code class="spip_code spip_code_inline" dir="ltr">t&eacute;l&eacute;chargeable</code> » comme ceci dans le squelette.<br class="autobr"> Est-ce possible de le faire fonctionner avec le glossaire<small class="fine d-inline"> </small>?<br class="autobr"> Si oui comment .. et de quelle manière<small class="fine d-inline"> </small>?<br class="autobr"> Merci</p> <p>Pour exemple, voici une des adresses :<br class="autobr"> <a href="http://g.colin.free.fr/spip/spip.php?article305#Portfolio" class="spip_url spip_out" rel='nofollow external'>http://g.colin.free.fr/spip/spip.ph...</a></p> Un glossaire interne pour vos sites 2010-06-28T16:20:26Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment432136 2010-06-28T16:20:26Z <p>Autant pour moi, merci pour cette précision.</p> <p>J'essaye tout de suite.</p> Un glossaire interne pour vos sites 2010-06-28T16:13:14Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment432134 2010-06-28T16:13:14Z <p>La sensibilité à la casse peut déjà être activée grâce aux expressions régulières.</p> <p>Je reproduis ici un extrait de l'article ci-dessus :</p> <blockquote class="spip"> <p>Ces expressions régulières sont utiles pour la recherche d'un mot sensible à la casse. Exemple : «<small class="fine d-inline"> </small>,CES,<small class="fine d-inline"> </small>» (abbréviation de <i>Collège d'Enseignement Secondaire</i> à ne pas confondre avec le pronom <i>ces</i>).</p> </blockquote> <p>Il faut donc mettre des virgules autour des mots-clés majuscules...</p> Un glossaire interne pour vos sites 2010-06-28T16:05:20Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment432133 2010-06-28T16:05:20Z <p>Bonjour,</p> <p>Je suis en train de tester le glossaire en ce moment et tout fonctionne très bien à une chose prêt... Dans mon cas le fait que l'outil soit insensible à la casse pose problème car je ne m'en sert que pour la traduction des sigles/acronymes...</p> <p>En clair si les prochaines versions pouvait permettre de paramétrer la sensibilité à la casse ça serait vraiment top :)</p> Un glossaire interne pour vos sites 2010-03-29T10:07:54Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment428349 2010-03-29T10:07:54Z <p>Youpi et surtout MERCI</p> <p>Je viens de vérifier tous les mots clé du Glossaire et j'ai corrigé deux types d'erreur : <br>- l'apostrophe qui n'est pas acceptée (je ne le savais pas) <br>- et singulier/,pluriel<small class="fine d-inline"> </small>?,i il manquait qq fois l'un des codes</p> <p>Après correction, nous n'avons plus de messages d'erreur, c'est génial</p> <p>MERCI à vous, le diagnostic était juste.</p> Un glossaire interne pour vos sites 2010-03-29T08:13:59Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment428345 2010-03-29T08:13:59Z <p>Surligné ne passe pas, donc la ligne 556 est :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code> $texte = preg_replace_callback($les_regexp, "glossaire_echappe_mot_callback", $texte, $limit); </code></pre></div> Un glossaire interne pour vos sites 2010-03-29T08:11:36Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment428342 2010-03-29T08:11:36Z <p>Merci beaucoup de nous aider.<br class="autobr"> Je ne voulais pas copier le code sur le site, car dans le fichier,je ne savais pas quelle partie vous serait utile ou pas et cela aurait été trop long. Bon j'insère un bout du fichier, surligné en jaune la ligne 556 .</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code> // parcours de tous les mots, sauf celui qui peut faire partie du contexte (par ex : /spip.php?mot5) $mot_contexte=$GLOBALS['contexte']['id_mot']?$GLOBALS['contexte']['id_mot']:_request('id_mot'); foreach ($glossaire_array as $mot) if (($gloss_id = $mot['id_mot']) <> $mot_contexte) { // parser le mot-cle du glossaire // contexte de langue a prendre en compte ici list($les_mots, $les_regexp, $les_titres) = glossaire_parse($titre=extraire_multi($mot['titre'])); $mot_present = false; if(count($les_regexp)) { // a chaque expression reconnue, on pose une balise temporaire cryptee // ce remplacement est puissant, attention aux balises HTML ; par exemple, eviter : ,div,i $texte = preg_replace_callback($les_regexp, "glossaire_echappe_mot_callback", $texte, $limit); // TODO 1 : sous PHP 5.0, un parametre &$count permet de savoir si un remplacement a eu lieu // et s'il faut construire la fenetre de glossaire. // TODO 2 : decrementer le parametre $limit pour $les_mots, si &$count est renseigne. // en attendant, constuisons qd meme la fenetre... $mot_present = true; } if($les_mots) { if(preg_match(",\W(?:$les_mots)\W,i", " $texte ")) { $texte = glossaire_gogogo($texte, $les_mots, $limit, $unicode); $mot_present = true; } } // si un mot est trouve, on construit la fenetre de glossaire if($mot_present) { $lien = $glossaire_generer_url($gloss_id, $titre); // $definition =strlen($mot['descriptif'])?$mot['descriptif']:$mot['texte']; $table1[$gloss_id] = "href='$lien' name='mot$gloss_id"; // name est complete plus tard pour eviter les doublons $table2[$gloss_id] = recuperer_fond( defined('_GLOSSAIRE_JS')?'fonds/glossaire_js':'fonds/glossaire_css', array('id_mot' => $gloss_id, 'titre' => $les_titres, 'texte' => glossaire_safe($mot['texte']), 'descriptif' => glossaire_safe($mot['descriptif']))); } }</code></pre></div> <p>Notre glossaire comprend +/- 400 termes, mais va grossir considérablement dans le temps.<br class="autobr"> Il y a 4 types de mots et il nous a été créé un champ supplémentaire dans le cadre de saisie des mots du glossaire qui permet d'indiquer la catégorie ( soit Dico Sigles, dico animalier, dico noms propres, termes non animalier)<br class="autobr"> Sinon on remplit le contenu des explications sur le terme du glossaire dans Descriptif rapide ( on met jamais rien en Texte explicatif). D'autre part, certains mots du glossaire ont des articles qui leur sont liés.</p> <p>- des sigles : par exemple : 3A-FIM, ou AACDA ( jamais de . entre les lettres, mais qq uns ont un tiret au milieu. Pour les sigles, dans Descriptif rapide je mets les lettres correspondantes au sigle en gras comme ceci <strong>A</strong></p> <p>- Noms propres : Prénom Nom, exemple : Albert t'Serstevens, Alexis Carrel, Truc de Machin de Bidule<br class="autobr"> ( je vous ai mis Albert, car il a la particularité d'avoir une apostrophe au milieu)</p> <p>- termes animalier : peut être constitué d'un seul mot ou de plusieurs (exmple : Groupe 1, ou Perruche à bandeau rouge) et pour que le pluriel soit aussi reconnu, on nous a demandé de saisir comme suit : <br class="autobr"> Perruche à bandeau rouge/,perruche à bandeau rouge<small class="fine d-inline"> </small>?,i<br class="autobr"> (sans espace entre les 2)</p> <p>- Termes non animaliers : mot ou groupe de mot, singulier/,pluriel<small class="fine d-inline"> </small>?,i</p> <p>Vraiment merci de votre aide, car nous souhaitons vraiment sortir notre site avec SPIP, même si nous ne le connaissons trés peu, on veut s'accrocher<small class="fine d-inline"> </small>!!<br class="autobr"> Si vous souhaitez m'appeler, n'hésitez pas, je vous donnerai mon tel.</p> Un glossaire interne pour vos sites 2010-03-28T14:06:20Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment428330 2010-03-28T14:06:20Z <p>Pour insérer du code (pas trop long...) ici, il faut utiliser les balises <cadre> et </cadre>. L'erreur est provoquée par un mot particulier du glossaire... Y en a-t-il beaucoup<small class="fine d-inline"> </small>? quels sont ces mots<small class="fine d-inline"> </small>?</p> Un glossaire interne pour vos sites 2010-03-27T06:26:06Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment428261 2010-03-27T06:26:06Z <p>Bonjour. notre site a été commencé par une personne pro connaissant SPIP mais qui n'est plus là. Nous continuons entre débutants de SPIP, parce qu'il est trop génial.<br class="autobr"> Nous avons un message d'erreur qui apparait tant sur le site privé que public, après avoir vidé les caches :</p> <p><i>Warning : preg_replace_callback() [function.preg-replace-callback] : No ending delimiter ',' found in /homez.38/solidari/www/tmp/couteau-suisse/mes_fonctions.php on line 556</i></p> <p>Nous avons regardé et si on ne se trompe pas, cela viendrait du code suivant :</p> <p>// a chaque mot reconnu, on pose une balise temporaire cryptee <br class="autobr"> return trim(preg_replace_callback(",(?<=\W)(? :$mots)(?=\W),i", " glossaire_echappe_mot_callback ", " $texte ", $limit))<small class="fine d-inline"> </small>; <br class="autobr"> </p> <p>Notre version de SPIP installée est : 2.0.7 . <br class="autobr"> Il est possible que la personne "pro" ait"touché" aux codes, nous n'en savons rien.<br class="autobr"> Pourriez vous nous aider<small class="fine d-inline"> </small>? Ce serait vraiment super sympa, car notre site devrait bientôt être mis en ligne ( on espère<small class="fine d-inline"> </small>!), mais pas tant que ce message apparaît et des fois 15 fois en haut de page.</p> <p>Merci +++++</p> <p>PJ : copie intégrale du code du fichier mes_ fonctions.php qui se trouve dans /www/tmp/couteau-suisse, -> <a rel='nofollow'>codes</a></p> Un glossaire interne pour vos sites 2010-03-25T06:10:51Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment428161 2010-03-25T06:10:51Z <p>Bonjour,<br class="autobr"> J'utilise ce plugin qui me rend bien des services et notamment l'affichage des mots-clés avec la liste alphabétique<small class="fine d-inline"> </small>! Un grand merci<small class="fine d-inline"> </small>!<br class="autobr"> J'aurais voulu savoir s'il était possible d'afficher l'ensemble des mots-clés par ordre alphabétique (et avec pagination) lorsqu'on arrive sur la page glossaire.html puis seulement les mots-clés qui commence par la lettre concernée lorsqu'on clique sur une lettre de la liste.<br class="autobr"> J'ai un peu cherché mais je débute et là je sèche ...<br class="autobr"> Merci.</p> Un glossaire interne pour vos sites 2010-03-10T13:27:24Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment427428 2010-03-10T13:27:24Z <p>Salut</p> <p>Est ce que tu sais combien de capacités demande ton pluging et si avec 4 groupes de mots avec pour l'instant actuellement en tout 2000 mots (pour les 4 groupes) je peux utiliser ton pluging car je risque d'avoir au moins des milliers de milliers de mots.</p> <p>est ce qu'il faut changer un paramètre sous apache, spip ....</p> <p>Merci d'avance</p> Un glossaire interne pour vos sites 2010-03-09T18:47:07Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment427388 2010-03-09T18:47:07Z <p>Il y a une lame « SPIP et le cache » qui permet de modifier ces réglages par défaut (lorsqu'il n'y a pas de balise #CACHE dans les squelette).</p> <p>Les pages sont lentes car ton serveur est peut-être mutualisé avec d'autres sites... Je crois qu'en ajoutant le paramètre « &var_profile=oui » à ton URL, SPIP affiche la vitesse des boucles et des accès à la BDD. Dans les logs de SPIP (tmp/*.log), il y a aussi je crois le temps de compilation des différents squelettes.</p> Un glossaire interne pour vos sites 2010-03-09T11:50:43Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment427362 2010-03-09T11:50:43Z <p>cela se règle où les paramètres par défaut de spip.</p> <p>Actuellement j'ai comme pluging, un squelette en ajout suivi de pluguing pour le glossaire interne, cicas, snippets)</p> <p>Voila</p> Un glossaire interne pour vos sites 2010-03-09T10:59:24Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment427355 2010-03-09T10:59:24Z <p>Tout dépend du nombre de mots-clés présents dans la base. Il est possible en effet que cet outil (Glossaire interne) prenne certaines ressources serveur au moment du calcul de la page, avant la mise en cache (une fois par jour, selon les réglages par défaut de SPIP).</p> <p>As-tu de nombreux outils activés<small class="fine d-inline"> </small>? Certains ne prennent aucune ressource. Par précaution, il vaut mieux activer juste ce qui est nécessaire...</p> Un glossaire interne pour vos sites 2010-03-09T08:39:34Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment427342 2010-03-09T08:39:34Z <p>Est ce que ce pluging prend beaucoup de ressources sous spip<small class="fine d-inline"> </small>? Car je trouve que quand je cherche à lire un article, il rame beaucoup<small class="fine d-inline"> </small>?</p> Un glossaire interne pour vos sites 2010-02-24T15:31:24Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment426884 2010-02-24T15:31:24Z <p>$id=#ID_GROUPE : utiliser des variables sous SPIP, c'est avec #SET et #GET. Il me semble t'avoir déjà proposé la traduction de ton code php...</p> <p>Sinon, pour ton système de pagination, il faut utiliser un tableau et passer le bon critère dans la boucle. Je viens donc de modifier l'exemple ci-dessus (squelette html) en le rendant un peu plus « moderne » et « paginable ». Je te laisse l'adapter à tes besoins.</p> Un glossaire interne pour vos sites 2010-02-24T14:37:08Z https://files.spip.net/Un-glossaire-interne-pour-vos-sites#comment426873 2010-02-24T14:37:08Z <p>Merci et en ce qui concerne la pagination, car mon problème est que cela affiche des n° de pagination mais pour l'ensemble des mots du groupe sans prendre en compte les lettres et le groupe que l'on a choisi.</p> <p>Comment à la place de mettre dans un squelette</p> <pre><code style="color:#000000;"><span style="color:#0000BB;"><?php $id</span><span style="color:#007700;">=</span><span style="color:#FF8000;">#ID_GROUPE</span><span style="color:#0000BB;">?></span></code></pre> <p>je peux écrire<small class="fine d-inline"> </small>?</p> <p>Merci d'avance</p>