MARCINISZYN Laurent | 1 Jun 2005 21:43
Picon

Re: Affichage de l'espace privé sous Konqueror

Bonsoir,

Je n'ai aucun problème d'affichage avec un Konqueror 3.4.1 (sous Gentoo) et
si mes souvenirs sont bons, le rendu avec les versions 3.3.x était plus que
correct... Par contre, il ne faut pas perdre de vue que le moteur Khtml de
Konqueror a été longtemps perfectible (avec notamment une mauvaise prise en
charge des CSS) et qu'il a accompli d'énormes progrès au gré des releases
de KDE, au point d'être maintenant quasiment au même niveau que
Mozilla-Firefox.

En conclusion, ton Konqueror est trop ancien donc : 
- soit tu upgrades KDE pour une version 3.3 ou 3.4,
- soit tu installes Firefox ou Mozilla.

Laurent.

Jean-Marie Le Yaouanc wrote:

> Bonsoir,
> 
> J'ai testé mon squelette sous Konqueror et surprise
> l'espace privé s'affiche mal. Une copie d'écran est
> disponible à l'adresse suivante.
> 
> http://yaou.org/article.php3?id_article=29
> 
> Nb: Version de Konquéror 3.1-12 Red Hat (utilise KDE
> 3.1-10 Red Hat)
> 
> A+
(Continue reading)

Michaël Parienti | 2 Jun 2005 18:20
Picon

404 et charset

Bonjour,

Sur un site en utf-8, ma page 404 retourne pas le header
"Content-Type: text/html; charset=utf-8". J'ai droit à un simple
"Content-Type: text/html;". Du coup sous IE la page refuse de
s'afficher et sous Mozilla, j'ai droit à quelque chose de moche.

Pour corriger mon site j'ai ajouté l'instruction <?php
header("Content-Type: text/html; charset=".lire_meta('charset')); ?>
du début du squelette 404.html.

Dans spip la fonction fautive est sans doute calcule_header_et_page.
L'explication serait que les headers soient déjà renvoyés lorsqu'on
atteint la fin de la fonction. Mais je ne vois pas trop pourquoi.
Est-ce dû à mes squelettes...

Cordialement

--

-- 
Parienti M.
Guermonprez Patrick | 3 Jun 2005 11:31
Picon
Favicon

Sélection d'articles sur base de plusieurs mots-clés -Proposition de requête SQL

Bonjour,
 
Après en avoir parlé avec Déesse A., je vous soumet une proposition de changement pour SPIP afin de pouvoir enfin lister les articles sur base de plusieurs mots clés (Mot1 ET mot2 ET...).
 
La requête SQL générée actuellement pour la boucle par <BOUCLE_articles(ARTICLES)
{id_mot IN (1,3)} {par titre}> est :
 
Par contre la requête SQL associée n'est pas correcte. Elle donne : 
SELECT articles.id_article, FIND_IN_SET(mots_articles.id_mot, "1,3") AS rang,
articles.descriptif, articles.titre, articles.date, articles.lang
FROM spip_mots_articles AS mots_articles,
    spip_articles AS articles
WHERE articles.id_article=mots_articles.id_article
    AND mots_articles.id_mot IN (1,3)
    AND articles.statut='publie'
GROUP BY articles.id_article
ORDER BY articles.titre
 
Elle correspond en fait à la liste des articles définis avec le mot clé 1 OU le mot clé 2. Pour trouver les articles définis avec le mot clé 1 ET le mot clé 2, il suffirait de définir la requêtre SQL suivante :
 
SELECT articles.id_article, FIND_IN_SET(mots_articles.id_mot, "1,3") AS
rang, articles.descriptif, articles.titre, articles.date, articles.lang
FROM spip_mots_articles AS mots_articles,
    spip_articles AS articles
WHERE articles.id_article=mots_articles.id_article
    AND mots_articles.id_mot IN (1,3)
    AND articles.statut='publie'
GROUP BY articles.id_article
HAVING count(*) = 2
ORDER BY articles.titre
 
La seule différence est que le champ $boucle->group devrait contenir en plus " HAVING count(*) = <nbr de mots clés utilisés>".
 
Est-il envisageable d'intégrer cette modification dans SPIP pour et que cette sélection sur base du ET entre plusieurs (>1) mots clés soit faite si la page appelée est http://<host>/SPIP/mot.php3?id_mot=1,3 par exemple (en supposant que la virgule soit choisie comme séparateur d'index de mot clés).
 
Merci.
 
Longue vie à SPIP et à l'Open Source !
 
Pidgee
<div><div>
<div class="RTE">Bonjour,</div>
<div class="RTE">&nbsp;</div>
<div class="RTE">Apr&egrave;s en avoir parl&eacute; avec D&eacute;esse A., je vous soumet une proposition de changement pour SPIP afin de pouvoir enfin lister les articles sur base de plusieurs mots cl&eacute;s (Mot1 ET mot2 ET...).</div>
<div class="RTE">&nbsp;</div>
<div class="RTE">La requ&ecirc;te SQL g&eacute;n&eacute;r&eacute;e actuellement pour la boucle par &lt;BOUCLE_articles(ARTICLES)<br>{id_mot IN (1,3)} {par titre}&gt; est :</div>
<div class="RTE">&nbsp;</div>
<div class="RTE">Par contre la requ&ecirc;te SQL associ&eacute;e n'est pas correcte. Elle donne :&nbsp; <br>SELECT articles.id_article, FIND_IN_SET(mots_articles.id_mot, "1,3") AS rang,<br>articles.descriptif, articles.titre, articles.date, articles.lang<br>FROM spip_mots_articles AS mots_articles,<br>&nbsp;&nbsp;&nbsp; spip_articles AS articles<br>WHERE articles.id_article=mots_articles.id_article<br>&nbsp;&nbsp;&nbsp; AND mots_articles.id_mot IN (1,3)<br>&nbsp;&nbsp;&nbsp; AND articles.statut='publie'<br>GROUP BY articles.id_article<br>ORDER BY articles.titre</div>
<div class="RTE">&nbsp;</div>
<div class="RTE">Elle correspond en fait &agrave; la liste des articles d&eacute;finis avec le mot cl&eacute; 1 OU le mot cl&eacute; 2. Pour trouver les articles d&eacute;finis avec le mot cl&eacute; 1 ET le mot cl&eacute; 2, il suffirait de d&eacute;finir la requ&ecirc;tre SQL suivante :</div>
<div class="RTE">&nbsp;</div>
<div class="RTE">SELECT articles.id_article, FIND_IN_SET(mots_articles.id_mot, "1,3") AS<br>rang, articles.descriptif, articles.titre, articles.date, articles.lang<br>FROM spip_mots_articles AS mots_articles,<br>&nbsp;&nbsp;&nbsp; spip_articles AS articles<br>WHERE articles.id_article=mots_articles.id_article<br>&nbsp;&nbsp;&nbsp; AND mots_articles.id_mot IN (1,3)<br>&nbsp;&nbsp;&nbsp; AND articles.statut='publie'<br>GROUP BY articles.id_article<br>HAVING count(*) = 2<br>ORDER BY articles.titre</div>
<div class="RTE">&nbsp;</div>
<div class="RTE">La seule diff&eacute;rence est que le champ $boucle-&gt;group devrait contenir en plus " HAVING count(*) = &lt;nbr de mots cl&eacute;s utilis&eacute;s&gt;".</div>
<div class="RTE">&nbsp;</div>
<div class="RTE">Est-il envisageable d'int&eacute;grer cette modification dans SPIP pour et que cette s&eacute;lection sur base du ET entre&nbsp;plusieurs (&gt;1)&nbsp;mots cl&eacute;s soit faite si la page appel&eacute;e est <a href="http://&lt;host&gt;/SPIP/mot.php3?id_mot=1,3">http://&lt;host&gt;/SPIP/mot.php3?id_mot=1,3</a>&nbsp;par exemple (en supposant que la virgule soit choisie comme s&eacute;parateur&nbsp;d'index de mot cl&eacute;s).</div>
<div class="RTE">&nbsp;</div>
<div class="RTE">Merci.</div>
<div class="RTE">&nbsp;</div>
<div class="RTE">Longue vie &agrave; SPIP et &agrave; l'Open Source !</div>
<div class="RTE">&nbsp;</div>
<div class="RTE">Pidgee</div>
</div></div>
Guermonprez Patrick | 3 Jun 2005 16:43
Picon
Favicon

Sélection d'articles sur base de plusieurs mots-clés -Proposition de requête SQL

Bonjour,
 
Après en avoir parlé avec Déesse A., je vous soumet une proposition de changement pour SPIP afin de pouvoir enfin lister les articles sur base de plusieurs mots clés (Mot1 ET mot2 ET...).
 
