Gil Cot ✔ a écrit 6568 commentaires

  • [^] # Re: Edge vs Chrome

    Posté par  (site web personnel, Mastodon) . En réponse au lien Terrible Maps : The most popular browser 2012 vs 2022. Évalué à 3.

    En plus de cela, le reproche sur l’export est techniquement faux puisque c’est le seul navigateur qui, en plus de proposer le HTML, offre aussi le JSON.
    Je suppose que c’est une confusion avec Chrome qui offre la synchronisation des marques pages si on connecte son compte Google…

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: Edge vs Chrome

    Posté par  (site web personnel, Mastodon) . En réponse au lien Terrible Maps : The most popular browser 2012 vs 2022. Évalué à 4.

    Toute façon, pour y arriver, faudrait faire comme internet exploser à l’époque : ne pas respecter les standards du W3C…

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: Nouvelles brêves

    Posté par  (site web personnel, Mastodon) . En réponse au sondage Quel futur vous paraît pertinent pour la rubrique « Liens » de Linuxfr ? . Évalué à 4.

    Les francs quais probablement pas, les francs sait oui. Comme dirait le passage aca demie sien, les accents c’est pas pour le muse et du chien.

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: mozzarella

    Posté par  (site web personnel, Mastodon) . En réponse au journal [ HS ] Fromage râpé pour accompagner les pâtes ou autre .... Évalué à 3.

    Décryptage et analyse par Horizon Gull : https://www.youtube.com/watch?v=nQ3aaPaHCB4

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: mozzarella

    Posté par  (site web personnel, Mastodon) . En réponse au journal [ HS ] Fromage râpé pour accompagner les pâtes ou autre .... Évalué à 4.

    Seulement les marrons il semble.

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: mozzarella

    Posté par  (site web personnel, Mastodon) . En réponse au journal [ HS ] Fromage râpé pour accompagner les pâtes ou autre .... Évalué à 3.

    Ça va, j’en ai vu confondre avec des hollandaises exploitées en France en pensant que c’est du gruyère sans bouché…

    Et sinon, que penses-tu de bébé cloche et ses gastronomes en culottes courtes avec des vaches plus rigolotes ? (c’est cette bonne humeur et cette bonhomie qui fait défaut chez Lait A)

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: garder la rubrique, imposer une petite description

    Posté par  (site web personnel, Mastodon) . En réponse au sondage Quel futur vous paraît pertinent pour la rubrique « Liens » de Linuxfr ? . Évalué à 3.

    quoi que quand c'est un copier coller de HN ou Lobsters

    …avec la différence que c’est francophone ici d’une part, et que tout le monde n’est pas sur ces autres plateformes par ailleurs. Ayant un compte sur ces deux là aussi, je me rends compte que les liens sont quand même bien différents, et pour les rares liens identiques les réactions ne sont pas pareils (je préfère en général HN mais LinuxFr donne un bon poul de l’Europe francophone…)
    Il y a bien jdh aussi, mais c’est plus français que francophone et plus fermé (déjà pas facile d’avoir un compte puis de proposer un lien ou commenter, plus club privé quoi.)

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: garder la rubrique, imposer une petite description

    Posté par  (site web personnel, Mastodon) . En réponse au sondage Quel futur vous paraît pertinent pour la rubrique « Liens » de Linuxfr ? . Évalué à 2.

    J’avais plussé ci et pour compenser. Je me dis que les moinssages sont dus au fait qu’il n’y a pas de vraie différence pour la plupart des gens (et pire ça peut être vu comme une volonté d’anglicisation) : lien/favori/marque-page ou link/bookmark ça reste un titre et une adresse.
    La pratique du commentaire dans la foulée est assez récente et vise à se justifier, pardon se prémunir des votes négatifs automatiques/réflexes (i.e. sans avoir lu avant, ou en préjugeant la personne qui poste…)

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • # Shell/Bash

    Posté par  (site web personnel, Mastodon) . En réponse au journal classeur, un script python quick&dirty pour avoir tout son texte dans un seul fichier. Évalué à 8. Dernière modification le 13 janvier 2024 à 17:24.

    On parle de moi ? Me voici…1 :D

    S'en est suivi une réponse fleuve de Gil Cot transformée elle même en journal.

    En journaux en fait, mais seul le premier a été accouché ; la suite est restée en gestation (j’étais en recherche de réponses par rapport aux markdown de malheur…)

    Bon, revenons au classeur ;) Comme le shell est mon dada, je vais fournir les équivalences (ce qui ne remet pas en cause le travail.)2

    Et je suis sûr qu'on peut faire ça avec les commandes Shell/Bash classiques,

    Habituellement, le merge est le travail de cat

    $ # classeur -m intro.md chapitre1.md pouet.md annexes.md -o my_merged_doc.md
    $ cat intro.md chapitre1.md pouet.md annexes.md > my_merged_doc.md

    Mais ici il y a l’ajout des chapeaux… que je traduirai par quelque chose comme :

    >"$outputfilename"
    for filename in "${markdownfiles[@]}"; do
        echo "$scissors $filename $scissors" >>"$outputfilename"
        cat $filename >>"$outputfilename"
    done
    echo "Merged ${#markdownfiles[@]} in ${outputfilename}

    Habituellement, le split est le boulot de split tout simplement.

    $ # classeur -s my_merged_doc.md
    $ split -p '^✂✂✂ [[:alnum:]]+\.md ✂✂✂$' my_merged_doc.md temporaire-

    On peut utiliser sed ou awk ou un oneliner d’un autre langage, mais split, qui est dédié à cette tâche, est plus performant.
    Quelque soit l’outil, il y a un « mais » ici aussi : cette commande va créer une série de fichiers dont la base est dans mon exemple temporaire-

    $ ls temporaire-*
    temporaire-aa
    temporaire-ab
    temporaire-ac
    temporaire-ad

    Noter que split seul est bien comme miroir de cat ici…

    $ # classeur -s my_merged_doc.md
    $ split -p '^= .* =$' my_merged_doc.md classeur-

    On a la première ligne qui contient le motif, donc le chapeau… On peut rajouter une commande pour faire fi de cette ligne dans le cas présent, mais je ne sais pas si c’est le comportement de Classeur.
    De plus, si je comprends bien, il faut remettre dans les chemins indiqués. Du coup, je traduirai par quelque chose comme

    tmp=$(mktemp -t $(basename $0))-
    echo "Splitting ${markdownfile} with scissors «${scissors}»"
    split -p "^$scissors [[:alnum:]]+\.md $scissors$' "$markdownfile" $tmp
    for openfile in $(ls $tmp??); do
        filename=$(expr "$(head -n 1 "$openfile")" : "$scissors (.*) $scissors")
        if [ -e "$filename" ]; then
            echo "Found file $filename"
        else
            echo "Add file $filename"
        fi
        mv "$openfile" "$filename" && rm "$openfile"
    done

    Ça commence à devenir sioux et je ressors un vieil ami souvent oublié : expr au lieu de juste quelque chose comme filename=$(head -n 1 "$openfile" | sed "s/$scissors//g") car je ne sais pas aprioris le délimiteur qui sera disponible… Il est aussi possible d’utiliser grep -Po au lieu de sed mais ce n’est pas portable…

    Anyway, la bonne approche est bien d’écrire un script (que tu maîtrises et peux maintenir) …pour la bonne raison que ce n’est pas de l’utilisation directe des commandes et que ces opérations ne sont pas ponctuelles.

    j'avais pas envie de me souvenir des commandes à chaque fois.

    Sur ce, bonne fin de semaine à tout le monde.


    1. Tiens, s’il y en a qui ont l’idée de comment réaliser l’équivalent des capteurs d’attention comme sur IRC ça m’intéresse : en gros, que les journaux et commentaires me mentionnant m’interpellent. 

    2. Autant il est facile de faire un prototype ou de résoudre un problème interactivement en shell, écrire un script solide n’est pas forcément trivial et peu connaissent bien le shell en tant que langage de programmation (il y a pas mal de subtilités qui prennent du temps à être maitrisé.) Dans tous les cas prenez un langage dans lequel vous ferez quelque chose de robuste et performant dans un temps raisonnable : le commentaire présent est plus pour faire découvrir/rappeler des commandes qui pourront être utiles à d’autres occasions. 

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: Et donc…

    Posté par  (site web personnel, Mastodon) . En réponse au lien Git Koans. Évalué à 3.

    Bah, il me semble que la question ne portait pas sur ton billet mais sur ma remarque

    Je passe le mot à mes adminsys : installez la GUI sur les serveurs :)

    Par contre, je vois assez peu de cas d'usage pour avoir Git sur un serveur, et encore moins pour aller y faire des opérations non triviales à la main.

    J’ai énuméré des cas où j’ai vu du Git sur des serveurs. (premier point)
    En général ça roule tout seul et on n’a pas besoin d’y toucher… Sauf quand il y a un incident (ou une requête urgente non prévue par les procédure) ; et (à la louche) deux fois sur trois ça peut se résoudre par des opérations plus ou moins triviales mais dans tous les cas manuellement. (second point)
    Dès le départ, en parlant de serveurs et d’administration système, ce n’était déjà pas dans le cadre du billet. (ou peut-être là je ne l’ai pas perçu)

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: à peu près pareil ici

    Posté par  (site web personnel, Mastodon) . En réponse au journal J’ai fait fuir les voleurs (trop forte !?). Évalué à 2.

    de chocolat il a écrit…

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: bonne nouvelle

    Posté par  (site web personnel, Mastodon) . En réponse au lien France: recul de la natalité de 6,8% sur les 11 premiers mois de 2023 par rapport à un an auparavant. Évalué à 2.

    Et si on arrêtait la démagogie juste une petite seconde ?

    faire des enfants sans limite

    Ce n’est ni vrai ni possible : ce ne sont pas des instances qu’on pop en claquant des doigts.

    Continuer

    Aucune démographie n’est constante ou en augmentation perpétuelle contrairement aux formulations que tu as.

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: plus que prometteur : nécessaire, indispensable et à développer!

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche reaction, remplaçant de fail2ban. Évalué à 3.

    Ça me rassure car j’avais eu peur d’avoir loupé quelque chose. J’ai en effet souvenir dans les dernières installations qu’il fallait choisir (et effectivement dans les lots il y a explicitement le serveur SSH à part, que je ne choisis jamais sur du bureautique et presque toujours sur du serveur) C’est surtout qu’il y a des choix prédéfinis mais pas un choix standard minimale (pour faire une vraie installation minimale il faut choisir manuel pour virer certaines choses)

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: le bit de poids faible

    Posté par  (site web personnel, Mastodon) . En réponse au lien la manière la plus efficace de déterminer si un nombre est pair. Évalué à 3.

    Ah oui, je te comprends (et plussoie) : beaucoup ont voulu en faire un langage de programmation… et utiliser de la configuration pour mettre des ronds dans des carrés ou l’inverse…

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: Bon à savoir mais...

    Posté par  (site web personnel, Mastodon) . En réponse au lien Gentoo passe aux binaires . Évalué à 3.

    Ça viendra peut-être avec le temps.

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: Je me demande si...

    Posté par  (site web personnel, Mastodon) . En réponse au lien Ivre, il crée un générateur de sites statiques avec 300 lignes de python et django. Évalué à 4.

    T’inquiètes, il n’y a pas de bons ou de mauvais arguments quand on aime ou pas (ne dit-on pas que des goûts et des couleurs discutables ?) ;-) Et tu fais la distinction entre ton aversion personnel et les besoins des autres (ce qui t’amène à l’installer pour les autres si tu estimes que ça répond à leurs besoins et qu’il n’y a pas d’allergie) ; une noblesse qui se perd je trouve. :-)

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: plus que prometteur : nécessaire, indispensable et à développer!

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche reaction, remplaçant de fail2ban. Évalué à 2.

    quand je vois que debian/LMDE, tout simplement n'intègre juste pas ssh-server par défaut dans son installation de base..

    Qu'appelles-tu installation de base ? o_O

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # ironie

    Posté par  (site web personnel, Mastodon) . En réponse au lien la manière la plus efficace de déterminer si un nombre est pair. Évalué à 3.

    Je n’ai pas compris les moinssages alors que C juste…

    Et sinon c’est purement ironique ; je l’ai grillé dès qu’il a parlé de performance…

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: le bit de poids faible

    Posté par  (site web personnel, Mastodon) . En réponse au lien la manière la plus efficace de déterminer si un nombre est pair. Évalué à 2.

    Quand je code en ansible, de toute façon, quel que soit l'IDE, je souffre, et mon principal allié est de ne pas avoir internet, ni de jeu vidéo installé sur ma machine, histoire de bien me contraindre à avancer, faut aussi que je décharge complètement mon téléphone, et que j'oublie le câble USB ailleurs, sinon ça avance pas.

    Par curiosité, quels problèmes rencontres-tu avec Ansible ?

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: +

    Posté par  (site web personnel, Mastodon) . En réponse au lien Le bon vieux NetSurf en v3.11 (top navigateur en console, partiellement compatible html5) . Évalué à 2.

    Merci pour la précision ; ça m’épargne de penser que ça va remplacer (E)Links(2) sur ma bécane uniquement en console (quoique je pense que bien que sans X j’avais mis le pied dans FB, faut que je vérifie.)

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: Je me demande si...

    Posté par  (site web personnel, Mastodon) . En réponse au lien Ivre, il crée un générateur de sites statiques avec 300 lignes de python et django. Évalué à 5.

    C’est marrant, c’est justement le langage de gabarits qui m’a séduit : on pouvait enfin faire du MVC ; et on évite les trucs que je voyais avec Joomla et Wordpress quand des gens qui n’ont pas assez de compétence en PHP et en codage doivent refaire l’habillage du site.

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # mon troisième langage (non assembleur) 😢

    Posté par  (site web personnel, Mastodon) . En réponse au lien Niklaus Wirth bronsonisé (père du langage Pascal). Évalué à 3. Dernière modification le 06 janvier 2024 à 05:05.

    moui, en Pascal l'utilisation du . ou du ; je ne l'ai jamais trop comprite :/

    C’est pourtant simple comme bonjour.
    Tu n’utilises le point que pour le final « end, full stop »
    Le point-virgule annonce une fin d’instruction « so stop here, but following » comme dans les autres langages

    Sans doute parce que mon 2ème langage après Basic était l'assembleur 6502 puis (logiquement mais temporairement) le Forth (pas loin du Logo), et ensuite (plus pérenne) le C (dont la gestion des pointeurs était plus cohérente que le Pascal).

    Et sinon, pour moi, le 2e était Logo. J’ai eu la chance de découvrir le C après le Pascal : ça m’a permis de ne pas tomber dans certains pièges dans lesquels plongeaient mes camarades puis mes collègues (en vrai je traduisant d’abord mes algos en Pascal et quand ça compile et fonctionne bien je traduis en C en toute confiance et même pas besoin de tester :p je ne sais pas si on peut dire que les pointeurs du C sont cohérents quand on voit toutes les incohérences que cela permet.)

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: plus réactif veut dire ?

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Fedora a 20 ans : coup d'oeil dans le rétro avec Renault. Évalué à 3.

    Le procès était de trop (et a causé de la peine aux ex enfants qui ont grandi avec le magicien) ; y avait pas de confusion possible vu qu’il y avait Linux dans le nom…
    Le changement de nom était je pense pour marquer le mariage avec Connectiva : ici, plutôt que l’un abandonne son nom pour celui de l’autre, le problème a été élégamment résolu en mariant les deux noms…

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: Et alors ?

    Posté par  (site web personnel, Mastodon) . En réponse au journal jeu libre Covid-25 !. Évalué à 2. Dernière modification le 06 janvier 2024 à 04:32.

    Or dans ce jeu c'est pas le cas, t'as intérêt à te bouger à confiner le monde et à faire un vaccin si tu veux gagner.

    Ah ha, j’ai eu à ne pas confiner ni faire de vaccin quand j’ai testé …mais je n’avais pas joué avec les paramètres par défaut (je ne sais plus si j’avais juste bougé la « contagiosité » ou s’il y avait d’autres trucs en même temps.)
    J’ai fait aussi une autre partie où quoi que tu fasses (même en confinant dès le premier jour et en vaccinant au plus tôt) tu ne gagnes pas (ou je n’ai pas recommencé assez de fois pour voir comment gagner). Là aussi avec des paramètres pas par défaut (et de mémoire un R0 agressif et la mortalité qui touchait les trentenaires.)

    Le jeu a un algo d'évolution de la maladie au sein de la population, donc quelque part le créateur du jeu prend parti.

    Pour moi (mais c’est peut-être là mon incompréhension), un algo d’évolution est justement un outil de simulation et non un parti pris (dans le sens où on modélise —et surtout il permet de jouer sur les paramètres— au lieu de dogmatiquement imposer un truc qui nous arrange —avec des constantes.)
    Après on peut voir des partis pris partout. Moi (pour ne parler que de mon ressenti) je trouve gênant d’avoir un/une suivi/sanction sur l’activité économique ; ça me semble être la religion du PIB et autres indicateurs économiques aux noms desquels un gouvernement peut imposer une réforme de retraite ou une austérité qui n’ont pas de sens. :/

    En tout cas merci pour la réponse ; ça m’offre un autre angle de vision.

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: Et donc…

    Posté par  (site web personnel, Mastodon) . En réponse au lien Git Koans. Évalué à 2. Dernière modification le 06 janvier 2024 à 04:05.

    J’avais oublié de revenir par ici. :( Heureusement, les commentaires ne sont pas encore clos.

    Commençons par le cas simple que l’on occulte trop facilement… Quand les usagers poussent/tirent vers/depuis une forge, c’est bien par rapport à un dépôt central qui est sur un serveur ;-) Le principe demeure en l’absence de logiciel/programme de forge : les premiers dépôts que j’ai eu à mettre en place auprès d’entreprises qui n’entendaient pas encore les systèmes de version, c’était sur des dossiers partagés de serveurs (car le dépôt de référence peut être donné par un chemin du système, et pas que SSH ou HTTP… et ce n’est pas propre qu’à Git au passage.)

    Mais j’imagine (mais j’en sais rien en fait) que la question est par rapport au dépôt de travail (enfin le local du point de vue des usagers de forges, car dans l’absolu rien n’empêche que les dépôts distants ne soient pas aussi des dépôts de travail —il m’est déjà arrivé de travailler ainsi en binôme ou en trinôme quand on n’a pas un serveur où archiver le travail commun.) Là aussi, il n’est pas exclu d’être sur un serveur (par opposition au poste personnel.)
    J’ai travaillé dans une entreprise B…… qui a mis en place un système de CI/CD bien avant que n’apparaisse GitLab ou que la fonctionnalité soit fournie sur GitHub (où de toute façon cette entreprise ne peut pas être pour des contraintes juridiques.) Bon, le principe n’a pas beaucoup changé avec les outils/programmes actuels : il faut quand même cloner (ou rapatrier les commits) puis faire la popote indiquée. Dans le cas de cette entreprise B……, on fait juste du déploiement en recette/qualification/production. Je n’ai connu qu’un seul cas où il a fallu intervenir manuellement, ce qui nécessite de savoir utiliser la commande git pour revert sur un tag précis puis relancer manuellement le script de déploiement sur ce tag là. Habituellement, dans les rares cas de rollback, il suffisait de livrer une version corrective par dessus l’ancienne, mais sur ce coup là il a fallu rejouer une ancienne version après avoir nettoyé manuellement les serveurs concernés. Mais je m’éloigne, je voulais juste donner un exemple où il a fallu mettre les mains dans le cambouis et dans l’urgence.
    Avant cela, j’ai connu deux entreprises qui utilisent etckeeper et dans la première le dépôt n’était que local au serveur. Bref, là, ça fonctionne bien comme un dépôt de travail sauf que les commits sont faits par un programme (chose que l’on peut retrouver aussi avec des applications personnelles de documentation par exemple) et qu’on est sur un serveur… Cela nous a sauvé la mise suite à certaines mises à jour (et la présence de cet outil m’a permis de faire entendre ma demande de les systématiser…) sauf qu’il faut connaitre la commande git et bien comprendre ce qu’on a configuré. Il n’y a pas que etckeeper et sa surcouche, on peut utiliser d’autres outils comme changetrack ou filemon, etc.
    Je dirai que c’est un peu l’équivalent des solutions de dotfiles pour sysadmins, et on a des équivalents pour les netadmins (il y a Rancid et Oxidised que j’ai eu à mettre en œuvre, mais certainement bien d’autres que j’ignore.) Parfois ça peut comprendre ce qu’on a configuré. Il n’y a pas que etckeeper et sa surcouche, on peut utiliser d’autres outils comme changetrack ou filemon, etc.
    Je dirai que c’est un peu l’équivalent des solutions de dotfiles pour sysadmins, et on a des équivalents pour les netadmins (il y a Rancid et Oxidised que j’ai eu à mettre en œuvre, mais certainement bien d’autres que j’ignore.) Parfois ça peut aller bien plus loin, comme bup

    Il y a les cas où on a du git sur le serveur mais pas pour y travailler (quoique ce soit parfois possible) ; en gros on y monte le dépôt comme on monterait un chemin réseau sauf qu’on a en prime toutes les versions en cas de besoin. Avec des collègues nous avons fait quelque chose du genre en pointant certains serveurs vers un dépôt Git et lui faire prendre sa recette par Ansible (beaucoup l’ignorent mais ça sait faire du pull, ici via un cron, et pas que du pull qui est le mode par défaut.) C’est un peu le fonctionnement que j’ai rencontré avec Puppet dans d’autres boîtes ; par contre ici, on n’est plus du tout dans le cas de dépôt où l’on commit, mais on a quand même du git sur le serveur.

    Il y a certainement d’autres cas que je ne connais pas, et pour ce que je connais j’ai préférer me limiter à des choses auxquelles j’ai touchées. Il y a en tout cas plein de raisons d’avoir un dépôt Git sur un serveur.

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume