Discussion utilisateur:JM. Philippe

Un livre de Wikilivres.
Sauter à la navigation Sauter à la recherche

Bonjour, {{subst:PAGENAME}}, et bienvenue sur Wikilivres. En cas de besoin, voici quelques pages qui devraient vous être utiles si vous n'êtes pas familiers des wikis :

Pour signer vos messages en page de discussion (on ne signe pas les livres) utilisez quatre tildes (~~~~); cela produira automatiquement votre nom et la date de publication. Si vous avez besoin d'aide, demandez à la communauté au Bistro ou sur ma propre page de discussion, ou bien consultez la FAQ . Bonne continuation.

Tavernier 25 janvier 2007 à 23:35 (CET)

Ok je vais lire ce que je ne connais pas (j'utilise régulièrement les wikis mais découvre les wikilivres). JM. Philippe 26 janvier 2007 à 21:40 (CET)

Problème épineux avec CSS et fonctions parseur[modifier le wikicode]

Bonjour JM. Philippe, j'ai vu dans vos récents diffs que vous sembliez vous y connaitre en css. Je suis en ce moment en train de patauger dans la réalisation d'un modèle centralisant les sommaires des wikilivres, Modèle:Sommaire. En gros, lorsqu'on l'utilise, ainsi {{Sommaire}}, il affiche le contenu de la page [[<nom du livre>/Sommaire en brut]], si il est utilisé ainsi {{Sommaire|haut}}, le contenu de la sous-page est affiché en "inline" au moyen de la classe inline définie dans Mediawiki:Common.css et lorsqu'il est utilisé ainsi {{Sommaire|bas}} il n'affiche que les numéros de chapitres. Le résultat esthétique recherché est celui-là : Renaissance et Réforme/À la veille du XVIeme siècle. Le probleme c'est que je n'arrive bien à rajouter des · dans le cas du "haut" mais pas à afficher seulement les numéros dans le cas de "bas", comme vous pouvez le voir ici Étude scientifique de la technique du piano/La formation pré-scientifique de la technique. Auriez-vous une idée de la manière d'y parvenir avant que je me résolve à utiliser un <span> ou du javascript ? Tavernier 6 février 2007 à 21:47 (CET)

Bonjour J.M. Tavernier ! J'ai jeté un œil et ça devrait être assez simple. La structure Html du menu est nettement plus propre ici que celle de la page sur la Réforme à la Renaissance : les sommaires sont des listes ordonnées plutôt que des liens les uns derrière les autres dans un paragraphe. Chaque entrée de liste contient soit un lien (tag A) soit un texte gras (tag STRONG). En fait il devrait suffire de ne pas afficher ces éléments dans le menu du bas à l'aide d'un display: none; dans le code CSS. Pour éviter toute collision avec des styles utilisés par ailleurs, je propose d'ajouter dans les styles :

div.linelist.numbersonly.noprint.plainlinks li a,
div.linelist.numbersonly.noprint.plainlinks li strong {
  display: none;
}

NB: on peut me tutoyer, je n'y vois pas d'inconvénient ! JM. Philippe 6 février 2007 à 22:46 (CET)

Malheureusement, je viens d'essayer et le résultat obtenu est que seul les · se sont affichés, sans les numéros/hyperliens. Je crois que de cette manière, c'est définitivement impossible, vu que les chiffres sont accolés avec la pseudo-classe before: à l'élément <a> et que si on rattache la numérotation aux éléments <li> on perdra du coup les hyperliens... Je crois que la solution de Lachaume d'utiliser un modèle enroulant le texte à cacher dans un <span> est bien la seule solution vu que display:none ne peut pas faire de ségrégation entre le contenu principal et le contenu before: et :after d'un élément. Merci bien ! Tavernier 7 février 2007 à 00:26 (CET)
On peut peut-être aussi simplement insérer un espace insécable (&nbsp;) devant ou derrière les A et les STRONG afin que les LI ne soient pas vides lorsqu'on n'affiche pas le texte. JM. Philippe 7 février 2007 à 14:04 (CET)
La solution ultime pourrait aussi être de déplacer le contenu des listes hors fenêtre du navigateur ou encore de réduire leur largeur afin qu'ils ne soient pas lisibles. JM. Philippe 12 février 2007 à 23:08 (CET)
Quoique le span serait bien la solution la plus naturelle non ? puisqu'avec les divs ils ont été concus pour prendre en charge les exceptions, et vu qu'il s'agit là bien d'une exception dans la continuité de la balise <a>, ca serait logique en un sens non ? Sinon peut-être les nouvelles pseudo-classes du css 3 [1] permettront-ils cela ? Tavernier 14 février 2007 à 13:10 (CET)
En général j'essaie toujours de ne pas introduire d'élément uniquement lié au rendu visuel afin de respecter la sémantique du document. Cela dit je n'avais pas vu l'histoire des :before sur les liens car ils ne sont pas indiqués par le DOM Inspector de Firefox. Je ne comprends d'ailleurs pas bien pourquoi ces :before ne sont pas placés plutôt sur les LI. Ce serait plus logique de numéroter les entrées de liste plutôt que leur contenu. J'imagine que le seul intérêt de cette manœuvre est d'enlever le point qui suit le numéro dans les listes numérotées ? Parce que sinon, ça marche tout seul avec OL et LI ! JM. Philippe 14 février 2007 à 22:25 (CET)
Le problème c'est que j'ai bien essayé display:inline sur l'élément ol, mais ca a pour effet de faire disparaitre les numéros... Tavernier 15 février 2007 à 21:36 (CET)
Mmmm... Effectivement display:inline fait disparaître les n° parce que le W3C précise que les numéros s'adressent aux éléments display:list-item. De toute façon le problème est que le numéro doit faire partie du lien parce qu'il faut pouvoir cliquer dessus pour accéder au chapitre. Dans ce cas, il n'y a pas d'autre possibilité que de numéroter les A ou STRONG et, forcément, si on fait display:none dessus, ça n'affiche plus rien ! J'ai testé l'encadrement de l'intérieur du A ou STRONG par un SPAN display:none et là, effectivement, ça fait ce qu'on attend. Ouf ! JM. Philippe 15 février 2007 à 22:39 (CET)

URL des chapitres du livre en livre/chapitre[modifier le wikicode]

J'ai vu que l'on peut utiliser la barre / comme séparateur pour former l'URL des chapitres à partir de l'URL du livre (par ex. CSS/Introduction pour le livre CSS). Or ce n'est pas ce qui a été mis en œuvre dans le livre des CSS justement. Quels sont les avantages et inconvénients de cette méthode d'URL ? JM. Philippe 12 février 2007 à 21:28 (CET)

En fait si ca n'a pas été mis en oeuvre dans le livre CSS c'est que pendant longtemps il n'y a pas eu de règle à ce sujet (ou plutot une règle peu judicieuse qui utilisait la règle livre_chapitre [2]).
Suite à Wikilivres:Prise de décision/Conventions de nommage, on s'est plus ou moins mis d'accord pour utiliser la barre oblique parceque : 1) c'est un signe universel dans les url 2) il est généralement moins ambigu (hormis dans quelques expections comme dans TCP/IP) 3) Il s'agit du signe le plus compatible avec mediawiki (qui rajoute automatiquement un lien vers la pae racine en haut des sous-pages nommées avec la bonne méthode, qui produit automatiquement des liens [[<livre>/<chapitre>|<chapitre>]] lorsqu'on utilise la syntaxe [[/<chapitre>/]],...). Tavernier 12 février 2007 à 22:04 (CET)
Dans ce cas je vais prochainement renommer les chapitres du livre CSS. JM. Philippe 12 février 2007 à 23:09 (CET)
Terminé ! Il reste cependant des redirections à éliminer. JM. Philippe 13 février 2007 à 23:21 (CET)

Question : centrage avec le CSS[modifier le wikicode]

Salut,

bon, je découvre progressivement le CSS. D'après ce que j'ai pu lire, on peut centrer le texte (text-align:center;) et on peut centrer une image de fond (background-position:center;). J'ai vu qu'on pouvait placer n'importe quel objet au mm (genre position:absolute;right:10px;), mais je n'ai rien vu sur le centrage.

On fait comment ? on garde le bon vieux <center>…</center> ou <div align="center">…</div> ?

Cdang 27 février 2007 à 14:39 (CET)

C'est vrai que le chapitre positionnement n'est pas encore écrit... Il ne faut surtout pas utiliser la balise center qui est à l'abandon ou abandonnée suivant les version de Html. Pour le centrage des blocs (typiquement des div), la méthode officielle est :
div {
  width: ...;
  margin: 0 auto;
}
où il faut bien sûr donner une valeur de largeur width. On peut remplacer le 0 de margin par n'importe quelle valeur de distance, c'est la marge verticale. Par contre auto est le paramètre qui centre la boîte dans son élément parent (la marge horizontale). Bien sûr ça ne marche pas dans Internet Explorer qui n'a encore pas bien lu les spécifications W3C. Pour lui il faut mettre text-align:center; dans l'élément parent ce qui implique de le corriger ensuite dans l'élément enfant...
JM. Philippe 27 février 2007 à 20:35 (CET)
Merci.
Cdang 28 février 2007 à 12:08 (CET)