La requête SQL générée actuellement pour la boucle par <BOUCLE_articles(ARTICLES)
{id_mot IN (1,3)} {par titre}> est :
 
Par contre la requête SQL associée n'est pas correcte. Elle donne : 
SELECT articles.id_article, FIND_IN_SET(mots_articles.id_mot, "1,3") AS rang,
articles.descriptif, articles.titre, articles.date, articles.lang
FROM spip_mots_articles AS mots_articles,
    spip_articles AS articles
WHERE articles.id_article=mots_articles.id_article
    AND mots_articles.id_mot IN (1,3)
    AND articles.statut='publie'
GROUP BY articles.id_article
ORDER BY articles.titre
 
Elle correspond en fait à la liste des articles définis avec le mot clé 1 OU le mot clé 2. Pour trouver les articles définis avec le mot clé 1 ET le mot clé 2, il suffirait de définir la requêtre SQL suivante :
 
SELECT articles.id_article, FIND_IN_SET(mots_articles.id_mot, "1,3") AS
rang, articles.descriptif, articles.titre, articles.date, articles.lang
FROM spip_mots_articles AS mots_articles,
    spip_articles AS articles
WHERE articles.id_article=mots_articles.id_article
    AND mots_articles.id_mot IN (1,3)
    AND articles.statut='publie'
GROUP BY articles.id_article
HAVING count(*) = 2
ORDER BY articles.titre
 
La seule différence est que le champ $boucle->group devrait contenir en plus " HAVING count(*) = <nbr de mots clés utilisés>".
 
Est-il envisageable d'intégrer cette modification dans SPIP pour et que cette sélection sur base du ET entre plusieurs (>1) mots clés soit faite si la page appelée est http://<host>/SPIP/mot.php3?id_mot=1,3 par exemple (en supposant que la virgule soit choisie comme séparateur d'index de mot clés).
 
 
Pidgee



<div><div><div class="RTE">
<div>
<div class="RTE">Bonjour,</div>
<div class="RTE">&nbsp;</div>
<div class="RTE">Apr&egrave;s en avoir parl&eacute; avec D&eacute;esse A., je vous soumet une proposition de changement pour SPIP afin de pouvoir enfin lister les articles sur base de plusieurs mots cl&eacute;s (Mot1 ET mot2 ET...).</div>
<div class="RTE">&nbsp;</div>
<div class="RTE">La requ&ecirc;te SQL g&eacute;n&eacute;r&eacute;e actuellement pour la boucle par &lt;BOUCLE_articles(ARTICLES)<br>{id_mot IN (1,3)} {par titre}&gt; est :</div>
<div class="RTE">&nbsp;</div>
<div class="RTE">Par contre la requ&ecirc;te SQL associ&eacute;e n'est pas correcte. Elle donne :&nbsp; <br>SELECT articles.id_article, FIND_IN_SET(mots_articles.id_mot, "1,3") AS rang,<br>articles.descriptif, articles.titre, articles.date, articles.lang<br>FROM spip_mots_articles AS mots_articles,<br>&nbsp;&nbsp;&nbsp; spip_articles AS articles<br>WHERE articles.id_article=mots_articles.id_article<br>&nbsp;&nbsp;&nbsp; AND mots_articles.id_mot IN (1,3)<br>&nbsp;&nbsp;&nbsp; AND articles.statut='publie'<br>GROUP BY articles.id_article<br>ORDER BY articles.titre</div>
<div class="RTE">&nbsp;</div>
<div class="RTE">Elle correspond en fait &agrave; la liste des articles d&eacute;finis avec le mot cl&eacute; 1 OU le mot cl&eacute; 2. Pour trouver les articles d&eacute;finis avec le mot cl&eacute; 1 ET le mot cl&eacute; 2, il suffirait de d&eacute;finir la requ&ecirc;tre SQL suivante :</div>
<div class="RTE">&nbsp;</div>
<div class="RTE">SELECT articles.id_article, FIND_IN_SET(mots_articles.id_mot, "1,3") AS<br>rang, articles.descriptif, articles.titre, articles.date, articles.lang<br>FROM spip_mots_articles AS mots_articles,<br>&nbsp;&nbsp;&nbsp; spip_articles AS articles<br>WHERE articles.id_article=mots_articles.id_article<br>&nbsp;&nbsp;&nbsp; AND mots_articles.id_mot IN (1,3)<br>&nbsp;&nbsp;&nbsp; AND articles.statut='publie'<br>GROUP BY articles.id_article<br>HAVING count(*) = 2<br>ORDER BY articles.titre</div>
<div class="RTE">&nbsp;</div>
<div class="RTE">La seule diff&eacute;rence est que le champ $boucle-&gt;group devrait contenir en plus " HAVING count(*) = &lt;nbr de mots cl&eacute;s utilis&eacute;s&gt;".</div>
<div class="RTE">&nbsp;</div>
<div class="RTE">Est-il envisageable d'int&eacute;grer cette modification dans SPIP pour et que cette s&eacute;lection sur base du ET entre&nbsp;plusieurs (&gt;1)&nbsp;mots cl&eacute;s soit faite si la page appel&eacute;e est <a href="javascript:ol('http://%26lt;host%26gt;/SPIP/mot.php3?id_mot%3d1,3');">http://&lt;host&gt;/SPIP/mot.php3?id_mot=1,3</a>&nbsp;par exemple (en supposant que la virgule soit choisie comme s&eacute;parateur&nbsp;d'index de mot cl&eacute;s).</div>
<div class="RTE">&nbsp;</div>
<div class="RTE">&nbsp;</div>
<div class="RTE">Pidgee</div>
</div>
<p><br><br></p>
</div></div></div>
Fil | 4 Jun 2005 17:24
Favicon
Gravatar

