Adrien Dorsaz a écrit 952 commentaires

  • [^] # Re: Terminal

    Posté par  (site web personnel, Mastodon) . En réponse au journal Transformer vim en IDE avec LSP et DAP. Évalué à 3. Dernière modification le 03 décembre 2020 à 23:10.

    Ah oui, j'avais vu :make, c'est sympa.

    Je viens de lire le :help make et de trouver juste en dessous :vimgrep qui est bien plus efficace que git grep, puisque la liste de résultat est interactive, merci beaucoup ! Je vois que :grep permet aussi de définir sa commande, je pense que je vais la définir avec git grep, parce que c'est assez cool le respect du fichier .gitignore.

  • [^] # Re: Et ça donne quoi coté réactivité?

    Posté par  (site web personnel, Mastodon) . En réponse au journal Transformer vim en IDE avec LSP et DAP. Évalué à 2.

    Donc en plus de ne pas rediriger vers les définitions de méthodes, j'imagine qu'il ne peut pas non plus faire l'inverse, afficher toute les utilisations dans le projet d'une méthodes, ou d'une variable.

    Ce que je voulais dire, c'était ça justement: il peut te rediriger vers les définitions (LSP sait lire les include/require et te redirige), mais il ne peut pas te donner toutes les références, tant que les fichiers n'ont pas été ouvert.

    Je suppose donc aussi qu'on n'a pas de complétion ou de vérification temps réel sur les méthodes existantes ou sur les paramètres passés. Et l'import automatique ?

    D'expérience, la complétion fonctionne, quand tu as fais le bon import.

    L'import automatique peut fonctionner si tu as déjà ouvert le fichier dans ta session.

    Là, je te parle d'expérience avec un projet en nodejs, ça dépend sûrement du language server, mais ça semble assez trivial pour C++ aussi si les include ont bien été définit et que le fichier compile_commands.json a bien été construit.

    Ce qui me semble quand même des fonctions de base que j'utilise beaucoup même sur des petits projets.

    Si tu veux avoir ces fonctionnalités complètes, je pense que tu es obligé de passer par un scan complet des fichiers du projet et des dépendances, de tous les parser et de faire tenir ces informations en mémoire ou dans des indexes.

    Peut être qu'un plugin asynchrone (merci pour l'info barmic ;)) pour vim existe pour faire ça, mais je préfère me passer de ce genre de fonctionnalités, car je sais qu'elles seront bien trop consommatrices de ressources (CPU, mémoire et I/O disques).

  • [^] # Re: Et ça donne quoi coté réactivité?

    Posté par  (site web personnel, Mastodon) . En réponse au journal Transformer vim en IDE avec LSP et DAP. Évalué à 2.

    Hello,

    Je ne l'emploie pas sur un projet en C++, mais mon installation est assez réactive, parce que:

    1. vim n'utilise pas Electron et est lui-même assez léger
    2. vim n'indexe pas tous les fichiers du projet. Il fait juste de charger les fichiers que tu lui demandes, les transfert au LSP et reçoit les informations en retour.
      • La conséquence, est qu'il est bien capable de te rediriger vers la définition des méthodes utilisée dans le fichier actuellement ouvert (avec gd). Mais il est incapable de trouver toutes les références à cette méthode (avec gr), puisqu'il n'envoie pas tous les fichiers du projet à LSP. J'ai remarqué aujourd'hui, il trouve les références uniquement dans les fichiers que tu as ouvert actuellement.
    3. le plugin ctrl-p, que j'utilise pour trouver rapidement les fichiers, scanne vraiment rapidement le dossier du projet

    À priori, ça devrait donc être plus léger, mais je n'ai pas mesuré réellement et il y a quand même des fonctions en moins. Ce que je lève dans le point "2." par rapport à la recherche de référence, ça veut aussi dire que tu ne pourras pas faire de big refactor facilement (mais je m'en sors en général avec des git grep -iP). Mon curseur personnel pour l'instant c'est que je préfère avoir un IDE réactif, mais avec ces fonctionnalités en moins (que j'utilise rarement en réalité).

    Il faudrait que j'installe un Grafana et que je monitore l'utilisation CPU et mémoire pour les processus vim.

    PS: Pour C++, j'ai essayé sur un tout petit projet perso, et le LSP coc-clangd demande d'avoir clangd d'installé et de fournir le fichier compile_commands.json (crée par meson dans mon cas). D'une fois que je l'ai fais, ça a bien marché, mais le projet était tout petit :-)

  • [^] # Re: Servo ? Lent ?

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Résumé des nouveautés de Firefox 81 à 83. Évalué à 3.

    Pourquoi Servo a-t-il été abandonné?

    Il n'a pas été transmis à l'Apache Foundation, non ?

  • [^] # Re: Terminal

    Posté par  (site web personnel, Mastodon) . En réponse au journal Transformer vim en IDE avec LSP et DAP. Évalué à 6.

    Je trouve utile le terminal intégré pour garder sous les yeux mon contexte avec le fichier que je suis en train d'éditer. Je ne l'utilise pas en permanence, c'est plutôt sporadiquement.

    C'est aussi très utile pour le débogueur: ça lui permet d'afficher la sortie sur le côté.

  • [^] # Re: Favoris avec Firefox for Android

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Résumé des nouveautés de Firefox 81 à 83. Évalué à 2.

    Merci, mais il y a eu un peu trop de suppression :)

    On a perdu l'explication du problème dû à ce cache:

    ; lors d’un clic sur un onglet dans une collection, la version en cache est affichée, si vous avez mis votre lecteur de flux RSS, LinuxFr.org ou n’importe quel site dont le contenu est dynamique comme moi, il vaut mieux les enlever des collections puisque ça force à devoir rafraîchir la page à chaque fois ;

  • [^] # Re: Mes aventures à moi

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Résumé des nouveautés de Firefox 81 à 83. Évalué à 2.

    1. Sur certains sites (bv. ZDNet.fr), quand je rouvre le site, je me retrouve avec une page pas fraîche. Sans doute une page en cache. En tout cas, je dois rafraîchir la page si je veux découvrir les nouvelles publications apparues depuis ma dernière visite.

    Est-ce que tu utilises la fonction "Collection" pour ces sites ? Ça ressemble au comportement actuel des Collections, on en a discuté dans le fil de commentaire plus haut.

  • [^] # Re: Favoris avec Firefox for Android

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Résumé des nouveautés de Firefox 81 à 83. Évalué à 3.

    Au fait, comme le sujet n'a pas l'aire aussi claire que ce que j'ai écris dans la dépêche, si l'équipe de modération pouvait apporter cette correction à la dépêche:

    - une collection enregistre le contenu de la page pour être accessible hors ligne ;
    + une collection enregistre le contenu de la page ~~pour être accessible hors ligne~~ dans un cache (mais ce n'est pas très claire du [comment](https://github.com/mozilla-mobile/fenix/issues/10417) et de [pourquoi](https://github.com/mozilla-mobile/fenix/issues/11506)) ;

    ou trouver une autre tournure et faire un lien sur ce fil de discussion.

  • [^] # Re: Favoris avec Firefox for Android

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Résumé des nouveautés de Firefox 81 à 83. Évalué à 4.

    C'est assez simple, essaie de mettre une page qui change régulièrement son contenu dans une collection. Par exemple, les journaux de LinuxFr. Si tu charges la page demain soir depuis la collection, tu verras le contenu de ce soir.

    Il y a bien un cache à quelque part, mais peut être qu'il n'est pas utilisé si le téléhpone est hors-ligne, je ne sais pas.

    En fait, il m'avait fallu pas mal de temps pour comprendre que ce problème était lié aux Collections. Maintenant, quand je cherche "firefox android agressive cache" sur Google, je tombe facilement sur des utilisateurs expliquant leur incompréhension des collections.

    Sur Github, il y a une issue encore ouverte qui parle de ce problème et une seconde qui demande de mettre à jour la documentation des Collections.

    Je ne sais pas pourquoi Mozilla n'a pas encore mis à jour sa documentation, c'est vraiment pas intuitif comme comportement. Je trouverai normal que ça soit au moins clairement indiqué dans la documentation que les collections utilisent un cache.

    C'est justement pour ça que j'ai mis cette phrase dans la dépêche, j'étais sûr à ne pas être le seul à avoir eu ce "problème" de compréhension :)

  • [^] # Re: skip redirect

    Posté par  (site web personnel, Mastodon) . En réponse au journal Extension Google Direct pour Firefox. Évalué à 5.

    Hello,

    Non pas tout à fait, parce que dans Google Search, les liens des résultats sont des liens directs jusqu'au moment du clic sur le lien.

    Google Direct empêche Google de modifier le lien au moment du clic et il n'a donc pas besoin de retrouver la bonne redirection dans l'URL.

    Skip redirect est plus généraliste et travaille sur les URLs déjà transformées, mais je ne sais pas s'il fonctionne aussi avec le fonctionnement de Google Search (c'est quand même spéciale de modifier les liens au moment du clic…).

  • [^] # Re: Indépendant du style en apparence

    Posté par  (site web personnel, Mastodon) . En réponse à l’entrée du suivi La barre latérale ne peut être masquée et... masque le contenu d'une dépêche en rédaction. Évalué à 2 (+0/-0).

    Hello,

    En effet, seul le style par défaut fonctionne avec le nouveau système de barre latérale pour la rédaction.

    Ça m'avait déjà pris pas mal de temps à créer cette barre latérale pour le style par défaut et je n'ai pas eu la motivation d'adapter tous les styles tiers.

    Je ne sais pas si ça vaut la peine d'essayer de corriger les styles, parce que ça va casser dès que l'on essaye de changer le style de base.

  • [^] # Re: Merci beaucoup !

    Posté par  (site web personnel, Mastodon) . En réponse au journal Extension Google Direct pour Firefox. Évalué à 4.

    Je viens d'aller voir comment Google News fonctionne et malheureusement l'extension ne peut pas marcher pour ce site.

    J'ai décrit dans un commentaire plus bas: Google Direct ne modifie pas les liens, il fait juste d'empêcher Google de les modifier lors du clique.

    Avec Google News, les liens sont déjà personnalisés par Google et donc Google Direct ne peut rien faire.

  • [^] # Re: déjà existant

    Posté par  (site web personnel, Mastodon) . En réponse au journal Extension Google Direct pour Firefox. Évalué à 10.

    D'abord, mieux vaut avoir le plus de choix possible :)

    Chocolateboy a expliqué dans le Readme l'intérêt de cette extension.

    Ce qu'il faut savoir, c'est que Google change les URLs au moment du clic (ça permet de garder la fonctionnalité des liens déjà visités coloriés en violet par le navigateur).

    Les autres extensions écoutent le clic pour essayer de revenir en arrière sur la modification faite par Google.

    Google Direct fait beaucoup plus simple: il empêche en amont Google de modifier les liens.

    Le code du repository est très simple, ça fait juste 10 lignes de codes:

    function rwt () { return true } // same return value as the original
    
    if (window.wrappedJSObject.rwt) {
        // assign it as a read-only property to prevent it being overridden
        Object.defineProperty(window.wrappedJSObject, 'rwt', {
            value: exportFunction(rwt, window),
            writable: false,
            configurable: false,
        })
    }

    rwt() est le nom de la fonction de Google et l'extension force cette fonction à ne rien faire à part retourner true :-)

  • # Ca n'est pas suffisant pour la fluidité, mais c'est un début

    Posté par  (site web personnel, Mastodon) . En réponse au lien GNOME 40 Mutter Moves Input Work To A Separate Thread - phoronix. Évalué à 3.

    D’après les commentaires sur phoronix, il faudra aussi que ce Merge Request soie fusionné pour que les entrées restent complètement fluides.

  • [^] # Re: génial !

    Posté par  (site web personnel, Mastodon) . En réponse au lien Webbloatscore: estimer la bloatitude de votre site web. Évalué à 2.

    Hehe, tu fais un poil mieux que le webbloatscore qui est à 0.4 ;-)

    L'idée est bonne, mais quand je vois la capture de mon site perso, on voit que c'est la version mobile sur grand écran. Il doit manquer une config ou deux chez eux pour calculer correctement le score.

  • [^] # Re: .

    Posté par  (site web personnel, Mastodon) . En réponse au journal Warp : les performances de Firefox s’améliorent. Évalué à 3.

    suppression du about:config

    C'est accessible dans la version actuelle de F-Droid (82 je crois).

  • [^] # Re: opinion

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche La distribution GNU/Linux Trisquel 9.0 « Etiona » est là !. Évalué à 2.

    Wow, ça fait déjà 10 ans, merci pour le lien !

  • [^] # Re: Vieille version !

    Posté par  (site web personnel, Mastodon) . En réponse au message Libreoffice anormalement lent. Évalué à 3. Dernière modification le 06 novembre 2020 à 21:57.

    Pour l'OS, Ubuntu a arrêté le support du 32 bits, mais Debian propose encore l'architecture 32 bits.

    Si tu veux garder les avantages de Linux Mint, sache que ce projet propose une version alternative basée directement sur Debian, la Linux Mint Debian Edition (lmde) et il y a un lien pour la version 32 bits :-)

    D'après la release note, LMDE est basée sur Debian Buster (sortie en juillet 2019, ce qui est un peu plus récent que Linux Mint 17).

    Par défaut, ils supportent les architectures 32-bits sans PEA (je ne sais pas ce que c'est), et à la fin de la release note ils expliquent comment l'activer si ton CPU supporte PEA.

    Dans cette version de Debian, libre office est en version 6, même en 32 bits. Si tu veux la version 7, il faudrait utiliser les paquets de buster-backports, mais je ne sais pas si c'est supporté par LMDE.

  • [^] # Re: cloudflare

    Posté par  (site web personnel, Mastodon) . En réponse au lien HCAPTCHA. Une solution non libre mais pas GAFAM. Évalué à 2.

    De ce que j'ai compris, le but est juste de faire perdre du temps à un robot1.

    C'est beaucoup plus simple que d'essayer de distinguer un robot d'un être humain.

    Apparemment, il y a un challenge à résoudre automatiquement côté JavaScript qui prend du temps. Pour un humain, pas de soucis, il prend déjà beaucoup de temps pour remplir le formulaire.

    Pour un robot, ça ne va pas être un problème non plus 1 fois sur 1 formulaire.2

    Mais par contre, ça va limiter le nombre de formulaires remplis à la seconde et ça va faire perdre du temps au robot => il gaspille des ressources CPU / mémoire => il peut faire moins de spam sur ton formulaire et sur les formulaires des autres sites puisqu'il perd son temps chez toi.

    Tu deviens une cible moins intéressante, puisque tu coûtes plus cher à spammer :-)


    1: si je ne m'abuse, on a la même idée avec le login sous Linux: le calcul pour vérifier si le mot de passe entré est juste est pensé pour faire perdre du temps aux robots.

    2: il reste ce cas où tu peux te faire spammer quand même. Mais je me dis que, de toute façon, même avec recaptcha, si tu cibles vraiment un formulaire particulier, tu peux payer des êtres humains pour le remplir et donc spammer avec la même efficacité.

  • [^] # Re: opinion

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche La distribution GNU/Linux Trisquel 9.0 « Etiona » est là !. Évalué à 6. Dernière modification le 02 novembre 2020 à 00:07.

    Il me semble que Debian ne distribue plus de binaires non-libre pour le noyau linux depuis la création du package firmware-non-free. Ce (méta-)package serait justement destiné à contenir tous les binaires non-libres et il n'est pas installé par défaut.

    Est-ce que je me trompe ?

  • [^] # Re: cloudflare

    Posté par  (site web personnel, Mastodon) . En réponse au lien HCAPTCHA. Une solution non libre mais pas GAFAM. Évalué à 3.

    Merci pour le lien ! J'aime beaucoup l'idée décrite: ne pas distinguer les robots des humains, mais faire perdre du temps et de la puissance aux robots
    C'est une tâche beaucoup moins complexe à mon avis et ça ne m'étonnerait pas que ce soit autant efficace 🙂

  • [^] # Re: Le festival d'âneries continue

    Posté par  (site web personnel, Mastodon) . En réponse au lien D'un assassinat au retour de la loi Avia et à la lutte contre « l'anonymat ». Évalué à 2.

    La dernière sortie est du député François de Rugy qui n'a pas encore compris qu'une modification de la Constitution n'est pas un fait anodin

    Ça dépend où :-)

  • [^] # Re: Chérie, ça va moinsser

    Posté par  (site web personnel, Mastodon) . En réponse au journal Une tablette (grand format) sous Linux?. Évalué à 6. Dernière modification le 15 octobre 2020 à 04:26.

    Non, non, Firefox n'est pas disponible sur iOS: c'est juste un Safari déguisé comme tous les navigateurs sur iOS…

  • [^] # Re: JSON? YAML?’

    Posté par  (site web personnel, Mastodon) . En réponse au journal En finir avec CSV ou Excel pour échanger des données. Évalué à 10.

    CSV, c’est une ligne une donnée

    Et justement, c'est faux: faire soi-même un parseur CSV est une très mauvaise idée et c'est compliqué.

    Tu viens de tomber exactement dans un des pièges que Seb cite sur son wiki.

  • [^] # Re: Root

    Posté par  (site web personnel, Mastodon) . En réponse au journal LinuxFr avec Docker. Évalué à 10.

    Pour le coup du root, j'avoue que je ne comprends pas bien comment faire pour le faire comme il faut.

    J'ai essayé au début de mettre l'instruction USER 1001 dans le Dockerfile pour linuxfr.org, mais ça m'a empêché de faire fonctionner l'upload d'avatars.

    Le problème, c'est que docker-compose fait monter le dossier public et upload, mais comme les fichiers ont mon UID (genre 20000 sur mon poste), et bien l'utilisateur du container est incapable de créer le dossier public/tmp/upload et ensuite de faire les dossiers dans upload.

    Ensuite, j'ai abandonné, car justement nginx a aussi besoin d'accéder à ces dossiers et que du coup, il fallait commencer à coordonner les UID entre l'hôte et tout ces containers.

    Finalement, j'ai laissé tomber, car ce n'est pas un déploiement pour de la production (avec Kubernetes et/ou OpenShift/okd), mais uniquement pour faire des tests sur sa machine.

    Ma conclusion sur ce sujet, c'est que je tombe exactement sur le même os que lorsque j'essaie de faire une clé USB partagée entre différents postes Linux avec des UID/GID différents. La seule solution viable, ça serait de travailler avec un système de fichier sans permissions, genre FAT32.

    Au vu de mes recherches sur le web, j'ai l'impression que tout le monde sait qu'il faudrait éviter d'utiliser root pour exécuter des Docker, mais que personne ne propose de solution pour permettre de partager les fichiers entre le host et le container.

    Si j'ai bien compris, même OpenShift essaie de forcer à ne pas utiliser l'utilisateur root, mais il fait utiliser le groupe 0 et du coup, j'ai l'impression que ça ne change rien.


    C'est une bonne idée pour les binaires, je ne connaissais pas le projet "distroless". Je n'ai pas cherché à faire plus, parce que j'utilise déjà une debian slim et le minimum de paquet nécessaire pour faire tourner les services.

    Peut être que dans l'exemple que tu as donné j'aurais pu enlevé le paquet golang, mais par contre, le ca-certificates est nécessaire pour que le service puisse se connecter aux sites exeternes en HTTPS.


    Merci beaucoup pour le retour, je vais faire des tests avec les pistes que tu m'as donné sur ces questions.