espace privé "sans style" en SPIP 2.0

Bonjour,

Après migration de 1.9.2d vers 2.0.3, l'espace public avec mes squelettes marche bien.

Par contre, l'espace privé n'affiche les menus que sous forme de liste, apparemment sans utiliser les bons styles. Ceci aussi bien avec FF qu'avec IE7 :

# À suivre
# Édition
     * Tous vos articles
     * Mots-clés
     * Documents des rubriques
# Forum
     * Forum

Dans le source de la page d'accueil de l'espace privé il y a, après d'autres invocations de styles, cette ligne qui me parait bizarre (pas d'url pour le href):

<link rel="stylesheet" type="text/css" href="" />

En dehors des dossiers spécifiques (squelettes,IMG,config,tmp), tout est une copie locale et vérifiée de la distribution.

Qu'est ce qui peut se passer ?

Merci pour votre aide !

j'avais eu le même problème en faisant une migration,et c'était juste un fichier en trop dans le squelette... il faut juste virer ton fichier "spip_admin.css", ou un truc comme ça....

marjorie

Le 20 janv. 09 à 21:09, Martinus a écrit :

Bonjour,

Après migration de 1.9.2d vers 2.0.3, l'espace public avec mes squelettes marche bien.

Par contre, l'espace privé n'affiche les menus que sous forme de liste, apparemment sans utiliser les bons styles. Ceci aussi bien avec FF qu'avec IE7 :

# À suivre
# Édition
   * Tous vos articles
   * Mots-clés
   * Documents des rubriques
# Forum
   * Forum

Dans le source de la page d'accueil de l'espace privé il y a, après d'autres invocations de styles, cette ligne qui me parait bizarre (pas d'url pour le href):

<link rel="stylesheet" type="text/css" href="" />

En dehors des dossiers spécifiques (squelettes,IMG,config,tmp), tout est une copie locale et vérifiée de la distribution.

Qu'est ce qui peut se passer ?

Merci pour votre aide !

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

irc://irc.freenode.net/spip ou http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip

On Tue, 20 Jan 2009 22:09:04 +0200, Martinus <mr@mrit.com> wrote:

Après migration de 1.9.2d vers 2.0.3, l'espace public avec mes squelettes marche bien.
Par contre, l'espace privé n'affiche les menus que sous forme de liste, apparemment sans utiliser les bons styles. Ceci aussi bien avec FF qu'avec IE7 :

Le problème commence à être connu, faire des recherches sur les archives de la lsite

sinon:

(ça vient de ficnhiers de styles de la dist qui ont été copiés dans /squelettes)
--
Using Opera's revolutionary e-mail client: Opera Web Browser | Faster, Safer, Smarter | Opera

Bonjour et merci pour ta réponse.

J'avais un spip-admin.css dans un sous-dossier de mes squelettes, je l'ai supprimé, j'ai effacé le cache... et rien n'a changé !

Mais je ne vois pourquoi mes squelettes pourraient agir sur l'espace privé.

Est-ce qu'il y a quelque chose qui a changé dans ce domaine ?
Comment est générée la liste des styles invoqués dans les pages **privées** ? Est-ce que l'on peut ou l'on doit s'en préoccuper ?

Merci.

marjorie lévêque a écrit :

j'avais eu le même problème en faisant une migration,et c'était juste un fichier en trop dans le squelette... il faut juste virer ton fichier "spip_admin.css", ou un truc comme ça....

marjorie

Le 20 janv. 09 à 21:09, Martinus a écrit :

Bonjour,

Après migration de 1.9.2d vers 2.0.3, l'espace public avec mes squelettes marche bien.

Par contre, l'espace privé n'affiche les menus que sous forme de liste, apparemment sans utiliser les bons styles. Ceci aussi bien avec FF qu'avec IE7 :

# À suivre
# Édition
   * Tous vos articles
   * Mots-clés
   * Documents des rubriques
# Forum
   * Forum

Dans le source de la page d'accueil de l'espace privé il y a, après d'autres invocations de styles, cette ligne qui me parait bizarre (pas d'url pour le href):

<link rel="stylesheet" type="text/css" href="" />

En dehors des dossiers spécifiques (squelettes,IMG,config,tmp), tout est une copie locale et vérifiée de la distribution.

Qu'est ce qui peut se passer ?

Merci pour votre aide !

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

irc://irc.freenode.net/spip ou http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip

On Wed, 21 Jan 2009 10:35:40 +0200, Martinus <mr@mrit.com> wrote:

Est-ce qu'il y a quelque chose qui a changé dans ce domaine ?
Comment est générée la liste des styles invoqués dans les pages **privées** ? Est-ce que l'on peut ou l'on doit s'en préoccuper ?

Les styles privés sont générés par un truc du genre
<link rel="stylesheet" type="text/css" href="#URL_PAGE{style_prive_defaut.css}" />