Re: Sélection d'articles sur base de plusieurs mots-clés -Proposition de requête SQL

>    Après en avoir parlé avec Déesse A., je vous soumet une proposition de
>    changement pour SPIP afin de pouvoir enfin lister les articles sur base de
>    plusieurs mots clés (Mot1 ET mot2 ET...).
> 
>    La requête SQL générée actuellement pour la boucle par
>    <BOUCLE_articles(ARTICLES)
>    {id_mot IN (1,3)} {par titre}> est :
../..
>    Elle correspond en fait à la liste des articles définis avec le mot clé 1
>    OU le mot clé 2.

Oui, c'est d'ailleurs précisément ce qui est demandé : un article lié à un
mot dont l'id_ est "dans (1,3)".

> Pour trouver les articles définis avec le mot clé 1 ET le
>    mot clé 2, il suffirait de définir la requêtre SQL suivante :

Il faudrait que la syntaxe {id_mot=1}{id_mot=2} fonctionne. C'est un bug
connu depuis longtemps, et jamais réglé...

>    HAVING count(*) = 2
> 
>    La seule différence est que le champ $boucle->group devrait contenir en
>    plus " HAVING count(*) = <nbr de mots clés utilisés>".

Je ne connaissais pas cet opérateur ; mais tu peux l'intégrer si tu veux au
compilateur en créant un nouveau critère ? Mais ne change pas le sens du
critère IN, car d'autres squelettes l'utilisent dans son sens actuel.

-- Fil

Pierre Troller | 4 Jun 2005 18:06

Re: Bug génération vignette gif (resolu)

désolé pour le bruit, c'était un problème local  :-(

Pierre Troller wrote:

>A l'upload du logo de l'article :
>Warning: filemtime(): Stat failed for 
>../IMG/cache-80x55/arton14-80x55.gif (errno=2 - No such file or 
>directory) in /var/www/constituante/htdocs/ecrire/inc_logos.php3 on line 
>490 <http://constituante.dinos.org/IMG/arton14.gif>
>
>une image arton14.gif se trouve dans le repertoire IMG, rien dans le rep 
>cache-80x55 <http://constituante.dinos.org/IMG/arton14.gif>
>_______________________________________________
>liste: http://listes.rezo.net/mailman/listinfo/spip-dev
>doc: http://www.spip.net/
>cvs: http://www.spip.net/spip-dev/devel/
>irc://irc.freenode.net/spip
>
>  
>

dlatr | 4 Jun 2005 18:18
Picon

Re: Sélection d'articles sur base de plusieurs mots-clés -Proposition de requête SQL


Le 4 juin 05, à 17:24, Fil a écrit :

