un simple agrégateur, lecteur de flux rss pour tout suivre .... par: fonds d'écran - Kriss Feed, version : 7 -
  • Saturday 18 December 2021 - 13:21

    Voici une magnifique subtilité du CSS, mais parfaitement logique quand-même :

    Que se passe-t-il si on met !important dans une variable ?

    Voyons ça :

    div {
      --color: red !important;
      color: var(--color);
      color: yellow;
    }

    À votre avis ça donne quoi ça en CSS ? Le point litigieux, c’est bien-sûr la présence du !important
    Sauf qu’il est à savoir que le !important n’est pas sur une déclaration de propriété, mais sur une déclaration de variable CSS.

    Or, une variable ne peut contenir qu’une valeur. La valeur contenue dans --color est donc red. Il faut savoir que le !important ne fait pas partie de la valeur : il s’agit d’un élément de langage qui permet de jouer sur la spécificité, comme un drapeau (un flag).

    Résultat : la couleur finale du texte sera décidée par le vainqueur des deux déclarations de color juste en dessous. Comme celle-ci ont la même spécificité, c’est la dernière qui gagne.

    Conclusion : le texte est en jaune.

    !important n’est pas sans effet !

    Maintenant, utiliser un !important dans les variables CSS n’est pas sans effet pour autant.
    Regardons :

    div {
      --color: red !important;
      --color: blue;
      color: var(--color);
    }

    Ici, aucune ambiguïté sur la déclaration de la couleur, puisqu’il n’y en a qu’une seule : color prendra la valeur contenue dans la variable --color. Oui mais laquelle ?

    Réponse : celle dont la déclaration a la spécificité la plus grande ! Autrement dit, la première.
    Conclusion : ça donnera du rouge.

    Il convient donc de distinguer deux cas de figure :

    div {
      --color: red !important;
      color: var(--color);
      color: blue;
    }
    div {
      --color: red;
      color: var(--color) !important;
      color: blue;
    }

    Dans le premier cas, les deux déclarations de couleur ont la même spécificité. C’est donc la dernière qui gagne : le texte sera bleu.
    Dans le second cas, c’est la première déclaration qui a la plus grande spécificité (à cause du !important).

    Peu importe qu’elle ait une variable ou non, c’est elle qui gagne : cela donnera du rouge.

    Le conflit ? Quel conflit ?

    Dans sa conclusion, l’article dit qu’il y a deux niveaux de « scope » (traduction ?) sur lesquelles sont appliqués le !important. Une sur les variables, et une sur les propriétés. Je ne suis pas d’accord avec ça : pour moi il n’y a en a qu’une seule. En revanche, il a deux déclarations différentes à considérer : une sur une variable, et une sur une propriété.
    Maintenant, dans les deux cas, on peut ajouter un !important si l’on veut. Et comme ce sont deux choses différentes, elles n’entreront pas en conflit.

    Appliquer deux !important à deux propriétés différentes n’est pas un problème :

    div {
      font-weight: bold !important;
      color: red !important;
    }

    Ces deux choses n’entrent pas en conflit.
    Par conséquent, les deux choses suivantes non plus :

    div {
      --color: bleu !important;
      color: red !important;
    }

    Notez que ci-dessus, la variable --color est déclarée, mais jamais utilisée, donc aucun conflit à l’horizon.

    Dans ce qui suit, toujours aucun conflit :

    div {
      --color: bleu !important;
      color: var(--color) !important;
    }

    Tout est clair : la variable reçoit du bleu. La couleur reçoit la variable. Donc la couleur finale est bleue.

    Et même s’il y avait plusieurs déclarations de la variable, celle qui gagne est celle de la plus grande spécificité. Ensuite, c’est la déclaration de la couleur avec la plus grande spécificité qui gagne. Ainsi l’exemple suivant donnera du rouge :

    div {
      --color: red !important;
      --color: blue;
      color: var(--color) !important;
      color: green;
    }

    Parmi les variables, c’est le rouge qui gagne sur le bleu.
    Parmi les propriétés, c’est celui avec le var() qui gagne sur celui avec le vert. Or la variable contient du rouge. Donc le texte sera rouge.

    Applications à un contexte plus large

    Tout ceci est évidemment à mettre dans un contexte plus global avec des déclarations sur des sélecteurs de spécificité différente.

    div {
      --color: blue !important;
      color: var(--color);
    }
    
    div#foo {
      --color: orange;
      color: var(--color);
    }

    Ici ça sera… Bleu !

    Regardons la couleur pour commencer. La couleur reçoit ce que contient la variable. Aucune ambiguïté. Et la règle qui s’applique est celle dans le second bloc. Pourquoi ? Parce que le sélecteur y est plus spécifique.

    Maintenant que contient cette variable ? Cette variable est celle qui est la plus spécifique. Donc celle avec le !important. Donc le bleu.

    En effet, même s’il y a un #id sur le sélecteur du second bloc, la variable --color ne contient pas de l’orange, mais du rouge : le !important sur une propriété est plus spécifique que la même propriété placée sur un ID (Spécificité de 1-0-0-0-1 au lieu de 0-1-0-0-1).

    Par contre, il en est différent si le !important sous le deuxième bloc avait été sur la variable au lieu de la propriété :

    div {
      --color: blue;
      color: var(--color)!important;
    }
    
    div#foo {
      --color: orange;
      color: var(--color);
    }

    Dans ce cas, la variable qui s’applique est l’orange dans le second bloc (car cette variable est plus spécifique à cause de l’ID dans le sélecteur). Le texte est donc orange.

    Notons de façon anecdotique que la propriété qui s’applique est bien celle du premier bloc (car cette propriété a un !important).

    Le vocabulaire est important : la propriété et la variable sont deux déclarations différentes. Elles ont chacune leur spécificité (au sens de « priorité CSS »).

    Si je ne conserve que les éléments qui s’appliquent réellement, ça donne ceci :

    div {
    
      color: var(--color) !important;
    }
    
    div#foo {
      --color: orange !important;
    
    }

    La couleur reçoit une variable, comme indiqué dans le premier bloc. Mais cette variable a une valeur assignée dans le second bloc seulement.

    Ça vous semble casse gueule ? Attendez la suite.

    Cas des sélecteurs enfants

    Jusqu’à maintenant, même si on utilise deux sélecteurs différents, ils ciblent le même élément HTML.
    Poursuivons les complications par quelques exemples pour montrer ce qui se passe avec avec des sélecteurs enfants.

    Voyons :

    div {
      --color: red !important;
      color: var(--color) !important;
    }
    
    div a {
      --color: orange;
      color: black;
    }

    La question : quelle est la couleur du lien ?
    Réponse : noire.

    Noire ? Oui, noire. La déclaration tout à la fin.

    En effet, le premier bloc a beau avoir des !important sur toutes les propriétés, ils s’appliquent au div, tout comme leur spécificité.
    Or, la spécificité n’est héritée que si la valeur sur laquelle elle s’applique est également héritée. En réalité, seule la propriété la plus spécifique est alors héritée (et la spécificité devient inutile).

    Ainsi, pour savoir ce qui s’applique à notre a, on regarde le code destiné au a. C’est alors lui qui s’appliquera, s’il y en a. Et le a possède une déclaration de couleur : color: black;.
    L’hérédité ne s’applique donc plus : on applique le color: black;, point barre.

    L’hérédité ne s’applique qu’en l’absence de déclaration.

    Ainsi, si on avait mis :

    div {
      --color: red !important;
      color: var(--color) !important;
    }
    div a {
      --color: orange;
    }

    Alors, le texte serait rouge. La couleur du a serait héritée du div, et contiendra var(--color), qui, dans le contexte du div (le contexte hérité, donc), est rouge.

    Pas orange ?

    Non : l’orange est du contexte de a. Or la propriété de couleur est héritée du contexte de div, et là, dans son contexte, c’est bien du rouge que contient la variable. Ce qui est héritée, c’est la propriété et sa valeur.

    On aurait même pu mettre un !important dans le second bloc, cela ne changera rien :

    div {
      --color: red !important;
      color: var(--color) !important;
    }
    div a {
      --color: orange!important;
    }

    Cela rester rouge, pour la même raison : la couleur est héritée, même si elle provient d’une variable.

    Si l’on voulait du orange, on doit ajouter un color: var(--color) dans le second bloc. Comme ça, la couleur du a est déclarée et non-héritée. Mais il faut bien conserver la déclaration de la variable dans le a, sinon la variable n’est plus déclarée et elle hérite.

    Il faut retenir que la variable s’applique sur les propriétés du même contexte. Le parent transmet une propriété ? D’accord, mais sa valeur est également transmise, même si c’est une variable.

    Par contre, dans le code suivant, la variable est bien héritée :

    div {
      --color: red !important;
    }
    div a {
      color: var(--color);
    }

    Le a sera rouge. Ici, l’on ne déclare pas la variable --color dans le a. Elle est donc héritée. Or son parent lui dit que la variable contient du rouge. Donc le texte est en rouge.

    Et avec des variables partagées sur plusieurs propriétés ?

    La blague n’est pas terminée !
    On arrive ici à quelque chose de très drôle : quid des variables appliquées à plusieurs propriétés, l’une déclarée et l’autre héritée ?

    div {
      --color: white;
      color: var(--color);
    }
    div a {
      --color: black;
      background-color: var(--color);
    }

    Ça va donner quoi ?
    Ici le texte dans le a sera bien en blanc sur fond noir !

    Décomposons :

    • La couleur du texte : la couleur n’est pas déclarée sur le a. Elle est donc héritée. Et l’héritage contient du blanc : c’est donc du blanc.
    • Le couleur du fond : le fond est déclaré sur le a. Le fond contient var(--color). Et --color, dans ce contexte, contient du noir. Le fond est donc noir.

    Si l’on n’avait pas déclaré le --color: black;, alors la variable aurait été héritée, et on aurait eu du blanc sur fond blanc. Mais comme on l’a redéfini dans le contexte du a, elle prend une nouvelle valeur… dans son contexte seulement.

    Notez que dans ce dernier exemple on n’a mis aucun !important : normal, car la spécificité n’est pas héritée si la propriété sur laquelle elle est appliquée n’est pas elle-même héritée.

    On aurait pu en mettre partout dans le premier bloc, on aurait tout de même eu du blanc sur du noir.

    Conclusion

    Pour moi tout est logique, même si c’est parfois compliqué.
    Il faut retenir :

    • !important s’applique à la déclaration de la variable. Mais elle n’est pas dans la valeur assignée à la variable.
    • une variable CSS peut être déclarée plusieurs fois. Tout comme on peut déclarer plusieurs fois une couleur. Dans ces conditions, c’est la déclaration la plus spécifique qui est retenue. Si toutes ont la même spécificité, la dernière est retenue. C’est du CSS de base.
    • concernant l’hérédité, rien n’est nouveau là non plus : les valeurs, même avec un !important ne sont transmis aux éléments enfants que si ces derniers ne les redéclarent pas. Ça vaut pour les variables comme pour les propriétés CSS.

    Bref, c’est compliqué, un peu curieux, parfois casse-gueule, mais rien de nouveau.

    Et rien de différent d’autre langages de prog non plus : les variables ont leur contexte et peuvent être redéfinies dans des boucles imbriquées d’où elles ne sortent pas (pensez au let en JS par exemple : deux variables redéclarées avec le même nom auront leur propre contexte :

    let a = "bar";
    
    function newScope() {
        let a = "foo";
        console.log(a); // "foo"
    }
    
    console.log(a); // "bar"

    Ah et : ici on ne parle que de la propriété color. Je vous laisse imaginer ce que ça donne si l’on utilise des variables dans display, flex ou position, le tout assaisonnée de sélecteurs comme a ~ a et de pseudo-classes :not() ou :placeholder-shown. Ça promet, non ?

  • Thursday 16 December 2021 - 18:15
    from Fubiz™

    Serge Najjar est né à Beyrouth et y exerce la profession d’avocat. Pendant son temps libre, il aime photographier sa ville natale, en se concentrant sur « ce qui a apporté de l’ordre à la Beyrouth chaotique et ce qui rapproche l’ordinaire de l’art ». Jouant avec l’ombre et la lumière – souvent avec une personne seule se déplaçant dans chaque cadre – ses incroyables images géométriques et minimalistes sont ensuite partagées sur Instagram où il compte plus de 100k followers.

    Son travail examine l’interrelation entre la peinture et la photographie modernes et contemporaines. Serge Najjar avance tel un orfèvre des villes en montrant leur charme géométrique. Il pose son regard de photographe sur les matériaux et leur corrélation avec l’histoire de l’art moderne. Son approche est peut-être instinctive, mais ses vues nous permettent de reconsidérer notre environnement contemporain à l’échelle humaine. Cette présence discrète rend les structures presque utopiques, parfois irréelles, métaphysiques. En 2021, il a publié son premier livre, « BEIRUT », aux éditions KAHL.

  • Wednesday 15 December 2021 - 14:56
    from Fubiz™

    Depuis les années 1950, lorsqu’un designer à l’esprit vif a retiré les pieds d’une table LOVET pour la faire entrer dans sa voiture, IKEA est devenu l’une des marques les plus populaires au monde. En se faisant l’un des champions du design moderne et de la fonctionnalité innovante, le tout à un prix abordable, IKEA a été couronné « plus grand détaillant de meubles au monde », avec des centaines de magasins aux quatre coins du globe.

    Pour mettre en lumière leur catalogue iconique, HouseholdQuotes a retracé l’évolution de l’aménagement du salon à travers le prisme de la marque, en tirant parti de leur musée de catalogues vintage. En remontant jusqu’aux années 1950, l’équipe de HouseholdQuotes a produit des rendus réalistes pour chaque époque, mettant en valeur les meubles les plus emblématiques de chaque décennie.

    Pour en savoir plus, rendez-vous sur le site internet de Householdquotes.

     

  • Sunday 12 December 2021 - 15:01

    i
    Log4Shell est une nouvelle de ces failles informatique qui touchent des milliards d’appareils, et qui permettent potentiellement à n’importe qui d’en prendre le contrôle. Elle est décrite comme « la plus grosse et la plus critique des failles unique de la décennie » (« the single biggest, most critical vulnerability of the last decade »). La CISA et la BSI (respectivement les ANSSI américaines et allemandes) l’ont qualifié de « extrêmement critique ». Le gouvernement Canadien a lui décidé de fermer tous ses sites du service publics en attendant que ça soit corrigé.

    Cette faille peut affecter non seulement un ordinateur ou un SI d’entreprise, mais aussi votre téléphone, imprimante connectée, ou de plus en plus votre frigo, télé, voiture, porte de garage ou four à micro-ondes connecté.

    Pour comprendre la faille, je vous renvoie à ce thread sur Twitter.

    Si je devais résumer : cela concerne un module utilisé par les outils de gestion des journaux système d’une installation informatique (les « logs »).
    Beaucoup de programmes utilisent les logs (tous en fait, plus ou moins). Certains peuvent alors y mettre des variables, comme ${date}, qui seront alors remplacés par l’outil qui gère le journal (en l’occurrence, ${date} sera remplacé par la date courante au moment de l’accès au journal).

    Or il se trouve que certaines variables sont renvoyées en cascade vers d’autres modules qui peuvent y placer d’autres informations. En particulier, ici un module (JNDI) qui vient remplacer une des variables par des données arbitraires… Par exemple une URL au bout de laquelle n’importe qui peut placer du code malicieux.

    Ce problème est signalé depuis 2016.

    Le module, utilisé par toutes les big-tech (Microsoft, Apple, Google, Tesla…) est maintenu par… Trois gus qui font ça sur leur temps libre :

    Les dépendances en informatique.
    Le XKCD qui va bien (source) : « toute l’infrastructure informatique moderne » soutenue par « le petit projet maintenu gracieusement depuis 2003 par un inconnu au fin fond de nulle part ».

    Ces trois personnes n’y sont pour rien : les erreurs arrivent et ils vont sûrement corriger ça très vite. Le problème que je vois surtout, c’est que des sociétés dont la valorisation cumulée doit bien dépasser 5 trillions de dollars, n’ont pas gratifié ces dév ne serait-ce que de 1 000 $ durant du tout ce temps.

    Si votre architecture fonctionne comme ça : soutenez ceux qui vous permettent de bosser ! C’est la moindre des choses, en fait.

    Il ne fait pas beaucoup de doutes que quelqu’un qu’on paye pour s’occuper de quelque chose à temps plein sera plus efficace pour corriger les bugs que quelqu’un qu’on laisse bosser sur son seul temps libre de temps en temps.

    Je vois deux choses à retenir ici :

    • en profitant du boulot des autres, on hérite aussi de leurs erreurs. Ce n’est pas grave, mais faut en être conscient : on est dépendant d’eux ;
    • en abusant des lib et outils sans prodiguer ne serait-ce qu’un simplement soutien ponctuel, faut pas s’étonner que le module reste du boulot fait irrégulièrement et sur du temps libre.

    Qu’on soit clair : le boulot d’un amateur sur son temps libre peut être très bon. Ce que je veux dire en vrai, c’est que si l’on construit son empire sur ce boulot, il faut peut-être s’assurer que ce code « amateur » soit solide. Et en l’occurrence, ça passe par un soutien suffisant à celui qui s’occupe de ce code ou de son audit.

    Les dév mangent aussi (je vous jure !), et le temps qu’ils passent à bosser ailleurs pour pouvoir manger, ils ne le passeront pas à corriger l’outil qui maintient votre empire en place. Tout simplement parce que votre empire, il s’en fout autant que vous vous foutez de lui en ne donnant pas ne serait-ce qu’un micro-pourcent de ce que vous distribuez aux actionnaires chaque année. Et c’est bien normal.

    Or, n’importe quel appareil numérique aujourd’hui fonctionne grâce à des dizaines, des centaines de ces modules développées par des passionnés et des bénévoles. Ouvrez n’importe programme ou n’importe quelle application et allez dans les « crédits » ou les « à propos ». Vous y verrez le nom des personnes qui vous rendent la vie plus simple, chaque jour, y compris, si c’est fait correctement, les outils qui permettent à ces applications de fonctionner, et leurs auteurs.

    Et les exemples où l’industrie se fiche de remercier ces gens et s’en retrouve à genoux également : on se souviendra de Heartbleed, la faille de 2014 qui avait fait un grand bruit parce qu’il touchait tous les sites sécurisés (SSL) et tous les outils, y compris ceux des Gafam, et avait mis en lumière le manque de moyens de la fondation OpenSSL qui s’occupe de ça. Quelques années après, OpenSSL ne tourne toujours qu’avec environ 50 000 $ par an…

    ÉDIT : ah oui… Ceci est aussi à mettre en perspective avec cet article de ce journaleux qui demande aux dév d’arrêter de vouloir être payés un salaire à la hauteur de leur compétences.

  • Sunday 12 December 2021 - 02:22
    Je suis un grand fan des jeux d'aventure et dès que je trouve un jeu, j'essaie de le télécharger sur mon portable et d'y jouer dès que j'en ai l'occasion. Le problème, c'est que parfois, j'ai besoin de certains objets pour avancer dans le jeu et je n'y ai pas accès parce que je ne peux pas les acheter. Mais c'est fini, parce que j'ai un site Web appelé universetricks où je peux obtenir des cartes-cadeaux gratuites pour avoir les articles de mes jeux préférés ; la meilleure chose est qu'ils ont beaucoup d'options, donc maintenant chaque fois que j'ai besoin de quelque chose et que je ne peux pas l'obtenir, j'entre sur le site et je cherche la carte-cadeau dont j'ai besoin et ainsi je peux continuer à jouer pendant des heures et des heures.
  • Friday 10 December 2021 - 23:43

    Dans le cadre de la médecine chinoise traditionnelle vient d’ouvrir une école de massage tuina a Lausanne en suisse, sur les rives du lac Léman.

    Une école de massage Tuina au service de l’humanité.

    pourquoi une ecole de massage tuina à Lausanne, si ce n’est pour compléter toute une gamme de soins issus de la médecine douce et de la médecine occidentale.

    Face à la recrudescence des maladies et des problèmes engendrés par les rythmes de la vie au quotidien, les hommes ont besoin d’un soin efficace pour combattre à tous les problèmes de santé comme la fatigue et la mauvaise circulation sanguine. Pour stimuler votre organisme et pour faire circuler normalement votre énergie, vous avez besoin de suivre une formation de massage de Tuina. Elle est efficace pour vous apporter le soulagement total à l’intérieur de votre corps et pour le bon fonctionnement du corps. Pour suivre cette formation, frappez à la bonne porte. Il s’agit de jingcheng.ch. Il est l’adresse en ligne dédiée pour vous fournir en un seul clic plusieurs formations en médecine chinoise notamment la formation en anatomie. Outre les enseignements de ce massage, vous pouvez profiter d’une formation en acupuncture à Lausanne prodiguée par le professeur Sebbagh a l’institut des deux sources.

    L’article Ecole de massage Tuina a Lausanne est apparu en premier sur mp3playerstore.

  • Thursday 09 December 2021 - 23:25

    Les Blogs d’actualité automobile récents meilleurs que les traditionnels? Les blogs autos accomplissent un come back en vigueur en ce prélude du 21 ieme siecle pour énormement de causes toutes plus argumentées qu’on l’imagine. Avantages de publier un article sur un blog automobile les avantages de soumettre sur un site automobile moderne? pour commencer, il […]

    L’article Les blog d’actualité automobiles: Utiles ? est apparu en premier sur harbisohbet.net.

  • Friday 03 December 2021 - 12:18
    Découvrez les meilleures utilisations de l'audit de sitemaps que les experts SEO incluent toujours en complément d'un audit de site pour trouver encore plus d'optimisations ou pour se simplifier la vie.
  • Friday 26 November 2021 - 03:31
    Depuis que les premiers jeux vidéo sont sortis, des millions de personnes ont été instantanément accrochées et en ont fait l'un de leurs passe-temps favoris, de nombreuses années ont passé et il existe aujourd'hui des jeux de toutes sortes selon les goûts des personnes qui les apprécient, qu'il s'agisse de jeux de cartes, de jeux de logique, de jeux de rôle ou de jeux de simulation, tous les jeux que vous souhaitez avoir sous la main peuvent être obtenus gratuitement sur le site Megalevels qui propose des cartes cadeaux et des comptes gratuits d'innombrables jeux, tous plus passionnants les uns que les autres. Vous pouvez choisir celui qui vous convient et vous amuser comme un fou, car le site couvre toutes les catégories de jeux pour répondre aux goûts de tous les amateurs de jeux vidéo.
  • Wednesday 24 November 2021 - 22:18

    (Ça rime :D)

    J'avais commencé de répondre jusqu'aux question bullshito-corporate qui ne veulent strictement rien dire, j’ai donc abandonné en cours de route.

    Je vais donc mettre ici ce que je considère comme un poste de développeur idéal. C'est ma vision des choses ; si y'en a qui sont pas d'accord c'est leur droit et pas vraiment mon problème.

    Je précise quand-même : je code aujourd'hui professionnellement comme personnellement, même si ce n'est pas mon activité principale.

    Bref, voici mes critères (en dehors de la paye).

    Pour commencer : un bureau FERMÉ.
    Coder quoi que ce soit, c'est une activité intellectuelle et j'ai besoin d'être concentré.
    Je peux rester assis à réfléchir 12 h de suite, ça me gêne pas. Par contre le moindre bruit, sonnerie de téléphone pour des broutilles, ou tocage à la porte peuvent faire perdre 5 h de réflexion, et à vous 5 h d'avancement sur la deadline. C'est vous qui voyez.

    Un bon bureau, chaise, écran.
    C'est notre matériel de travail, bon sang ! Pour la même raison qu'un mécano ne travaille pas avec des outils premier-prix de chez Lidl, si vous nous donnez une chaise en bois et une table bancale pour bosser sur un Médion de 2005 et son clavier en Qwertz, ça va pas le faire.
    Je veux utiliser mon ordi. Ou en tout cas mon clavier et ma souris. Ainsi que si possible mon environnement de développement.

    La plupart des développeurs font du dev également à titre perso et ont appris ça chez eux avec leur logiciels et ont leurs repères (raccourcis claviers, etc.). C'est comme ça qu'on est le plus efficace, et ces demandes ne sont pas pour vous faire chier, bien au contraire.

    Des spec précises
    Dîtes nous précisément ce que vous voulez qu'on code et pour quand et on le fait et vous aurez ce que vous voulez au moment fallu. Et passez le mot au client aussi.
    Si les spec ne sont pas précises, je considère que le choix non précisés sont laissés à notre discrétion. On dit pas à un architecte « je veux une maison », mais « je veux cette maison », accompagnée d'une liste complète de critères à respecter ab-so-lu-ment.

    Le dèv c'est pareil.

    Trucs non-importants
    Perso je me fiche et contre-fiche :

    • d'un babyfoot
    • de la salle de sport
    • des sorties ou soirées organisées par la boîte
    • d'un distributeur de bouffe ou de café
    • d'un psychologue ou d'un masseur au travail

    Certains aiment se sentir au jardin d’enfant pour bosser. Tant mieux pour eux, mais moi c'est pas mon cas. Je préfère l’ambiance « bibliothèque » en plein désert (et moins y a de monde, mieux j’y suis).

    Et je distingue l’entreprise du reste de ma vie et j'ai envie de garder ça comme ça. Les soirées entreprise, si c’est plus d’une fois dans l’année, ça devient lourd, et si c’est pour en profiter pour parler boulot, sans moi merci. Revenez aux bons horaires.

    D'ailleurs parlant de ça : les horaires et les congés flexibles c'est un gros point positif. Leur absence, un gros point négatif, sans être discriminant.

    En résumé
    Je suis dév : je travail en silence avec ma tête et mon ordi.
    Il est donc normal d’être bien mentalement (au calme loin du bruit) et avec un bon ordi / chaise / souris.

    Tout le reste, je m’en fiche : babyfoot & co, ce n’est pas un avantage pour moi (sauf s’il est loin loin loin au sous-sol).


    PS : non, je ne recherche pas de poste de dév en ce moment.
    J’ai juste tiqué sur un article d’un confrère blogueur.

  • Friday 19 November 2021 - 00:20
    Les fêtes de fin d'année approchent à grands pas et c'est à ce moment-là qu'il faut décider quoi offrir à chacune des personnes que l'on apprécie et en tenant compte du fait qu'offrir quelque chose qui plaît à un jeune est parfois compliqué, il vaut mieux chercher un cadeau dont on sait qu'il va plaire, surtout s'il est fan de jeux vidéo. Offrir une carte d'un jeu que nous savons qu'il aime et recevoir également ses codes fera de nous son favori. Sur le site web de superjouer, nous avons la possibilité d'obtenir un grand nombre des jeux vidéo les plus actuels et les plus passionnants, depuis les jeux spéciaux pour les enfants qui commencent à s'intéresser aux aventures virtuelles, jusqu'aux jeux pour les enfants plus âgés qui sont plongés dans une bataille virtuelle et qui cherchent toujours à gagner.
  • Thursday 18 November 2021 - 10:59
    Ne ratez pas le prochain webinar gratuit d'Olivier Duffez et Fabien Facériès destiné aux agences et freelances SEO, mardi 30 novembre 2021.
  • Monday 15 November 2021 - 17:27

    Homme criant à un téléphone fixe.
    Ce week-end j’ai fait une connerie.

    J’ai voulu faire une simulation d’un crédit, en ligne.

    Mon but n’est pas de faire le crédit, mais de voir si cette méthode de financement peut figurer dans mon éventail d’options pour un éventuel projet.

    En gros : je souhaitais juste savoir si les banques accepteraient un dossier comme le mien, sachant que je n’ai jamais contracté de crédit de ma vie et que je ne sais donc pas trop sur quoi elles se basent pour dire oui ou pour dire non…
    Ces simulateurs permettent d’avoir une première indication : si c’est « clairement non sale pauvre ! », je pense que je peux oublier. Si c’est « Oui, probablement (sale un peu moins pauvre) ! », j’investiguerais davantage, en allant voir directement une banque.

    À ce stade de ma réflexion, je n’ai pas besoin de devis précis.

    Bref, après avoir renseigné ma situation personnelle, mes revenus, etc. vient le moment de donner le numéro de téléphone et e-mail. Autant pour l’e-mail, je donne une adresse e-mail dédiée à ce genre de sites, autant pour le téléphone, j’ai pas trop le choix que de donner mon unique et seule ligne portable. J’aurais pu leur donner ma ligne fixe (ma ligne ADSL en fait) : elle n’est reliée à rien et je ne l’ai jamais utilisé de ma vie (bienvenue au XXIᵉ siècle), mais elle ne me sert tellement pas que je j’y ait pas pensé (et je n’y ais jamais pensé du tout, en fait).

    Résultat :

    i

    5 fois.

    Ils ont essayé de m’appeler 5 fois dans la journée (en plus de m’avoir déjà appelé ce week-end déjà, juste après la simulation).

    Et ça c’est sans parler des SMS que j’ai reçus ainsi que des e-mails, disant qu’ils ont essayé de me joindre par téléphone (sans déconner ?).

    Foutez-moi la paix !
    Je viendrai vers vous quand ça sera le moment.
    J’irais directement sur votre site, et je pourrais m’engager gratuitement en un seul clic et sur le champ, ou bien me rétracter après 3 lettres recommandés, 40 € de frais de dossier et 15 jours d’attente (c’est pas comme ça que ça se passe ?).

    Généralement, les banques et les assurances sont injoignables : on tombe toujours sur des robots à la cons ou des types à l’autre bout du monde qu’on ne comprend pas. Par contre pour souscrire là c’est Paris qui appelle avec les petites fleurs, le champagne, les banderoles, prostituées et tout le tralala (oui c’est du Pérusse, merci François). Bah.

    J’aurais au moins appris un truc : la prochaine fois que je souhaite les joindre pour déclarer un sinistre à l’assurance ou demander une information relative à un prélèvement sur mon compte en banque, je passerais par un simulateur en ligne. Au moins j’aurais une vraie personne au bout de la ligne en moins de temps qu’il n’en faut pour le dire.

    ÉDIT : 6 fois ;-;

    Image d’en-tête

  • Monday 15 November 2021 - 11:18
    Ce n’est un secret pour personne, le numérique, le digital, est un formidable outil pour améliorer la performance industrielle. Les investissements dans les usines se traduisent par une productivité plus forte. Tous les chefs d’entreprises s’accordent à dire que la modernisation numérique est une excellente chose pour leurs sociétés. Productivité industrielle Les indicateurs de performance …
    Lire la suite…
  • Sunday 07 November 2021 - 16:35
    La fête d’Halloween est une fête créée pour supplanter la fête celte originelle de la Samain.
    Lire la suite…
  • Wednesday 03 November 2021 - 18:06

    Photo de la Lune.
    Ce soir, vers 18 heures environ, ça va être tout noir1.

    La raison à cela a été inventée2 par Kepler3 en 1609 et provient de la rotation de la Terre sur elle-même face au Soleil. Cette dernière n’éclairera alors plus du tout nos contrées et nous passeront dans l’obscurité.

    Vous avez bien lu : le Soleil ne sera plus visible ! Merde alors.

    Ce phénomène provoquera alors ce qu’on appelle dans le jargon scientifique « la nuit ». Par chance cependant, cette nuit devrait normalement se terminer approximativement à 07h24 UTC+1 (grosso-modo) demain matin et alors le Soleil pourra à nouveau éclairer le ciel et être visible si la météo le permet et que vous n’êtes pas aveugle.

    En attendant, profitez-en pour rentrer chez vous, vous mettre à l’abri et peut-être dormir (c’est-à-dire vous allonger et rester ainsi de façon inconsciente durant 7-8 heures dans un lit) pour vous reposer.

    Notes :

    • [1] Ta gueule4 ;
    • [2] Avant le génie de Kepler, la Terre était plate grâce à Jésus-Christ, et nous n’avions pas tous ces problèmes. Heureusement parce si la nuit devait se produire dans ces conditions, le jour ne pourrait pas se lever et le ciel nous tomberait sur la tête, par Toutatis ! ;
    • [3] Weil, 1571.
    • [4] Voir cette référence cinématographique.

    Pourquoi cet article stupide ?

    Parce que si RTL se permet de le faire, et en disant beaucoup de conneries aussi :

    Alors qu’on soit d’accord : je plussoie la vulgarisation scientifique. Mais là on parle de RTL, une station de radio/télé généraliste francophone, pas de Dora l’Exploratrice ou des leçons de Monsieur Patate !
    Les phases de la Lune c’est du niveau quoi… CP ? CE1 ? En tout cas pas exactement le genre de choses — à mon avis — que des adultes découvrent en écoutant la radio en allant au travail le matin. Ou alors le niveau en science en France est à un niveau particulièrement alarmant…

    De plus, et c’est peut-être le pire dans tout ça : l’article parle d’une « Lune Noire ». Or il n’y aura pas de Lune noire ce mois-ci.

    « Lune noire » n’est pas un terme scientifique, mais désigne bien quelque chose : c’est quand, au cours d’un même mois calendaire, on observe une deuxième nouvelle Lune. Le cycle lunaire dure 29,5 jours et il y a donc de la place d’en commencer un deuxième si le premier a début tout au début du mois. D’un point de vue astronomique, ceci n’a cependant aucune signification particulière. C’est juste un hasard du calendrier.

    Ceci est loin d’être systématique : la prochaine sera en avril 2022 seulement : il y aura une nouvelle lune le 1ᵉʳ avril et le 30 avril. Pour celle d’après, il faudra attendre décembre 2024 ! Ce 4 novembre-ci ne marquera, en aucun cas, un tel phénomène.

    Si un mois voit deux pleines Lunes, la seconde est appelée « Lune bleue ». Là également cela est un hasard du calendrier et le « bleu » ne réfère pas du tout à sa couleur. C’est plutôt une traduction d’une déformation de « Double Lune », qui aurait donné « Blue Moon » en anglais, puis « Lune bleue » en français.

    Lune bleue ou Lune noire… est-ce qu’on peut parler de phénomène rare ? Pas vraiment… Ils se produisent chacun environ tous les 3 ans, ce qui est moins rare que les jeux olympiques ou une coupe du monde de football… Or personne ne parle de « rares jeux olympiques »…

    Donc, @RTL : que vous fassiez de la vulgarisation sur des trivialités, ok, pourquoi pas. Quitte à remonter le niveau, autant commencer par le bas, et finalement c’est peut-être pas bête. Mais alors remontez-le effectivement et ne racontez pas n’importe quoi.
    Si vous racontez de la merde sur les phases de la Lune, arrêtez immédiatement car si vous allez parler de Kugelblitz ou du processus de Blandford–Znajek pour l’extraction de l’énergie d’un trou noir, ça risque de coincer un petit peu (mais vous pouvez toujours demander, si c’est votre projet…).

    image d’en-tête de Luke Stackpoole

  • Saturday 30 October 2021 - 19:27
    Si dans notre quotidien on peut féliciter les ingénieurs high-tech pour leur créativité et modernisme, on doit également le faire pour tout ce qui touche à l’industrie. Ce domaine a évidemment des besoins de process et machines très poussés et de plus en plus automatisé. C’est là sans doute que la différence est flagrante entre …
    Lire la suite…
  • Friday 29 October 2021 - 09:35
    A l'occasion d'Halloween, découvrez les pires horreurs du SEO, c'est-à-dire des exemples concrets où les stratégies de référencement sont très mauvaises. En voici une sélection en français...
  • Wednesday 27 October 2021 - 21:54
    J'ai depuis des années opté pour un mail de type hotmail ou gmail qui ont des filtres beaucoup plus efficaces , car alimenté par leur utilisateurs (il suffit de quelques jours , voir quelques heures , à blacklisté des mails d'arnaqueur ou de type hameçonnage ). Et pour les mails et N] de tel à données aux boutiques en lignes, c'est un autre, un mail uniquement utilisé pour ce type d’échange, et l'on sait vite que dans les semaines qui suive il va y avoir avalanche de pourriel, idem pour le tel, un abonnement à 2 euros actif le temps de la livraison et on ferme. C'est dommage. Je ne clique jamais sur un lien de désabonnement, cela valide que votre mail est actif, je met direct en indésirable ou hameçonnage tout mail en provenance d'une source inconnue et non sollicité et surtout ceux qui veulent vous faire croire que le père Noël existe. Idem avec le téléphone, c'est devenu un véritable harcèlement, c'est tel que malgré le fait de savoir il y a toujours un moment ou un autre ou l'on va répondre parce qu’on n'est pas fait pour être associable, nous sommes une espéce grégaire, brillante et trés con . D'un coté des programmes qui récoltes et envoi par lot des mails ou N° de tel et de l'autre des outils pour les évincés ... un monde totalement abrutit en fait . Une époque formidable ! vraiment ?
  • Wednesday 27 October 2021 - 19:55

    Voir :

    « Est-ce que garder une vieille voiture est mieux pour l’environnement ? » sous entendant : « que changer pour une voiture plus récente (moins polluante) ou une voiture électrique ? ».

    TL;DR : oui, sauf si vous roulez vraiment très peu.

    Un EV émet-il plus de CO2 ?

    J’en ai déjà parlé, mais ils font le descriptif détaillé dans la vidéo.

    Il faut comprendre qu’une voiture qui existe déjà coûte zéro CO2 en fabrication (elle est déjà fabriquée !), elle coûte seulement du CO2 à l’usage.

    Une voiture neuve qui n’existe pas, il faut la produire et ça va émettre du CO2 en plus par rapport à tout le CO2 déjà émis.

    Sauf que les voitures plus récentes sont plus optimisées et à l’usage elles émettent moins de CO2 que les anciennes (normalement, et selon les gabarits des voitures).

    Il faut donc se demander si le gain sur le long terme compense le « coût » de fabrication de la voiture neuve. C’est le but du calcul, et seulement en termes de CO2.

    Le résultat :

    • après 4 ans d’utilisation, l’EV devient plus avantageux (sur la base de la Tesla Model 3) par rapport à une voiture ancienne qui fait du 9 L/100 km (ou 25 mpg, moyenne US).
    • après 7 ans, une voiture récente (6 L/100 km – 35 mpg) devient elle aussi avantageuse par rapport à une voiture ancienne.

    Ce que cela veut dire…
    Si vous avez une vieille voiture et que vous êtes dans la moyenne (en km par an), alors une voiture électrique neuve deviendra plus écologique après seulement 4 ans d’utilisation que rouler avec l’ancienne sur la même période.
    De même si vous roulez encore 7 ans avec cette vieille voiture, vous finiriez par être plus polluant que si vous aviez changé de voiture pour une thermique récente.

    Dit autrement : après 4 ans d’utilisation d’une EV, on a rentabilisé le « capital CO2 » et on devient moins polluant que si on avait continué à rouler avec la vieille voiture.

    Ces chiffres sont donnés pour les USA avec la moyenne de distance parcourue par an (35 000 km/an) et la qualité de l’électricité américaine (60 % fossile).

    On remarque une chose intéressante : aujourd’hui, la production d’une EV n’émet que relativement peu de CO2 en plus par rapport à une voiture thermique : 11 tonnes au lieu de 9 tonnes.
    On parle de 20 % de plus : c’est donc loin des phrases types du détracteur : « mais la production est beaucoup plus polluante ! ».

    En France, les chiffres ne sont pas les mêmes. Déjà, on roule en moyenne 12 000-15 000 km/an et les voitures sont un peu moins gourmandes. De plus, en France toujours, 90 % de l’électricité est décarbonée (seulement 10 % de fossile).

    Dans ces conditions, si je fais le calcul (ce n’est pas dans la vidéo) :

    • une thermique récente (qui fait du 6 L/100 km au lieu de 9 L/100 km) se rentabilise en 8-9 ans ;
    • une EV, elle se rentabilise en 1 an (les deux tonnes de CO2 supplémentaires pour produire l’EV sont émises par la thermique en un an, sur 12 000 km).

    Et si je dois changer la batterie ? Ça pollue plus !

    Ça n’arrivera pas, en tout cas à la très grande majorité des gens.

    Les Tesla 3 (référence de la vidéo, et EV la plus vendue au monde) ont encore une capacité de batterie de 90 % après 320 000 km (chiffres Tesla d’après leurs données de télémétrie pour les voitures qui ont dépassé cette distance).

    Déjà on peut donc dire qu’il n’y a aucun risque d’avoir à changer de batterie pour cause d’usure naturelle, même après 700 000 km (certains EV les ont atteintes).

    Ajoutons à ça que les voitures thermiques qui atteignent ce kilométrage tombent généralement en lambeau et beaucoup de pièces sont à changer (du moteur à l’échappement, en passant par la boîte de vitesse, l’embrayage ou le système de refroidissement… autant d’éléments qu’une EV n’a pas… et qui contiennent elles aussi des matériaux rares et toxiques comme le palladium ou le platine).

    Même si cela devait être le cas, ça sera toujours moins polluant : l’usage de la Tesla Model 3 émet tellement moins qu’on peut en produire une seconde au bout de 7 ans d’usage et toujours moins avoir émis de CO2 qu’utiliser une voiture thermique… pour les USA (donc c’est encore plus valable en France)

    Autrement dit — et pour ce qui est des gaz à effet de serre, j’insiste — pour un usager moyen, il n’y a aucun scénario où l’usage d’une EV émet plus de CO2 qu’une voiture thermique.
    Le seul cas, mais ça n’est pas « l’usager moyen », c’est si vous roulez très peu.

    Et le lithium ! Et le cobalt !

    Le lithium se mine comme du sel de table : avec de l’eau qu’on envoie dans la mine, qui dissout le sel de lithium, et on récupère l’eau que l’on laisse s’évaporer pour récolter le sel de lithium. Ce n’est pas plus polluant que miner du sel de table.
    Or, pour le sel de table, personne, jamais, nulle part, n’est parti en « croisade verte » parce ça polluerait. Et comme le Lithium n’est pas rare, ni lourd (il flotte sur l’eau), son transport n’est pas aussi polluant que l’acier ou (au hasard) le pétrole par exemple (dont l’acheminement jusqu’à la station essence est lui aussi émetteur de CO2).

    Aussi, il faut dire qu’une EV comme la Model 3 n’en contient que… 8 kilos ! Ce n’est pas rien et il les faut pour faire avancer la voiture, mais ce n’est pas le gros du poids de la voiture comme on voudrait le penser.

    Pour ce qui est du Cobalt : il est rare et à ce jour son extraction se fait de manière peu éthique, c’est vrai. Mais c’est un problème en passe d’être corrigé.

    Tesla (principal constructeur d’EV) compte s’en passer complètement et les autres constructeurs en réduisent drastiquement la quantité nécessaire en améliorant sans-cesse les technologies de leur batterie. Un EV grande autonomie (400+ km) c’est 14 kilos de cobalt aujourd’hui. Et c’est en baisse. Là aussi, le cobalt est (pour l’instant) essentiel pour une EV, mais ce n’est pas non plus ce qui fait le gros de son poids.

    Aussi faut-il ajouter que cette masse reste dans la voiture et ne se retrouve pas dans la nature : il est donc facilement collectable en fin de vie (ce qui, je rappelle, intervient après plusieurs centaines de milliers de kilomètres). Pour info : le taux de recyclabilité atteint (selon les sources) 90 %. Et le taux de recyclage actuel en est à 5-10 % (chiffres Toyota).

    C’est pas comme les ~30 tonnes d’essence, et les huiles, liquides diverses qui partent en fumée au cours de la vie d’une voiture thermique ou finissent lentement sur la route.
    Ou encore les plaquettes de freinage qui ne s’usent que très peu sur une voiture électrique (et électrifiée) grâce au freinage régénératif.

    Et du coup ?

    En somme, la pollution soi-disant supérieure des EV par rapport à une voiture thermique, c’est un argument qui ne tient plus. C’est devenu tout simplement faux.

    Des progrès ont été faits, et on s’approche très franchement de la pollution générée par une voiture thermique. Garder une vieille voiture est très rapidement beaucoup plus polluante que passer sur une voiture électrique.

    Un jour viendra où produire une EV sera moins polluante, et ça risque à mon avis d’arriver d’ici 5 ans au plus.

    L’argument du lithium ne tient pas, et celui du cobalt est également en train d’être résolu, et a déjà largement été amélioré.

    Concernant les terres rares (néodyme & co), l’enjeu est géopolitique. Ces éléments ne sont pas rares, contrairement à ce qu’indique leur nom, mais ils sont tous en Chine.
    Néanmoins, des technologies un poil moins efficientes existent si le besoin devait se faire sentir de s’en passer (les moteur à induction asynchrone sont sans aimants permanents et donc sans ces terres rares ; ces moteurs équipaient les premières Tesla et certaines (toutes ?) les Zoé, notamment).

    Les limites actuelles

    À ce jour, je ne vois plus qu’un seul argument qui pourrait tenir ; ainsi qu’un potentiel problème logistique à résoudre.

    L’argument : le prix. Les EV aujourd’hui sont plus chers, c’est vrai. La batterie y est pour une très grande partie, mais leur coût diminue à mesure que la production monte en échelle. On peut voir tout ça changer dans les années à venir.

    Pour l’instant, passer par une hybride ou une hybride rechargeable peut être financièrement intéressant, tout en étant moins polluant (20-30 % moins de CO2 pour une hybride ; 70-80 % en moins pour une rechargeable, moyenné au cours d’une année). Note : moins de CO2, c’est moins d’essence consommée et donc des économies là-aussi.
    Ces voitures sont également les plus efficaces pour les petits trajets (les plus nombreux, et ceux où les voitures thermiques sont les moins efficientes). Ces voitures sont moins chères que les voitures électriques (mais plus que les pures thermiques).

    Il convient aussi de surveiller le marché de l’occasion : les EV conservent leur capacité beaucoup plus longtemps que les thermiques, et on gagne sur le long terme en coût de l’énergie mais aussi énormément en entretien (aucun fluide à changer, aucune pièce d’usure sinon les pneus et les essuie-glaces).

    Si l’on est réticent à acheter du neuf parce que ça implique de produire du neuf, cherchez du côté de l’occasion !
    La voiture existe déjà, donc l’acquérir ne montera pas le bilan carbone.

    Je ne cherche absolument pas à inciter qui que ce soit : je dis juste ce qui est, et quels arguments ne tiennent tout simplement pas (ou plus), mais que je continue d’entendre.

    Enfin, concernant les bornes de recharge : une EV n’est réellement possible qu’à condition d’avoir la possibilité de la recharger chez soi (où 95 % des recharges sont effectuées). Pas tout le monde peut se le permettre.

    Quant au problème que je vois : il faudra produire plus d’électricité à un moment. Le réseau sera aussi à adapter.
    Mais avec les résidences et les appareils électriques qui s’améliorent eux aussi, le problème est moins important qu’il pourrait sembler (faudrait qu’EDF communique sur ça).

    Enfin, en positionnant les stations de recharge aux bons endroits, on pourra limiter les lignes de transport de l’énergie et réduire les pertes (30 % de l’électricité mondiale produite est perdue dans les lignes), voire produire sur place certains jours.


    Enfin, bien sûr, question CO2, un vélo sera toujours meilleur.
    Ce moyen devrait être utilisé pour tous les trajets en ville, selon moi.

    Mais le débat ici n’est pas là : la voiture reste un moyen utile dans certains cas et il s’agit donc aussi d’améliorer ces cas-là.

  • Wednesday 27 October 2021 - 12:02
    C’est un sujet qui fait débat aujourd’hui, la vidéosurveillance est autant appréciée que décriée. Nous allons voir dans cet article quelques avis entendus ici et là et nous essaierons de comprendre chacun de leurs arguments. D’accord pour la vidéosurveillance Les personnes qui approuvent ce dispositif indiquent généralement que le fait
    Lire la suite…
  • Sunday 24 October 2021 - 21:14

    Nouvel ordinateur et partage de fichiers en ligne au programme ces jours-ci !

    Le « nouvel » ordinateur, c’est un HP EliteBook 2560p de 2011, ce qui me fait passer d’un processeur double cœur Core2Duo à un processeur Core i5 (c’est toujours du double cœur mais plus rapide, genre beaucoup plus rapide).

    Oui, c’est du recyclage complet, c’était la poubelle pour un ordinateur qui marche encore bien.
    Être ça ou faire pipi sous la douche, l’écologie et moi y gagnerons au change…
    Un peu de RAM (passage à 8 Go), un disque SSD, un emplacement secondaire pour disque dur (à la place du lecteur DVD), bref un investissement relativement faible que je dois au maître du rap mathématique AKA Cyrille Borne.

    Sur cette machine, j’ai installé pour voir le nouveau Windows 11, compatible uniquement avec les ordinateurs très récents (ne rigolez pas, l’écologie va encore pleurer) et la dernière version d’Ubuntu.
    Rien à dire, si ce n’est que Microsoft a amélioré l’interface, ce n’était pas difficile, alors que la passage à Wayland chez Canonical me laisse avec quelques bugs (si tu ne comprends pas cette phrase, c’est normal)…

    Ça, c’était pour l’accélération.

    Pour la simplification, toujours grâce à Cyrille, j’ai remplacé mon instance Nextloud par une installation de FileRun.
    Nextcloud permet d’avoir un équivalent personnel de Google Drive, mais aussi faire le café, sortir le chien, etc.
    Comprendre que c’est un peu lourd (660 Mo l’installation de base chez moi), alors que FileRun fait 42 Mo et ne gère que les fichiers, et très bien.
    Moins gratuit que Nextcloud (3 utilisateurs possibles seulement, en version non payante, avec un prix exorbitant pour plus mais qui a besoin de plus ?) mais tout aussi complet pour mes besoins.

    Finalement, le principe KISS me convient toujours.

  • Monday 18 October 2021 - 11:26
    Découvrez les méthodes pour savoir combien il y a d'URL à crawler sur un site, pour faire un audit et pour vérifier les pages que Google indexe.
  • Monday 11 October 2021 - 18:04
    Comprenez pourquoi le SEO de votre site est pénalisé par des problèmes de profondeur ou de maillage interne, obtenez des réponses concrètes en direct avec Olivier Duffez et Fabien Facériès.
  • Thursday 07 October 2021 - 22:44

    Programmation.
    Ceci est une implémentation de l’idée que j’avais postée ici et qui concernait une gestion de cache basée sur le .htaccess et les erreur 404.

    Le modèle habituel d’un cache statique PHP

    Habituellement, pour gérer les caches de fichiers statique, on envoie une requête sur un fichier PHP qui va s’occuper de récupérer une ressource statique et l’envoyer vers le navigateur :

    cache.php

    <?php
        readfile($fichier_statique);
    ?>

    Le $fichier_statique contient des données HTML déjà prêtes. Normalement, une fois que la page HTML est envoyée au visiteur, elle est oubliée de la mémoire de l’ordi. Si un autre visiteur fait la même requête, le serveur doit tout refaire.

    L’idée d’un cache est de stocker le code HTML que l’on a envoyé au visiteur. Comme ça, si un second visiteur fait la même requête, on lui envoie ce qui se trouve en cache, sans avoir à tout recalculer : c’est beaucoup plus rapide.

    Dans mon cas, je le fais avec des images d’avatar de chez Gravatar et avec des favicon que je met en face des sites dans mon lecteur RSS. Je ne fais pas une requête vers ces sites, mais vers mon lecteur RSS. C’est lui qui va faire une requête externe, sauver l’avatar ou la favicon localement, puis l’envoyer au client. La fois d’après, il envoie directement l’icône locale au client, sans faire de requête réseau. On gagne beaucoup en performances globales.

    Le problème que je vois ici, c’est que le fichier cache.php est appelé pour chaque requête sur un fichier. C’est plus rapide que recalculer une miniature, mais une instance PHP est tout de même créée, ne serait-ce que pour lancer le readfile(), et éventuellement après quelques calculs rapides pour déterminer quel fichier cache on envoie au navigateur.

    On peut s’affranchir de cette requête et de PHP.

    Utiiliser .htaccess

    On va prendre l’exemple du cache pour les images favicon et gravatar, car c’est ce que j’utilise et c’est ce pourquoi j’ai fait cette méthode.

    Avant je faisais une requête vers cache.php?w=favicon&site=example.com
    Et j’avais cette arborescence :

    cache.php
    var/
    | - - cache/
          | - - favicon/
                | - - icone1.png
                | - - icone2.png
                | - - ...
          | - - gravatar/
                | - - avatar1.png
                | - - avatar2.png
                | - - ...
          | - - .htaccess

    Quand je voulais une icône, je faisais un hit sur cache.php?get=icone1.png, et il m’envoyait l’icone1.png après l’avoir soit téléchargée, soit lue sur le disque.
    Pour moi, l’image était située à l’URL cache.php?get=icone1.png, pas ailleurs.

    Maintenant je fais autrement.

    Je fais mon hit sur /var/cache/favicon/icone1.png. Plus besoin de PHP : si l’image existe, l’icône est envoyée directement.

    Mais si le fichier n’existe pas, ça renvoie un 404, non ?

    Exactement ! Mais ça, c’est uniquement si le fichier n’est pas là.
    La distinction « fichier là / fichier pas là » n’est plus à faire par PHP comme avant : elle est déjà faite par le serveur (Apache, …), et on va s’en servir !

    Il est possible d’utiliser une redirection en cas de 404. Dans le fichier .htaccess de notre arborescence, je vais mettre :

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule (.*) ../../cache.php?w=gravatar&q=$1 [L]

    L’important ici est le !-f de la première ligne.

    Un simple -f signifierait « notre requête est un fichier ». Mais avec le point d’exclamation devant, ça signifie « notre requête n’est pas un fichier », dans le sens « un fichier qui n’est pas, qui n’existe pas ».

    Si je demande un fichier qui n’est pas là (donc un 404), cette condition est est satisfait : « le fichier n’est pas ! » et on accède à la ligne suivante, c’est à dire le renvoie vers le script PHP.

    Ce n’est pas une redirection 301 ou 302 : le serveur demande uniquement à PHP de s’occuper de la demande au lieu de s’en occuper lui-même par l’envoie d’une erreur 404.

    Une fois que PHP a fait son boulot, il sauvegarde le fichier et la renvoie au navigateur : le navigateur ne reçoit jamais de 404 : si le fichier est là, le serveur lui donne. Si le fichier n’est pas là, PHP produit le fichier avant de lui donner également. Le fichier est également sauvegardé pour la prochaine fois.

    En plus de ça, la requête est faite directement sur le fichier que l’on veut, pas sur une page à PHP qui devra lire le fichier. On gagne donc en logique aussi.

    Pour aller plus loin

    Comme je l’ai dit, j’utilise ce système à la fois pour des icônes de site et pour des avatars de commentaires. Il y a donc une distinction à un moment. Les images sont mis en cache dans deux répertoires dédiés :

    var/
    | - - cache/
          | - - favicon/
          | - - gravatar/
          | - - .htaccess

    Aussi, une complication est de ne faire qu’un seul fichier .htaccess.

    Pourquoi ? Car je ne veux pas mettre un .htaccess dans chaque dossier et ceci pour une raison simple : quand veux purger le cache (en supprimant le dossier et son contenu), je ne veux pas perdre mon fichier .htaccess.

    Avec un seul fichier situé à un niveau plus haut, je supprime les dossier favicon/ et gravatar/ et c’est bon, ils seront recréés par PHP lors de la prochaine requête.

    Mon .htaccess doit distinguer quel est le dossier où l’on fait la requête. Je fais ça comme ça :

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} ./gravatar/(.*)$
    RewriteRule (.*)gravatar/(.*)$ ../../favatar.php?w=gravatar&q=$2 [L]

    Explication ligne par ligne :

    RewriteCond %{REQUEST_FILENAME} !-f

    ↑ Je regarde si le fichier existe. Si oui, le fichier est envoyé au navigateur et ça s’arrête. Autrement on continue.

    RewriteCond %{REQUEST_URI} ./favicon/(.*)$

    ↑ Je regarde sur la requête concerne un fichier dans /favicon

    RewriteRule (.*)favicon/(.*)$ ../../favatar.php?w=favicon&q=$2 [L]

    ↑ Si oui et oui, on renvoie sur favatar.php?w=favicon&q=icone.png, et PHP fera son travail. Le [L] permet de dire qu’il s’agit de la dernière condition et que le traitement du .htaccess s’arrête.

    Il reste une ligne à ajouter. En effet, si je fais une requête sur le dossier .favicon/, je ne veux pas que ça renvoie sur PHP. C’est un dossier, pas une image. Et même si je gère cette exception dans PHP pour plus de sécurité, il faut mieux mettre un garde-fou en plus.

    Par conséquent, ça nous fait quatre lignes :

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} ./gravatar/(.*)$
    RewriteCond %{REQUEST_URI} !./gravatar/$
    RewriteRule (.*)gravatar/(.*)$ ../../favatar.php?w=gravatar&q=$2 [L]

    La ligne ajoutée, la troisième, dit « si le fichier est autre que le dossier gravatar/, on applique la règle ». Dans le cas contraire, on laisse faire (et on ne renvoie pas vers PHP.

    Ceci est bon pour les avatars.
    Reste à faire la même chose pour les favicon. Il suffit de dupliquer tout ça :

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} ./gravatar/(.*)$
    RewriteCond %{REQUEST_URI} !./gravatar/$
    RewriteRule (.*)gravatar/(.*)$ ../../favatar.php?w=gravatar&q=$2 [L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} ./favicon/(.*)$
    RewriteCond %{REQUEST_URI} !./favicon/$
    RewriteRule (.*)favicon/(.*)$ ../../favatar.php?w=favicon&q=$2 [L]

    Et voilà !

    Exemple de fonctionnement

    Juste pour résumer ce qui se passe :

    Une requête sur ./gravatar/fichier.png sera traité par le premier bloc ci-dessus. Une requête sur ./favicon/fichier.png sera traité par le seconde bloc ci-dessus.

    Dans les deux cas, si fichier.png existe, il est envoyé normalement au navigateur. Sinon, il est créé par PHP puis envoyé. Il n’y a pas de 404 envoyé au navigateur.
    Si le fichier demandé est invalide, on renvoie une erreur 400 (Bad Request) avec PHP. C’est par exemple le cas si on demande un fichier à Gravatar qui n’est pas un MD5 d’une adresse e-mail, ou si l’on demande un favicon pour une URL qui n’est pas une URL correcte.

    Enfin, si je fais une requête sur un autre dossier (./foo/fichier.png par exemple), alors il est ignoré par ce .htaccess et par PHP. Pas de risque donc de faire tourner PHP sur d’autres fichiers que des icônes ou des avatars.

    image d’en-tête de Ferenc Almasi

  • Sunday 03 October 2021 - 14:14

    J’ai un équipement à la maison qui s’avère relativement indispensable : un casque pour regarder (enfin écouter en fait) la télévision et ce qui tourne dessus.
    Quand c’est cassé : faut racheter !
    Plongée dans la jungle technique…

    Petit retour en arrière : je suis jeune et beau con, j’aime le metal et, avec des amis 🤘, nous décidons d’aller au concert d’Iron Maiden à Bercy (première partie assurée par mon groupe préféré).
    Il faut chaud (août ?) et j’ai une place super dans la fosse… près des enceintes.
    Acouphènes, perte légère d’audition, zéro regret 😀

    20 ans plus tard, traînant une légère surdité d’un côté, ma femme m’offre un casque pour jouer à la console et c’est la révélation : plutôt que de monter le son côté écran (et donc m’attirer les foudres légitimes de Kratos de ladite femme), je peux m’exploser le tympan à volonté, en fait surtout entendre à un volume satisfaisant.
    Problème : le casque, de marque Plantronics, est compatible uniquement avec la PlayStation (4 puis 5) et Windows (le récepteur bluetooth n’est pas reconnu sous Linux), ce qui limite l’utilisation pour des films par exemple (Raspberry Pi + OSMC ou Netflix, par exemple, même si Netflix est disponible sur console).

    Arrive alors quelques temps plus tard un casque CGV (entreprise française 🐓) directement compatible avec la télévision : un socle (faisant office de chargeur) qui se relie derrière l’écran.
    Et là c’est le paradis : tout appareil (console, lecteur, etc.) devient d’office compatible et je découvre en même temps que la sortie optique du téléviseur sert à quelque chose.

    Avance rapide (plusieurs années) : le casque ne marche plus et la demande s’est élargie, avec le besoin d’un deuxième casque qui fonctionnerait en même temps.

    En mars dernier est donc arrivé le duo de casques du même constructeur, pour le prix du précédent (unique celui-ci), avec même une réduction chez CDiscount.

    Pour détailler un peu les prix :

    • le casque qui a très bien marché et était de bonne qualité : 130 €
    • le duo de casque : 98 €

    À noter que le premier casque pouvait fonctionner aussi en double avec un autre, si je rachetais le même, soit un coût total de 260 € environ 😐 !

    J’ai donc découvert une autre « fonctionnalité » : le casque connecté en bluetooth, contrairement au casque précédent en radio-fréquence, ce qui entraîne une liaison mettant plus de 30 secondes à s’effectuer entre la base et le casque.
    Autre souci : le positionnement du casque sur la base pour le recharger est assez fastidieux et la charge ne commence qu’après un positionnement au millimètre près.
    Mais bon, les deux fonctionnent.

    Jusqu’à ce que 6 mois plus tard, les deux casques cassent au niveau de l’arceau.
    La qualité étant moins présente, le maniement avec une main au lieu de deux (faut bien tenir la manette de la console ma brave dame :smile:), les torsions étaient peut-être un peu forte mais bon, 6 mois quoi.

    Malgré la peur de la réputation du SAV de CDiscount, le retour a pu s’effectuer sans problème ni frais de port et j’ai été remboursé directement.

    La situation est donc revenue au même point mais j’ai gagné quelques connaissances sur le fonctionnement technique de ces appareils à priori simpliste.

    Mon besoin est resté le même : il me fallait une paire de casque pouvant fonctionner en même temps que la télévision émettait du son.

    Après plusieurs recherches infructueuses, notamment sur YouTube (vous saviez que des gens testait des appareils SANS les avoir sous la main, juste en fonction des notes et commentaires Amazon ? Mais si, vous savez, les commentaires bidonnés en grande partie malgré la mention « Achat vérifié »), j’ai quand même compris quelques principes :

    • la liaison de la base des casques peut se faire soit en prise jack soit en prise optique (parfois en RCA / coaxial).
      Quelle différence ? Avec la prise jack (analogique), le son sortant des hauts-parleurs de la télévision est coupée (sauf si la télévision propose de partager le son entre les hauts-parleurs et la prise jack, pas chez moi), alors qu’avec une prise optique (numérique), le son sort sur les deux sorties directement.
    • la liaison entre les casques et la base peut soit être en radio-fréquence (connexion rapide, genre 5 secondes grand max) soit se faire en bluetooth (connexion qui peut prendre jusqu’à 30 secondes).
    • Plus le casque est cher, meilleure la qualité sonore sera.
      En gros, pour écouter de l’opéra comme à l’opéra, va falloir raquer !
      Personnellement, c’est pour du « tout venant », donc je ne cherchais pas de la qualité audio parfaite et ce que j’ai trouvé convient à mon besoin.

    Donc, pour moi, le mieux est un mélange de connexion optique et de liaison radio.
    Soit le combo le plus cher, car en général ce qui est proposé c’est une liaison en prise jack et du bluetooth.
    Vraiment, la liaison optique est peu présente et les bases sont plus chères, sans compter que si on aime les marques inconnues, le peu de tests fiables rend le choix plutôt compliqué.
    Je note quand même qu’il existe un adaptateur qui peut être branché sur la prise jack de la télévision et en optique côté base des casques, ça s’appelle un DAC et ça coûte une quinzaine d’euros chez Jeff Bezos.

    Mais comment faire, comment a-t’il fait ?
    Simple : le site de CGV propose des produits… reconditionnés !
    Je ne sais pas vraiment d’où ils viennent (des retours de clients sur l’un des éléments (base ou casque par exemple) cassés peut-être) mais parmi les produits disponibles se trouve le fameux premier casque pour télévision que j’ai expérimenté plusieurs années.
    35 € au lieu de 130 € avec une garantie de deux ans.
    Je n’ai pas hésité longtemps avant d’en commander deux, soit 70 € au lieu de 260 € neufs !

    Au final, après déballage, il s’agit effectivement de deux cartons déjà ouverts :

    • notice manquante dans l’un des deux
    • piles rechargeables manquantes dans l’un des deux
    • casque et base non emballés dans du plastique dans l’un des deux
    • cartons bien usé dans l’emballage de l’un des deux

    À l’usage, ça marche !
    Je verrai à moyen terme si ça continue, la base principale utilisée pour appairer les casques semblent ne pas utiliser les diodes correctement mais j’ai du son, sur deux casques, en même temps que la télévision.

    Je note également que les deux casques ont quand même l’air neuf : propres, tiennent bien (très serrés).

    Je tiens à préciser que j’ai regardé quand même de vrais tests de casque, comparé de vrais prix, etc.
    Si vous souhaitez du luxe (mais qui marche très bien, en gros le Apple du casque : Sennheiser.
    Pour du pas cher : du chinois sur Amazon 😀
    Si vous n’avez pas ou ne souhaitez pas utiliser la sortie optique : Sony propose un casque plutôt bien noté (non, pas les notes Amazon) et moins cher que l’équivalent Sennheiser (le RS 120)…

    Dernier conseil : fuyez les sites des marques pour avoir un choix de matériel car ils sont très fouillis si vous ne savez pas quel produit exact rechercher.

    Et un petit hommage pour finir…

  • Tuesday 28 September 2021 - 15:36
    Marre des pages que Google n'indexe pas ? Suivez mes 7 étapes concrètes pour faire indexer vos pages et obtenir un bon SEO par la même occasion 😎
  • Saturday 25 September 2021 - 21:31

    Si le LED est aussi plébiscité, c’est surtout grâce à la performance qu’il offre. L’arrivée des ampoules LED ont de ce fait influencé l’éclairage des bâtiments tertiaires et industriels. Les modèles à incandescence sont effectivement délaissés pour un design LED plus glamour, plus esthétique, plus moderne mais surtout plus économique. L’éclairage LED: une proposition plus […]
    Cet article Les ampoules LED règnent dans l’éclairage du secteur industriel est apparu en premier sur PRESTASEO.

    Lire la suite…
  • Tuesday 21 September 2021 - 08:08
    Découvrez pourquoi Google a décidé de ne plus indexer toutes les pages que vous lui donnez. Et surtout les solutions qui fonctionnent tout en améliorant le SEO du site...
  • Friday 17 September 2021 - 12:30

    Il y a longtemps, j’ai testé Google Chromium, pour revenir ensuite sur Mozilla Firefox.
    Comme il n’y a que les imbéciles qui ne changent pas d’avis, je suis repassé chez le diable (la période don’t be evil est finie depuis longtemps) et je risque d’y rester un bout de temps…

    C’était en 2017, soit une éternité dans l’histoire informatique et dans mon histoire personnelle (pandémie oblige) mais la constante se trouve dans l’ordinateur que j’utilise au quotidien à domicile (gloire à Cyrille Borne) : j’ai toujours un Dell Latitude E6500 avec un bon vieux Dual Core et 6 Go de RAM. Oui, une période avant les Intel Core i3 d’Intel a existé 😉 !
    Dans ta face l’obsolescence programmée… 😆

    Sur cet ordinateur, j’ai installé en parallèle Windows 10 (pour les programmes le nécessitant, pensez hack) et Ubuntu, utilisé tous les jours.

    Et sur ce dinosaure, Ubuntu installe Firefox.
    Et Firefox est lent.
    Non, rectification : Firefox lague, c’est-à-dire qu’après avoir mis un certain temps à se lancer, chaque clic sur un lien, chaque ouverture d’onglet, chaque action en fait, s’accompagne d’une sensation de lenteur .
    C’est embêtant car dans un monde hyperconnecté, pour un drogué de l’information comme moi, cela devient souvent insupportable, avec la manie par exemple d’ouvrir une tonne d’onglets (e-mails, lecteur de flux RSS, sites du moment nécessitant de rester ouvert pour garder l’information disponible, etc.).
    Si je rajoute toutes les extensions indispensables (?), vu que Firefox nu (et qui ne lague donc presque pas) me semble relativement inutilisable et peu intéressant.

    Du coup, cher.e lecteur-ice, si tu veux utiliser un autre navigateur, tu n’as pas 36 choix, surtout sous Linux :

    • Google Chrome.ium (différence plus bas)
    • Brave (un lointain descendant d’Opera)
    • n’importe quel autre petit navigateur sans grand intérêt pour moi

    On va passer sur le fait que le moteur interne soit le même (en fait, seuls Safari d’Apple et Firefox ont un moteur de rendu à eux) entre Chrome et Brave, le Web risque de morfler un de ces quatre (si ce n’est déjà fait, vive les sites codés qui ne marchent qu’avec le moteur Blink)…

    Brave, c’est comme Opera : je n’aime pas. 400 fonctions, 1000 options. Trop long à configurer, une licence obscure, il fait le café et pour dans un souci de minimalisme informatique, je préfère zapper

    Reste Chrome.
    Ou Chromium.
    Pour installer Chromium, le paquet chromium-browser s’installe via apt pour ensuite rapatrier un paquet snap, no comment 😀 !
    Chrome s’installe en téléchargeant un paquet directement chez Google, ce paquet installe ensuite une source apt pour les mises à jour. Il est possible d’installer 3 versions (stable, beta, développement), la beta est un choix raisonnable qui n’a jamais planté chez moi, les instructions d’installation sont sur l’excellent wiki Ubuntu-Fr.

    La principale différence à l’utilisation entre Chrome et Chromium (le premier est en fait basé sur le second), c’est la synchronisation des données entre plusieurs instances du navigateur (identifiants et mots de passe entre autres).

    Côté extensions, une majorité disponibles sous Firefox le sont aussi avec Chrome, à l’exception notable de « Container » mais la navigation privée marche pour les occasions nécessaires 😉

    Pour le reste, du classique (ou pas) :

    • uBlock Origin : anti-publicité (je me demande encore pourquoi Google laisse ce genre d’extensions sur son store mais bon… profitez-en).
    • Auto Copy : permet de copier le texte surligné dans le presse-papier.
    • Textarea Cache : sauvegarde automatiquement le contenu des champs texte (formulaire par exemple), pratique en cas d’erreur d’envoi pour ne pas tout retaper !
    • Voir image : permet d’afficher un bouton sous les images trouvées dans Google Image pour afficher directement l’image au lieu d’aller sur la page la contenant.
    • AutoplayStopper : pour que les vidéos ne se lancent pas automatiquement lors de l’arrivée sur un site Web. Petit souci avec YouTube : le blocage ne fonctionne pas en ouverture directe de la page de la vidéo dans le même onglet 😡 et un commentaire sur l’extension indique le même souci quelque soit l’extension utilisée. Étonnant (ou pas) 🙄

    Et voilà, la diversité du Web mourra peut-être à cause de moi, mais je pense qu’il y a quelque chose de pourri au royaume de Mozilla (repeat after me : capitalism sucks) :

    En conclusion, je ne vais pas vous sortir des détails sur l’utilisation de la mémoire, les performances chiffrées, etc. vu que mon expérience se base surtout sur le ressenti personnel.

    Sur un ordinateur plus récent (au boulot par exemple), Firefox ne lague pas, même avec plein d’extensions.
    Sauf qu’à mon boulot, pour des raisons diverses indépendantes de ma volonté et de celle du navigateur, Firefox plante donc j’utilise souvent Chrome…

  • Thursday 16 September 2021 - 18:23

    Code de programmation.
    J’ai déjà fait un article sur Pourquoi mettre le JavaScript à la fin et le CSS au début ?, et je vous invite à le lire.

    Les astuces ici sont en plus.

    Utiliser preload pour précharger les ressources utiles

    Bien que l’on puisse mettre le CSS dans l’entête, il faut se souvenir que dans le CSS, on peut lier d’autres CSS, avec les @import, ou même des polices, des images (avec background-image). Cela peut ralentir l’affichage.

    Si les fichiers sont petits, il est préférable de les précharger : le téléchargement en parallèle est alors avantageux sur le téléchargement en série des fichiers.

    Pour ça, dans le head de la page HTML, on peut utiliser ça :

    <link rel="stylesheet preload" href="style/style.css" as="style" />
    <link rel="preload" href="fonts/font.woff2" as="font" type="font/woff2" crossorigin />

    Cela permet de précharger les ressources en même temps que la page.

    Quelques remarques :

    • pour le CSS, j’ai mis stylesheet et preload. Certains mettent juste preload, puis utilisent JS pour changer le preload en stylesheet quand la page est chargée, avec onload. Perso je vois pas l’intérêt d’utiliser JS pour ça : ça ne fait que retarder le rendu.
    • pour le fichier woff2 (police), j’ai ajouté un crossorigin. Je ne sais pas pourquoi, les navigateurs en ont besoin (à la fois Firefox et Chrome), sinon il préchargent le fichier, le jettent, et le rechargent quand la requête réelle est demandée…
    • on utilise preload et non prefetch. Prefetch sert à précharger des pages sur lequel vos lecteurs vont cliquer, afin de gagner du temps lors de la navigation entre plusieurs pages. Preload sert à charger des ressources pour la page courante.

    Ne charger les scripts que quand ils sont utiles

    Ensuite, les scripts doivent être mis à la fin (voir mon article lié plus haut).

    Sauf que certains scripts dépendent du contenu d’une page.
    Par exemple, sur Couleur-Science, les équations dans certains articles utilisent KaTeX (il existe un standard HTML pour afficher des équations (MathML), mais il n’est supporté que par Firefox, donc pour l’instant, on passe par une lib JS).

    Certains de mes articles n’ont pas d’équations. Dans ce cas, pourquoi télécharger 150 ko de JS ?
    Chez KaTeX, on identifie une équation en le plaçant entre des signes « $ ». Comme ça : « $ equation $ ».

    Je fais donc un test : si le contenu de l’article contient un signe $, je charge Katex. Autrement, je ne le charge pas.

    Ah et je fais ça seulement quand le reste de la page a fini de charger : rappelez-vous, si vous initiez le chargement d’un script, le rendu de la page se bloque.

    Je fais donc ça :

    document.addEventListener("DOMContentLoaded", function() {
    	var contenuDom = document.getElementById('contenu').textContent;
    	if (contenuDom.indexOf('$') !== -1) {
    
    		// only if Katex needed is it added
    		var newLink = document.createElement('link');
    		newLink.rel = 'stylesheet';
    		newLink.type = 'text/css';
    		newLink.href = 'katex/katex.min.css';
    		document.head.appendChild(newLink);
    
    		var katexRes = document.createElement('script');
    		katexRes.src = 'katex/katex.min.js';
    		document.head.appendChild(katexRes);
    
    		setTimeout(function() {
    			renderMathInElement(
    				document.getElementById('contenu'),
    				{
    					delimiters: [
    						{left: "$$", right: "$$", display: true},
    						{left: "$", right: "$", display: false},
    					]
    				}
    			);
    		}, 1000);
    	}
    });
    

    Explications :

    • j’attends le chargement de la page.
    • ensuite, je regarde si le #contenu contient un « $ ». Si oui, j’initie le téléchargement du CSS de Katex, puis du Script de Katex.
    • Enfin, j’attends un instant (1 s) et je dis à Katex d’afficher les équations qu’il trouve dans la page.
      Si je mets le renderMathInElement() dans un katexRes.onload(), ça ne marche pas. En effet, onload() se déclenche quand le fichier a fini de télécharger, pas quand il a fini d’être parsé. Il faut que le code dans le fichier soit parsé, pas juste téléchargé.

    Pas de base64 pour le SVG inclus dans le CSS

    Si l’image est très légère, une requête sera plus longue que le téléchargement, il est alors préférable de l’inclure directement dans la source. Quand on veut mettre des images très légères directement dans le CSS, on les inclut en Base64 : le fichier image se met sous une forme textuelle et on la copie-colle dans le CSS.

    Inconvénient : le Base64 pèse 33 % plus lourd.

    Si notre image est en SVG, tout ceci est inutile : le SVG est lui-même du texte. On peut dont le placer directement dans le code. Il suffit de dire que le format est du SVG :

    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'><path d='M10.5 15l7.5 7.5 7.5-7.5z' /></svg>");

    En prime, le SVG reste lisible. Il faut juste faire attention à correctement échapper les caractères (quotes, doublequotes…).

    Pour les polices d’icônes

    Concernant les petites images/icônes, j’utilise une police qui contient les glyphes. Les icônes que j’utilise sont les icônes de Google Material Design. Il y en a plus de 1 000 différentes.

    Si vous n’utilisez que 10 icônes, il ne sert à rien de toutes les intégrer. Dans ce cas, on peut n’intégrer que les polices nécessaires.

    Pour cela, j’utilise personnellement Icomoon, un outil en ligne. On peut lui donner ses propres SVG (ceux de Google Material par exemple) et produire une police en .woff ou un autre format.
    Seul problème : il ne produit pas de .woff2 (dont la taille de fichier est moitié moindre). Il faudra donc utiliser un autre convertisseur pour transformer le .woff en .woff2.

    Là aussi, si nécessaire, utilisez un préload pour ce fichier, ou bien incluez le directement dans le CSS en Base64.

    Enfin, n’oubliez pas qu’il faut peut-être autoriser la mise en cache avec .htaccess (les formats .woff et .woff2 ne sont pas forcément pris en charge nativement dans ce fichier) :

    <IfModule mod_expires.c>
      AddType application/x-font-woff .woff
      AddType application/x-font-woff2 .woff2
      ExpiresActive On
      ExpiresDefault "access plus 1800 seconds"
      ExpiresByType application/x-font-woff "access plus 1 year"
      ExpiresByType application/x-font-woff2 "access plus 1 year"
    </IfModule>

    D’autres liens

    J’espère que les quelques astuces ci-dessus seront utiles.
    Ci-dessous, quelques autres astuces accumulées depuis les années :

    Enfin, pour des astuces plus générales :

    • pensez à utiliser break/continue
    • rappelez-vous : ce qui compte, c’est la vitesse perçue ; dans cet exemple du lecteur RSS, il est inutile que tous les flux soient téléchargés immédiatement. L’internaute ne lira qu’après 1 ou 2 secondes, le temps qu’il choisisse quoi lire. Récupérez donc d’abord les titres des articles, puis, pendant qu’il choisit les titres qu’il va lire, on télécharge le contenu des posts. C’est comme quand vous êtes au restaurant : le cuistot ne prépare pas tous les plats en avance, mais commence par proposer le menu et proposer à boire. Comme ça, pendant que les gens boivent, il prépare le plat.
    • utilisez les JPEG progressifs
    • pour le JSON, utilisez type="application/json". Ça sera *beaucoup* plus rapide à parser
    • et voyez tout ça

    Passer en HTTP2

    Enfin, et c’est probablement le plus gros gain que vous aurez, mais il faut que ça soit mis en place au niveau du serveur (ce qui peut ne pas dépendre de vous) : passez en HTTP2.

    Voir ces liens : 1 , 2 , 3 , 4 .

    (merci Thibault pour celui-ci)

    Résultat

    Résultat satisfaisant (pour ce que ça vaut, mais ça donne une idée) :

    Score PageSpeed Insight Google.
    Donc non, il n’est pas nécessaire d’avoir un design ultra-flat tout blanc et noir si l’on veut qu’elles soient rapides.

    image d’en-tête de Lucas Bravo

  • Thursday 16 September 2021 - 06:51
    Hello!
    Comment réussir sa stratégie de référencement YouTube ?
    Merci
  • Tuesday 07 September 2021 - 14:04
  • Monday 06 September 2021 - 16:14
    Bonjour à tous.

    Voici ma petite présentation.
    J'ai créé mon premier site internet il y'a 5 ans.

    En 2019, j'ai pris mon premier hébergement payant et mon premier nom de domaine.
    Je ne connaissais rien en référencement jusqu'à je tombe sur quelques forums qui traitaient du sujet.
    Je m'y suis intéressée et j'ai créé mon premier annuaire, pour mieux référencer mon site .

    Merci et à bientôt :biggrin:
  • Monday 06 September 2021 - 15:57
    Inscrivez-vous au prochain webinar SEO gratuit animé par Olivier Duffez pour apprendre la méthode QualityRisk + Zombies
  • Monday 06 September 2021 - 14:26
    Google se permet encore plus qu'avant de réécrire votre titre dans les résultats. Je vous explique tout et fournis des conseils SEO à ce sujet.
  • Thursday 02 September 2021 - 21:38
    Bonjour,

    Créateur de contenu, heureux de l'être.

    J'espère apporter ma contribution à ce forum. Demander de l'aide si j'en ai besoin.

    Mes domaines d'intervention en webmarketing : rédaction web, copywriting, affiliation, WordPress et SEO.

    Sans être un expert, je cultive mes connaissances au quotidien sur ces différents sujets.

    J'aime également la littérature du XIX ème siècle, et je possède un blog sur ce thème.

    Je possède d'ailleurs plusieurs sites, notamment en affiliation et sur le webmarketing.
  • Thursday 02 September 2021 - 21:20
    Vous cherchez une agence web à Nancy pour la création de votre site internet d’entreprise ? Voici toutes les infos dont vous avez besoin de connaitre pour un tel projet. Notez bien que pour mener à bien votre digitalisation il faut ficeler votre cahier des charges et pour cela une identification de vos besoins précis est nécessaire. Cet article devrait vous aider à comprendre tous les enjeux liés à la création d’un site web. Création site internet à Nancy avec une agence web locale Il est recommandé de faire appel à des professionnels locaux pour une prestation telle que la
    L’article Création site internet à Nancy : Délais, devis et tarifs est apparu en premier sur starnet.

    Lire la suite…
  • Wednesday 01 September 2021 - 10:15
    Découvrez les changements majeurs de la version 2 de l'algo Zombies (My Ranking Metrics) : plus précis et ne nécessite plus Google Analytics. Tous les sites peuvent désormais bénéficier de l'analyse Pages Zombies !
  • Sunday 29 August 2021 - 13:17

    Les biens consomptibles comme la voiture s’usent avec le temps. Il convient donc de la changer lorsqu’elle  ne répond plus parfaitement à vos besoins. Que faire alors dans ce cas ? À défaut de mettre votre voiture au garage dans la poussière, la reprise auto cash est une solution pour tirer un gros profit de votre ancienne voiture Découvrez ce qu’il faut savoir sur la reprise auto cash. La reprise auto cash c’est quoi ? La reprise auto cash est un procédé de vente mettant en présence un professionnel expert en automobile et le vendeur de voitures. Il consiste tout simplement à proposer la vente de votre ancienne voiture à un professionnel, quitte à ce […]

    L’article Tout savoir sur la reprise de votre auto ? est apparu en premier sur harbisohbet.net.

  • Wednesday 25 August 2021 - 18:55
    La technologie laser est incontournable dans l’automatisation, notamment en ce qui concerne les détecteurs de présence (de passage de pièces). Les capteurs photoélectriques de nouvelle génération apportent une plus grande fluidité de fonctionnement, c’est évidemment ce que recherche n’importe quel responsable de production. Capteur photoélectrique à détection laser hyper précise Les capteurs photoélectriques à fibre optique laser sont de nos jours bien plus performants et moins fragiles qu’il y a 20 ans. Les techniciens de maintenance industrielle de cette époque étaient régulièrement en intervention pour faire du curatif avec ces détecteurs tant ils étaient peu fiables. Aujourd’hui avec l’automatisation industrielle
    Lire la suite…
  • Tuesday 24 August 2021 - 08:06
    Bonjour à tous.
    La stratégie de netlinking : quels sont les différents moyens de bâtir une stratégie de netlinking ?
    Merci
  • Monday 23 August 2021 - 17:54
    from serelit

    Les pannes font partie intégrante du quotidien des propriétaires de voiture. Elles peuvent arriver à tout moment et n’importe où. Pour ne pas être pris au dépourvu, mieux vaut s’y préparer. Pour cela, vous avez la revue technique automobile. Elle existe sous différents formats et informe sur les différentes manières pour réparer une voiture. C’est ce que nous allons découvrir dans cet article.

    Les différents types de revues techniques automobiles

    revue technique automobileLa vente revue technique automobile est un commerce qui aide beaucoup d’automobiliste. En effet, ce manuel de réparation renferme toutes les informations nécessaires sur la mécanique d’une voiture. Il existe trois types de manuels techniques pour automobiliste.

    La revue technique automobile ou RTA

    La RTA est un manuel complet qui informe sur les points essentiels en mécanique automobile. Chaque modèle de voiture a sa propre revue. Son utilisation offre divers avantages aussi bien pour les novices que les experts en automobile.

    Tous les passionnés de voiture doivent avoir leur propre manuel technique automobile. Ou tout au moins, en connaître l’existence.

    La revue technique automobile numérique

    C’est la version numérique de la RTA. Elle est disponible sur internet, mais peut se télécharger pour être gardée sur un support au choix. Par exemple, elle peut être copiée sur un CD, une clé USB ou sur un dossier de l’ordinateur.

    Le téléchargement de ce type de fichier est gratuit. Il en existe à foison sur internet. Cependant, la plupart sont protégés par un droit d’auteur. Pour ne pas s’attirer des ennuis, mieux vaut se tourner vers les tutoriels à télécharger.

    Le manuel de l’utilisateur

    C’est un livre qui permet d’apprendre les bases nécessaires pour réparer sa voiture sans l’aide de personne. Généralement, il est offert par le concessionnaire ou le constructeur automobile durant l’achat d’une voiture.

    Le manuel de l’utilisateur se trouve dans la boîte à gant. Il contient toutes les informations nécessaires pour assurer la sécurité du conducteur et de ses passagers. Il recèle aussi toutes les astuces pour entretenir correctement son véhicule.

    Si vous êtes à la recherche de conseils pratiques à propos du système de verrouillage et de la ceinture de sécurité, il faut vous référer à ce document. Il explique également le fonctionnement de tous les éléments qui composent le tableau de bord de votre voiture.

    L’Auto data

    L’auto data est une application accessible sur internet. Elle contient des informations diverses, variées et détaillées sur une automobile. Elle est très pratique pour les garagistes et les automobilistes. L’application s’utilise facilement n’importe où. Que ce soit en bord de route ou dans un atelier.

    Elle est l’alliée idéale pour réviser, entretenir ou réparer une voiture. Le diagnostic du véhicule est plus simple en l’ayant sous les yeux. Surtout concernant la manipulation des divers câblages. L’application propose divers schémas sur le schéma.

    Les avantages de la revue technique automobile

    Le premier avantage de ce type de revue repose sur toutes les informations qu’elle offre. Même une personne lambda peut avoir des connaissances approfondies en mécanique automobile comme par exemple pouvoir utiliser une polisseuse comme ici très facilement. Il n’a pas besoin de faire de longues études pour cela.

    Ensuite, l’autre avantage de ce type de document est d’un point de vue financier. En réparant soi-même sa voiture, il fait des économies importantes.

    L’article Pourquoi devez-vous avoir une revue technique automobile ? est apparu en premier sur serelit.

  • Monday 23 August 2021 - 15:38
    Bonjour je suis webmaster depuis plus de vingt ans, je découvre le forum dédié aux webmasters. Cool!
  • Wednesday 18 August 2021 - 21:15
    On a essayé de se mettre à la place des personnes qui sont contre le progrès et on a bien eu du mal à trouver des arguments plausibles qui pourraient être négatifs vis-à-vis de la maison connectée. Il est aujourd’hui très appréciable de bénéficier de la domotique, un ensemble de technologie vraiment au service de l’Homme ! Une maison connectée pour faire des économies d’énergie C’est l’avantage numéro un que l’on peut citer lorsque l’on parle de domotique. Étant donné que l’on peut tout contrôler il est alors très facile de faire des économies d’énergie avec notamment les prises et
    Lire la suite…
  • Monday 16 August 2021 - 12:22

    Je joue avec le Graal depuis mi-juillet et c’est pas mal !

    Comme l’image en une le fait deviner, j’ai réussi à mettre la main (avec des sous, faut pas déconner) sur une PlayStation 5.

    Le mythe de la rupture de stock n’est, cette fois, pas un mythe concernant un produit technologique.
    Soit vous avez réservé pour l’avoir à la sortie ou du moins avant la fin 2020 (la bête est sortie officiellement le 19 novembre dernier), soit vous avez préféré attendre et dans ce cas mettre la main dessus requiert des connaissances de devins pour deviner les stocks en ligne (oui, les comptes Twitter peuvent aider mais vous luttez alors contre des petits malins armés de robots achetant automatiquement le moindre stock pour le revendre plus cher ensuite).

    Personnellement, en quête modeste (sans me presser) de la console, j’ai décidé un beau matin début juin (si vous vous souvenez, c’était environ 15 jours après le deuxième confinement, donc les centres commerciaux avaient rouvert) d’aller dans un Micromania pour savoir si les réservations étaient toujours possibles, ce qui était le cas en échange de 50 €.
    Délai prévisionnel selon le vendeur : entre juin et septembre :D.

    Je vous cache les nuits à rêver de l’objet 😳 et j’arrive au 22 juillet : coup de fil du magasin qui a reçu une dizaine de consoles (j’étais passé entre-temps pour connaître mon évolution dans la file d’attente) et m’invite à récupérer la mienne fissa.
    Pour information : mes congés ont débuté 3 jours après l’achat 😎 .

    Côté revente, j’ai ramené ma PlayStation 4 (première version) et un paquet de jeux (malgré la rétrocompatibilité, j’ai revendu les jeux qui de toute façon ne m’intéressaient plus) et je suis reparti avec une PlayStation 5 neuve payée 130 € (oui, au lieu des 500 € de base, sans parler des prix pratiqués dans le voisinage tournant autour de 700 / 800 €).

    Tout en gardant le meilleur pour la fin, et tout ayant été dit ou presque sur cette console, j’ai quand même noté personnellement :

    • Elle est ÉNORME ! Elle occupe actuellement, à l’horizontal, la place de ma Playstation 4 ET de ma PlayStation 3 (que j’ai donc dû enlever du meuble).
    • Autant le design vertical donne un style intéressant à l’objet, autant poser à l’horizontal, la console n’est pas très joli, sans compter que l’insertion / éjection des disques n’est elle pas horizontale 😆 .
    • L’interface est encore un peu fouilli, mais contrairement à sa prédécesseuse, le « menu » de base est clair (séparation entre les jeux et le côté multimédia) mais les sous-menus le sont moins.
      Par dérivé, le fait de pouvoir mettre en veille / éteindre la console rapidement a disparu 🙄 et c’est dommage (je pense aux utilisateur.ice.s occasionnel.le.s, surtout du point de vue de l’utilisation des applications multimédias comme Netflix ou Disney+ par exemple).
      Je reste personnellement toujours fan de la Cross Media Bar ou XMB de la PlayStation 3 / PlayStation Portable.
    • Accéder aux trophées d’un jeu est une plaie (il faut passer par le sous-sous-menu de l’icône de l’utilisateur.ice).

    Mais qu’a-t’elle de si bien, cette PlayStation 5 ? Les temps de chargement sont presque inexistants 😮 !
    Que ce soit pour des jeux Playstation 5 natifs (testé avec le dernier Ratchet et Clank où les chargements sont impossibles à voir : le jeu se lance, vous voyez les traditionnels logos, vous sélectionnez votre sauvegarde et vous jouez DIRECTEMENT sans attente) ou même sur des jeux PlayStation 4 (qui, eux, vous font patientez mais beaucoup moins qu’avant).
    Autre exemple : Fortnite. Le jeu aux millions de joueurs se lance en 30 secondes contre 1’30 auparavant mais quand vous attendez « bêtement » devant la console, cela se ressent dans le sens où là encore vous avez l’impression de ne pas devoir attendre le chargement.

    Peut-être que cette sensation évoluera avec la sortie des jeux à l’avenir mais en attendant, c’est mon gros coup de cœur pour cette console…

    Et les graphismes me direz-vous ?
    Sachant que j’ai toujours ma bonne vieille télévision Full HD (comprendre « 2K »), le fait d’avoir des graphismes en 4K ne donnent au mieux que plus de détails, une sensation de décors plus fouillés sans que le matériel rame derrière, c’est donc un ajout négligeable pour moi.

    Ne me reste plus qu’à attendre les jeux exclusifs (même si vu la pénurie les studios préfèrent sortirent les jeux à venir à la fois sur PS4 et sur PS5) mais j’ai encore un bon stock de jeux PS4 à jouer.

    Je vous laisse avec une vidéo du démontage de l’engin, c’est presque érotique si vous aimez l’intégration matérielle 😆 .

  • Monday 16 August 2021 - 11:40
  • Monday 16 August 2021 - 09:03
    Bonjour à tous,
    Un client m’a demandé de faire un échange de lien. Mais je ne sais pas encore quels sont l’utilité et mes avantages pour faire cet échange. Est ce que vous pouvez m'éclairer un peu sur ce sujet.

    Merci à vous :idea:!
  • Monday 16 August 2021 - 08:49
    Bonjour,

    Je suis dans le domaine gestion et marketing, c'est mon travail journalier. Mon objectif c'est approfondir mes compétences dans le secteur web Master (HTML,JAVA script...).

    Content d'être parmi vous :smile:
  • Thursday 12 August 2021 - 22:16
    Bonjour,
    Mon nom est Galen008,j'ai 21ans et je suis étudiant, j'aime discuter avec des amis et j'ai découvert ce site en faisant des recherches sur internet.
    Je crois que qu'on va bien s'entendre ici.