[(#REM) en fait c'est un peu plus compliqué, parce que certains styles viennent de fichiers statiques bidule.css, d'autres sont définis de façon dynamique par spip.php?page=truc.html, ce qui permet de changer les styles en fonction de choix utilisateur comme la couleur ou la taille]

Or, la fonction qui est derière #URL_PAGE cherche un fichier donné (ici, style_prive.css), DANS L'ORDRE, dans les dossiers suivants:
- squelettes
- plugins
- dist
- prive

C'est un ordre qui est logique puisque ça permet aux fichiers personnalisés (dans /squeletes) d'être utilisé de préférence à ceux de la dist, et ce n'est que si on ne trouve pas le fichier en question qu'on se rabat sur les fichiers par défaut. Si c'était fait autrement on ne pourrait pas utiliser de squelette perso sans effacer la dist, par exemple. C'est aussi logique d'utiliser la même fonction dans l'espace privé et les squelettes, ça économise du code pour des fonctions qui font la même chose.

Dans les versions 1.9.x, les fichiers de style "privés" étaient rangés dans la dist. Dans 2.0, ils sont passés dans /prive; le changement vient je supose d'une volonté de crifier et de séparer ce qui est public (/squelettes-dist) de ce qui est privé (/prive), au lieu de tout mettre en vrac dans /dist.

Le problème se pose quand on utilise des squelettes crées avec 1.9.x. Le plus souvent, on a construit son squelette en commençant par copier TOUT le contenu de /dist dans /squelettes et en travaillant à partir de là, en changeant un bout ici, un bout ailleurs. TOUT le contenu, ça inclut par conséquent les fichiers de style privés, qui étaient dans la dist et qui ont été copiés dans les squelettes !

Si on installe un 2.0, évidemment on garde ses squelettes. Y compris ces "scories", les fichiers de style privé de 1.9.x, qu'on a copié sans y penser. Sous 1.9 ça ne tirait pas à conséquence (les fichiers de /squelettes éatient utilisés, mais comme ce sont les même que ceux de /dist, pas de problème). Mais sous 2.0, les styles ont chnagé pour des raisons je suppose de modification de l'interface, de simplification du html, de fonctionnalités ajax ou que sais-je encore (c'est peut être dommage de leur avoir laissé le même nom, du coup !). Bref, utiliser les fichiers de style privé 1.9.x donne des catastrophes : si on utilise les mêmes squelettes, #URL_PAGE cherche dans l'ordre indiqué plus haut; et tombe sur les fichiers de style de squelette AVANT de voir ceux de /prive. Ce sont donc des fichiers erronés qui sont appliqués. CQFD.

([#REM) Incidemment, ça veut dire qu'on peut modifier le style de son interface privé en copiant dans /squelettes les fichiers de style en question, et en les modifiant selon ses goûts]

A ma connaissance, la partie privé appelle les fichiers suivants :

/prive/style_prive_defaut.css
/prive/style_prive.html [(#REM) interprété par spip et appelé par /spip.php?page=style_prive ]
éventuellement, /prive/style_prive_ie.html
/prive/spip_style.css
/prive/spip_style_print.css

et j'en oublie peut être.

Tout fichier portant un de ces noms qui se trouverait dans le dosier /squelettes (dans /plugins aussi d'ailleurs !) sera interprété AVANT le fichier légitime.

Evidemment, après avoir fait ça il faut nettoyer le cache de spip (vérifier qu'il ne reste rien dans /local/cache-css/ ) ET celui du navigateur. Ca m'a pris 3-4 ssais avant d'avoir réussi à tout nettoyer...

JF

--
Using Opera's revolutionary e-mail client: Opera Web Browser | Faster, Safer, Smarter | Opera

PS- Le même problème s'applique aux formulaires, qui étaient dans /dist/formulaires et sont passés je ne sais plus où; des formulaires de même nom qui se retrouvent dans /squelettes/formulaires seront donc utilisés préférentiellement aux bons.

Ok, merci pour ces précisions utiles.

J'avais déjà supprimé un squelette en doublon, et il n'y en a plus
d'autres, mais le problème avec les styles de l'espace privé subsiste encore ...

Je soupçonne un problème avec l'avant dernier style, généré dynamiquement.

<link rel="stylesheet" type="text/css"
href="http://…/spip.php?page=style_prive&ltr=l …

Si j'exécute l'URL qui devrait produire le style, j'obtiens, au lieu
d'une feuille de style :

Fatal error: Call to undefined function: imagegif()
in ....\ecrire\inc\filtres_images_mini.php on line 215

Apparemment, je n'ai pas une version assez récente du module GD2 sur ma machine de test, qui faisait très bien marcher la 1.9.2.

Mais je ne veux pas qu'il ait une version de PHP supérieure à celle de mon hébergeur (OVH), pour que les tests soient signifiants, et à première vue, ça a l'air compliqué d'upgrader GD2 sans PHP, comme a dû le faire mon hébergeur.

Vraiment dommage que SPIP 2.0 nous impose ce genre de plaisirs, tout ça pour des effets graphiques très secondaires.