>>    Après en avoir parlé avec Déesse A., je vous soumet une 
>> proposition de
>>    changement pour SPIP afin de pouvoir enfin lister les articles sur 
>> base de
>>    plusieurs mots clés (Mot1 ET mot2 ET...).
>>
>>    La requête SQL générée actuellement pour la boucle par
>>    <BOUCLE_articles(ARTICLES)
>>    {id_mot IN (1,3)} {par titre}> est :
> ../..
>>    Elle correspond en fait à la liste des articles définis avec le 
>> mot clé 1
>>    OU le mot clé 2.
>
> Oui, c'est d'ailleurs précisément ce qui est demandé : un article lié 
> à un
> mot dont l'id_ est "dans (1,3)".
>
>
>> Pour trouver les articles définis avec le mot clé 1 ET le
>>    mot clé 2, il suffirait de définir la requêtre SQL suivante :
>
> Il faudrait que la syntaxe {id_mot=1}{id_mot=2} fonctionne. C'est un 
> bug
> connu depuis longtemps, et jamais réglé...
>
>
>>    HAVING count(*) = 2
>>
>>    La seule différence est que le champ $boucle->group devrait 
>> contenir en
>>    plus " HAVING count(*) = <nbr de mots clés utilisés>".
>
> Je ne connaissais pas cet opérateur ; mais tu peux l'intégrer si tu 
> veux au
> compilateur en créant un nouveau critère ? Mais ne change pas le sens 
> du
> critère IN, car d'autres squelettes l'utilisent dans son sens actuel.
>
> -- Fil
>
> ________
  ce serait plus économe que de jouer avec les doublons : éliminer les 
articles sans mots puis ceux sans le 1er mot, puis dans ceux qui 
restent, ceux sans le 2e, etc. et enfin choisir ceux qui ont aussi le 
dernier mot (ou ceux qui ne sont pas éliminés dans les boucles 
précédentes)

Claude

Fil | 4 Jun 2005 18:32
Favicon
Gravatar

Re: 404 et charset

> Sur un site en utf-8, ma page 404 retourne pas le header
> "Content-Type: text/html; charset=utf-8". J'ai droit à un simple
> "Content-Type: text/html;". Du coup sous IE la page refuse de
> s'afficher et sous Mozilla, j'ai droit à quelque chose de moche.

En fait le mal est plus profond : la page 404 est en effet affichée
directement, sans s'insérer dans le process normal ;  du coup elle échappe
aussi à tidy. Je corrige tout ça dans la CVS. Merci !

-- Fil

Déesse A. | 4 Jun 2005 18:38
Favicon

Re: Sélection d'articles sur base de plusieurs mots-clés -Proposition de requête SQL

Il y a 2 aspects dans le problème évoqué.

1. faire un ET sur id_mot
2. exprimer les arguments du ET dans un paramètre d'URL

Pour le point 1 la premiere version de mon compilateur gérait les 
occurrences mutliples de {id_mot=nnn} et réalisait le ET en 
synthétisant une requête imbriquée, malheureusement disponible que dans 
les Mysql récents, j'avais donc laissé tomber. C'est vrai que HAVING 
est beaucoup plus simple et répandu, je peux donc retrouver ce vieux 
code et l'adapter à ça sans trop de peine, ça ne changera meme pas 
l'API car je lui avais laissé le paramètre qui ne sert plus 
actuellement.

Le point 2 exige qu'on implémente le critère non plus ainsi ou de 
manière similaire à IN, mais qqch de la forme {ET id_mot 
#ENV{param-de-la-suite-de-valeurs}} ce qui serait effectivement plus 
souple. Mais du coup ce critère apparait beaucoup plus général, car il 
consiste à dire qu'on veut recenser les id_mot associés à l'objet et 
les soumettre à une condition qui peut être ET mais aussi autre chose. 
Il y a déjà une ambiguité sur le ET: veut-on que la suite de valeurs et 
la suite de mots-clés soient identiques, ou que la 2e soit un 
sur-ensemble de la 1ere (dans le cas sous-ensemble, on retombe sur le 
IN) ?

Bref, techniquement l'idée de HAVING est excellente et facilement 
implémentable, mais il faut s'entendre sur la sémantique qu'on veut, et 
décider d'une syntaxe.

Déesse A.

Fil | 4 Jun 2005 22:13
Favicon
Gravatar

! outils RSS

Deux nouveaux outils RSS :

- dans ecrire/inc_sites.php3 une fonction qui crée un flux rss à partir d'un
  tableau php (c'est le complément de analyser_backend()) ; cette fonction
  est largement incomplète, n'hésitez pas à jouer avec et à ajouter les
  éléments que vous voulez : tests d'existence des données, formats de
  sortie, enclosures, filtres divers, etc.

- dans ecrire/suivi_revisions.php3 un bouton [XML] permet de s'abonner à la
  liste des modifications d'articles. Pratique pour les traducteurs sur
  www.spip.net

-- Fil


Gmane