Puisque j'utilise assez intensement le mécanisme d'Alternate StyleSheet sur ce weblog, et qu'un certain navigateur obsolète ne suit absolument pas la recommandation du W3C qui indique que les UA sont supposés offrir un mécanisme permettant au visiteur de choisir l'apparence parmi celle proposée, j'ai du recourir à une solution alternative, en JS, pour pouvoir fournir le même résultat sur tous les navigateurs. Pour être tout à fait juste, il faut quand même préciser qu'un peu d'aide pour Gecko est aussi appréciable, étant donné que par défaut, l'apparence choisie n'est pas retenue pour les visites ultérieures...
Idéalement, une telle implémentation devrait être aisée par l'utilisation de l'objet document.styleSheets présent dans le DOM du W3C, mais l'implémentation qui en est faite par les navigateurs ne permet pas réellement de l'utiliser comme il se doit... J'en sais quelque chose pour avoir voulu cet après-midi m'en servir pour modifier un peu Somatic, en faisant en sorte qu'en ayant le JavaScript desactivé, l'ensemble des sections soit affichée... Ce qui pourrait se faire facilement en ajoutant par du JS les règles dans Somatic.css dans un monde idéal. Ca marche très bien dans Gecko, j'ai réussi à me débrouiller pour que ca fonctionne dans IE aussi, mais, Opera et KHTML semble totalement réfractaire.
Enfin, pour en revenir au sujet actuel, j'ai au fil du temps adapté un script trouvé sur le web, au point qu'il n'a maintenant plus une seule ligne en commun avec ce que j'avais trouvé. Raison principale de ce post en réalité, histoire de contribuer un peu à l'evolution éventuelle des scripts utilisées sur le web.
L'utilisation actuelle est relativement simple. Elle necessite tout d'abord l'utilisation du début de mon fichier RollUp.js, plus précisement, les lignes de var styleSwitcher = { jusqu'à l'accolade fermante se situant au même niveau que le var ( oui, je compte mettre ca dans un fichier séparé d'ici pas trop longtemps, histoire que ca soit plus simple à suivre ^^; ). Ensuite, il est necessaire d'ajouter dans l'évenement onload de la page la ligne de code :
styleSwitcher.set(styleSwitcher.getPref());
Utilisée uniquement pour initialiser correctement l'état de départ de la page. Ou plus exactement, pour une partie de l'initialisation. En effet, je triche un petit peu, car l'implémentation n'est pas totalement en JS, mais un système hibride : le changement de feuille de style et la sauvegarde dans un cookie du style choisi se font effectivement dans le code JS, mais le choix de la stylesheet a marqué comme stylesheet par défaut est fait au niveau PHP, avant d'envoyer la page, avec ( code réellement utilisé, pour vous donner une idée précise ) :
$CkStyle=$_COOKIE['style'];
if(is_null($CkStyle)) $CkStyle="Somatic";
$StyleSheets['0']=array( 0=> "OliveVerde", 1=> "OliveVerde.css");
$StyleSheets['1']=array( 0=> "Lite", 1=> "Lite.css");
$StyleSheets['2']=array( 0=> "Lite:Reloaded", 1=>"Lite_nv.css");
$StyleSheets['3']=array( 0=> "Brushed", 1=> "Brushed.css");
$StyleSheets['4']=array( 0=> ":Hover", 1=> "HoverExp.css");
$StyleSheets['5']=array( 0=> "Somatic", 1=>"Somatic.css");
foreach($StyleSheets as $StyleSheet) {
if($StyleSheet[0] == $CkStyle)
echo(" <link rel='StyleSheet' type='Text/CSS' href='/blog/{$StyleSheet[1]}' title='{$StyleSheet[0]}' media='screen' />\n");
else
echo(" <link rel='Alternate StyleSheet' type='Text/CSS' href='/blog/{$StyleSheet[1]}' title='{$StyleSheet[0]}' media='screen' />\n"); }
L'avantage majeur de la detection en PHP, c'est que la page s'affiche immédiatement avec l'apparence que le visiteur souhaite. Dans le cas d'une implémentation en JS, il y aura toujours un flash, le visiteur verra brievement le site avec l'apparence par défaut avant d'avoir sous les yeux l'apparence qu'il a choisi. A mon humble avis, c'est des plus désagréable, et retire une grande part de l'interet des Alternate StyleSheet...
Enfin, dernière étape dans l'utilisation du mécanisme, la création de lien amenant le changement de style ^^; Ca se fait avec un code du genre :
<a href="#" onclick="styleSwitch.set('OliveVerde');return false;">Olive Verde</a>
où styleSwitch.set prend en argument le "title" de la feuille de style à laquelle on veut passer ^^;
Voilaaa pour une présentation rapide de la méthode que j'utilise, en esperant que ca aura interessé quelques-uns d'entre vous. Si c'est l'cas et que vous souhaitez avoir un moyen simple d'utiliser ce script, faites-le moi savoir en commentaire, et j'vais séparer le JavaScript necessaire du reste qui n'est utile que pour Dual Blog, et donner des instructions claires et concises permettant de l'utiliser sur vos sites z'à vous ^^
Tags : aucun
268 -
Un p'tit commentaire ? (1)
Quelques informations sur cette version ? Ca va être un peu difficile étant donné que le choix a été fait de laisser au visiteur le choix de l'apparence graphique de ce blog par le biais de feuilles de styles alternatives ( oui, je viens de pondre la traduction, non je sais pas si c'est une bonne idée de traduire des termes techniques à 23h45 un 31 décembre ). Toutefois, pour ce qui est du style par défaut, Somatic, je peux vous dire que les icones viennent du talentuex David Lanham, pour The IconFactory, dans son set Somatic Windows
Quelques faits ? La magie de pouvoir changer l'apparence de ce site à volonté ( quatres versions disponible en lien ci-dessous pour le moment, plus si vous utilisez un navigateur vous laissant choisir par lui-même l'apparence parce que vous aurez alors en bonus les versions que je considère, erm, expérimentales ) est du essentiellement au tandem XHTML 1.1 et CSS 2.1, permettant de séparer le contenu, c'est à dire les informations elles-même, de la facon dont elles sont affichés à l'écran, ce qui permet entre autre ce que vous avez sous les yeux ^^;
Franck ( Deroche Franck, oui, la parodie de James Bond est nulle, et alors ? ), 20 ans est un habitant de Plaisir, France, la Terre, petite planète du système solaire paumée entre Venus et Mars. Il est actuellement en école d'ingénieur à l'Ecole Centrale de Nantes : une école d'ingénieur généraliste permettant de faire à peu près n'importe quel travail d'ingénieur en sortie.
Toutefois la spécialisation de Franck sera très certainement dans le domaine informatique, pour lequel il éprouve une passion sans bornes. Normallement, de telles études devrait lui laisser assez de temps pour qu'il puisse faire ce qu'il veut à côte, mais ce n'est que la théorie...
Enfin, Franck est en ce moment très ( très très ) amoureux d'une jeune demoiselle particulièrement brillante et sympathique, extrement jolie, adepte de Zelda et du violet qui se reconnaitra très certainement, et qui malheureusement n'habite pas vraiment très près de Nantes... Et en plus, elle ne considère même pas les ordinateurs comme des choses bizarres venue d'ailleurs, pouvant même programmer pour le web ^^;
Qu'est-ce que Franck peut bien aimer ? Erf, bah, tout à la fois, pas grand chose et un nombre impressionant de machins qui pourrait un être normallement constitué ne serait probablement rien d'autre que tout au plus des anecdotes. Toutefois, il faut bien avouer que son passe-temps majeur n'a rien de bien original, puisqu'il s'agit de l'informatique, ce media des temps modernes sur lequel on entend à peu près tout et n'importe quoi. Et en ce qui concerne l'informatique, on peut alors dire que Franck est on ne peut plus écléctique, touchant un peu à tout... Ce qui retient le plus son attention toutefois, en ce moment du moins, reste la création de sites webs, la programmation et la customisation de son environement, à un point pouvant parfois friser le ridicule...
Lorsqu'il n'est pas collé à son écran, on a alors toutes les chances de le trouver en train de lire un bouquin, la lecture lui prenant elle aussi une partie non négligeable de ses temps libres. Dans ce domaine aussi, l'eclectisme fait loi, il peut lire plus ou moins tout et n'importe quoi... Ces dernieres découvertes majeures en la matiere sont probablement les bouquins de Werber ( qu'il a toutefois découvert depuis un certain temps maintenant ) et plus recement les mangas que sont Hunter x Hunter, Naruto et surtout One Piece, qui l'ont amenés dans un univers ou il ne s'était curieusement que rarement aventuré.
Quant à sortir des deux occupations sus-mentionnées, il est difficile de donner une énumeration précise de ce qu'il aime faire, tant cela tant à l'anecdote : faire du cerf-volant sur la plage avec le son des vagues en fond sonore, se baigner, etc.
Quant à ce qu'il n'aime pas, les réponses sont alors même pour lui moins évidente... Au niveau comportemental, c'est à dire dans ces relations avec les autres individus de l'espece humaine, le tout pourrait se resumer par une formule bateau du type : qu'on ne respecte pas le cadre privé dans lequel il souhaite parfois se retrancher... En effet, Franck aime parfois se retrouver livrer à lui-même, avoir des instants bien à lui où il n'est pas obligé d'expliquer ses agissements, et où tout simplement il n'est pas obliger de communiquer avec d'autres individus à qui 'il n'a finalement rien à dire... D'autre part, il deteste se sentir exploiter, en mettant dans cette notion tout travail inutile pour lui, que ce soit au profit de quelqu'un d'autre, ou même completement inutile à qui que ce soit. Toutefois, sa notion de l'utilitié semble legerement particulière, car passer un temps fou sur des jeux ne le dérange par contre générallement pas le moins du monde...
Geekness n'était pas updaté depuis un bon bout de temps, la section va donc laisser sa place à quelques choses qui devrait à priori être
beaucoup plus utile, puisque je compte laisser des archives accessibles ^^; Eventuellement, des petits bonus pourrait atterir dans cette section,
comme une liste des posts jugés les plus dignes d'interet, ou un truc de ce genre. En tout cas, pour le moment, le voici, contenant la liste des
archives pour le moment disponible :
Archives :
Voici la liste des 5 derniers commentaires fait sur ce blog, tous posts confondus. Ca devrait permettre à tout le monde ( et notamment à moi-même ) de repérer les nouveaux commentaires qui arrivent, même s'ils le sont sur des posts vieux de 6 mois ^^
Commentaire de erotik sur le post Les flux de syndication sur ce blog
Commentaire de boobtube sur le post Les flux de syndication sur ce blog
Commentaire de martial tchouapé sur le post Automgen ou le cauchemard de l'ergonome
J'utilise automgen depuis 1 mois environ, je voudrais qu'on puidde l'utiliser dans mon école , mais je ne maitrise pas l'utilisation , surtout pour les animations, si vous avez de bon tutorial dessus merci de les faire parvenir.(je suis étudiant à l'ist afrique centrale)
Commentaire de shadow sur le post Status update
OMG aussi... ;-)
Comme quoi j'ai bien fait de garder ce flux rss, je me disais bien que ça finirait par payer !
Mes plus que probables félicitations pour ton officialisation plus que probable !
Commentaire de DeFr sur le post Status update
C'est le grand problème, à chaque fois j'hésite parce que je sais que je risque de provoquer des crises cardiaques ;-) Plus sérieusement, je commence à avoir un rythme bien rodé, donc, je devrais pouvoir y intégrer (/me croise les doigts et touche du bois) les posts sur Dual Blog. Le pire, c'est que ça me fait réellement plaisir d'y écrire, de même que de remplir mon wiki, mais je suis en chronique manque de temps en fait.
Commentaire de Morgan sur le post Status update
OMG, un post !
Content de savoir que tu as trouvé un job conforme à tes attentes !
Commentaire de DeFr sur le post Dual Blog libéré
Jusqu'à il y a en gros un an, il n'y avait littérallement aucune protection contre le spam, et ce n'était pas un problème parce que je n'étais pas réellement une cible, j'avais réussi à échapper aux mailles du filet pour une raison mystérieuse mais dont je ne me plaignais pas ;-) Malheureusement depuis, j'ai été repéré, et j'ai par conséquent testé plusieurs dispositifs possibles, sans vouloir utiliser de captcha pour deux raisons: ils ont des problèmes non négligeables en terme d'accessibilité d'une part, et ils sont cassables informatiquement d'autre part. La solution sur laquelle je suis arrivé en ce moment, c'est l'utilisation d'Akismet, un service visant à lutter contre le spam au niveau mondial, et assez spécialisé dans la lutte du spam provenant des commentaires sur les blogs.
Très concrètement, pour chacun des commentaires qui sont postés, on vérifie (ligne 25) auprès du serveur d'Akismet la probabilité que le message soit ou non du spam, en fonction du contenu du message, de l'auteur, de l'ip, ... Si Akismet pense que ce n'est pas du spam, je l'affiche directement (et m'envoie un mail m'informant de la publication du commentaire), sinon, ca passe en modération, et je recois quotidiennement un mail me lisant les commentaires qui ont été placés dans cette file de modération.
Je n'ai pour le moment pas eu un seul faux positif, et les commentaires qui passent au travers des mailles d'Akismet sont relativement rares, donc je reste là dessus pour le moment. En toute objectivité, il y a quand même deux problèmes avec Akismet: d'une part, il s'agit d'une boite noire sur laquelle on n'a pas réellement de controle, et d'autre part il est necessaire de créer un compte WordPress (gratuitement) pour pouvoir accéder au service. Le deuxième problème part toutefois d'un bon sentiment: en obligeant les gens à avoir un compte, on évite qu'un grand nombre de spammeurs utilise le service en prétendant que leur spam a été considéré comme tel par erreur, faussant l'algorithme bayesien qui se trouve probablement derrière.
Commentaire de Shadow sur le post Dual Blog libéré
Petite question concernant Dual-Blog : il n'y a apparemment aucun test anti robot spammeur, est-ce que ce n'est pas un souci potentiel ?
Commentaire de Jogb sur le post Je suis toujours là
111111111...
Commentaire de DeFr sur le post Annonce de service
P'tit test, j'ai encore une fois changé légèrement la configuration de l'antispam qui laissait passer encore un peu trop de commentaires étranges à mon gout :-)
Commentaire de bobber sur le post Je suis toujours là
is fantastic this post
Commentaire de shadow sur le post Annonce de service
Tu as failli me provoquer une crise aussi, en fait... Au début de la lecture du billet précédent, j'avais cru que tu avais eu le vrai diplôme... Et que je ne l'avais pas reçu. ;-)
Content que tu te remettes à poster sur le blog, comme quoi j'ai bien fait de ne pas supprimer le flux rss !
Commentaire de DeFr sur le post Diplômé
Merci beaucoup pour les félicitations Morgan :-) Et je m'avoue plus qu'impressioné sur ses délais pour imprimer les diplômes de doctorat Oo; Je suppose que l'objectif doit être de grouper les différentes impressions pour arriver à un certain volume au niveau de l'imprimerie, et ne pas faire façe à des coûts prohibitifs ?
Je compte bien rester sur Nantes, donc, il ne semble pas impossible de nous re-croiser dans un futur plus ou moins proche. Et pour les mises à jours, j'essaie :-) Je viens de faire quelques nouvelles modifications à mon interface de gestion, dans l'espoir que plus je la trouverais attractive, plus mon envie de poster sera grande, je ne sais pas encore si ce sera une technique payante mais ca ne coûte pas grand chose de tester :-)
Commentaire de Morgan sur le post Diplômé
Mon Dieu, j'ai failli prendre une crise cardiaque en voyant ce flux mis à jour dans mon agrégateur ! Diantre, le Dual Blog mis à jour !
Félicitations à toi, Franck, et bravo pour la mention ! Je comprends tout à fait ce que peut représenter le fait d'être arrivé au bout d'un chemin académique, après pas mal d'efforts (pour te rassurer sur le délai d'obtention du diplôme définitif : les diplômes de doctorat mettent entre 18 et 24 mois à être édités ! C'est fou, quand on y pense).
Bon, maintenant, j'espère que tu mettras à jour plus souvent ton blog et/ou que nous aurons l'occasion de nous recroiser prochainement pour papoter sur tes projets, tout ça. Bon courage pour la suite !
Commentaire de Kévin sur le post Diplômé
Félicitations mon Ami :) !
Commentaire de coco888 sur le post Je suis toujours là
work, Nice Excellent Design
Commentaire de lalie sur le post Les flux de syndication sur ce blog
Hum je pensais que t'avais réparé pour te motiver à poster ... Ta motivation elle est passée où encore??? Allez allez t'a pleins de choses intéressantes en plus à nous expliquer au boulot :D
Commentaire de Batablealay sur le post 3617 My Life
Hire a mechanic to inspect the car.
Commentaire de jonn2 sur le post Je suis toujours là
Comment