Adrien Dorsaz a écrit 972 commentaires

  • [^] # Re: Quelque chose qui m'échappe

    Posté par  (site web personnel, Mastodon) . En réponse au journal Sauvegarder le contenu d’un container Docker avec BackupPC. Évalué à 3. Dernière modification le 12 novembre 2021 à 07:24.

    Une image Docker ne démarre jamais ;-)

    Le volume est attaché au container au moment où tu créés le container.

    Avec un volume nommé, tu peux le réutiliser, même après avoir détruit le container original.

    De même, comme l'a dit PsychoFox plus bas, tu peux l'attacher à plusieurs container en même temps (mais attention à la concurrence d'accès aux fichiers !).

  • [^] # Re: Quelque chose qui m'échappe

    Posté par  (site web personnel, Mastodon) . En réponse au journal Sauvegarder le contenu d’un container Docker avec BackupPC. Évalué à 5. Dernière modification le 10 novembre 2021 à 18:49.

    Si jamais, on peut donner des noms aux volumes et tu retrouveras le dossier avec le nom correspondant sur l'hôte.

    Ça permet aussi de garder un même volume entre plusieurs démarrages de container.

  • [^] # Re: A essayer

    Posté par  (site web personnel, Mastodon) . En réponse à l’entrée du suivi Comment utiliser le refresh_token de l'API linuxfr ?. Évalué à 2 (+0/-0). Dernière modification le 27 octobre 2021 à 00:22.

    Bon pour vérifier la théorie, j'ai fais un rapide exemple avec un client JavaScript: https://projects.adorsaz.ch/adrien/example-refresh-token-for-linuxfr.org/-/blob/main/src/app.js

    Ce client est vraiment stupide: il récupère l'access_token et le refresh_token et, tout de suite après, il essaie de rafraîchir l'access_token et il affiche tout ça dans le log du serveur.

    Un exemple d'exécution sur ma machine me donne:

    GET / - - 
    code found:  ff48b...
    Access token response (status: 200):  {
      access_token: '255367...',
      token_type: 'Bearer',
      expires_in: 86400,
      refresh_token: '140a2c...',
      scope: 'account',
      created_at: 1635286565
    }
    Refresh token response (status: 200):  {
      access_token: '40dd64...',
      token_type: 'Bearer',
      expires_in: 86400,
      refresh_token: '41566c....',
      scope: 'account',
      created_at: 1635286565
    }
    GET /?code=ff48b... - - 
    

    Bien sûr, j'ai retiré mes token de l'exemple, mais je t'ai laissé les 6 premiers caractères pour que tu voies qu'ils ont bien changé.

    Edit: Comme tu le vois dans le code, il faut faire attention à ce que le POST sur /token utilise le format x-www-form-urlencoded et non pas du JSON directement. C'est pour ça que j'utilise l'API URLSearchParams: https://github.com/node-fetch/node-fetch#post-with-form-parameters

  • # A essayer

    Posté par  (site web personnel, Mastodon) . En réponse à l’entrée du suivi Comment utiliser le refresh_token de l'API linuxfr ?. Évalué à 2 (+0/-0).

    Comme indiqué sur la page https://linuxfr.org/developpeur , en théorie Doorkeeper te permet de rafraîchir ton access_token grâce au refresh_token récupéré à la connexion de l'utilisateur.

    Voir le chapitre Renewing the access token de la documentation de Doorkeeper.

    Donc, en théorie un POST sur https://linuxfr.org/api/oauth/token avec ces informations devraient suffire:

    {
    "client_id": "l'identifiant publique de ton client",
    "client_secret": "le secret de ton client",
    "redirect_uri": "l'url que ton client écoute pour la redirection",
    "grant_type": "refresh_token",
    "refresh_token": "Le refresh_token reçu en même temps que ton premier access_token"
    }

    Mais je n'ai jamais utilisé l'API donc ça me sera difficile de t'en dire plus.

    Est-ce que tu utilises une bibliothèque pour gérer OAuth ?

  • [^] # Re: Si il n'y avait que la perte d'accent...

    Posté par  (site web personnel, Mastodon) . En réponse au journal EBCDIC n'est pas compatible avec la RGPD. Évalué à 4. Dernière modification le 26 octobre 2021 à 12:45.

    A ma connaissance il n'y a que Apple qui est plus correct sur la casse (minuscules la où il faut) mais pas vu de confirmation sur les accents.

    On parle bien de l'auteur du clavier tactile d'iOS qui ne sait pas afficher les minuscules sur les touches ?

    Edit: oh, ils savent le faire depuis iOS 9 😅

  • [^] # Re: pas étonnant

    Posté par  (site web personnel, Mastodon) . En réponse au journal Un réseau offline "delay-tolerant" avec NNCP. Évalué à 3.

    Dans le même genre que Postman, j'avais trouvé Insomnia (sous licence MIT) comme client d'API REST et qui peut être étendu avec des plugins.

    Par exemple, j'emploie l'extension Global Header pour ajouter une en-tête Origin pour les APIs qui vérifient CORS. En plus de celle-ci j'emploie save access token pour configurer une en-tête Authorization avec un access token récupérer d'une requête OAuth2.

  • [^] # Re: explications please

    Posté par  (site web personnel, Mastodon) . En réponse à l’entrée du suivi Empêcher un commentaire de noter la réponse qui lui est faite. Évalué à 4 (+0/-0). Dernière modification le 11 octobre 2021 à 23:40.

    très complexe

    Il s'agit seulement d'empêcher de voter dans son propre fil (ou sous ses propres commentaires si tu préfères). Faire apparaître une bulle d'aide explicative est simple.

    L'ergonomie de LinuxFr laisse déjà à désirer et le système de karma est difficile à expliquer en quelques lignes.

    Le fait de devoir ajouter une bulle d'aide explicative montre bien que l'on est en train de complexifier encore un peu plus ce système.

    je vois déjà arriver des entrées de suivi

    … dans ta boule de cristal ; tu ne peux quand même pas te servir de tes dons de voyance comme argument ? :-)

    Je te retourne ton argument de la boule de cristal: comment peux-tu être sûr que les gens ont de la rancœur entre eux à cause des pertinents / inutiles de l'interlocuteur direct ?

    C'est impossible à savoir: d'abord les votes sont anonymes, il est donc impossible d'être sûr de l'identité de(s) personne(s) qui ont moinssés. Ensuite, il faudrait faire un sondage global pour avoir le ressenti de tout le monde.

    Je ne suis pas d'accord. Cette situation arrive fréquemment, on y retrouve les mêmes personnes qui ne se supporte plus et ont du mal à ne pas se rentrer dans le lard. Les moinssages attise leur rancœur l'une envers l'autre. Réduire l'énervement des uns et des autres est utile.

    Si elles se rentrent déjà souvent dans le lard, je pense qu'il vaut mieux en parler avec l'équipe de modération et / ou administration, car ils ont les outils pour faire des rappels à la bonne conduite et appliquer des sanctions aux intervenants.

    C'est bien pour ça que je laissais entendre que la réelle solution est l'ajout du code de bonne conduite comme proposé sur github et l'obligation de "signature" pour faire partie de la communauté LinuxFr.

  • [^] # Re: explications please

    Posté par  (site web personnel, Mastodon) . En réponse à l’entrée du suivi Empêcher un commentaire de noter la réponse qui lui est faite. Évalué à 4 (+0/-0).

    Je ne suis pas la personne qui a voté sur ton entrée de suivi (d'ailleurs, elle est repassée à 0 depuis).

    Par contre, je trouve que ça rend le système très complexe pour pas grand chose au final.

    Pour le côté "très complexe", je vois déjà arriver des entrées de suivi du style "Pourquoi je ne peux pas pertinenter / inutiler certains commentaires ?", "Pourquoi je ne peux pas voter pour/contre les commentaires de Z ?"…

    Pour le côté "pour pas grand chose", je pense qu'un seul vote "pertinent/inutile" sur un commentaire n'a pas beaucoup d'intérêt et ne permet pas de savoir si le commentaire est réellement pertinent ou inutile.

    Au final, le plus important est d'apprendre aux utilisateurs de LinuxFr de se détacher du karma et des votes qui sont là plus pour la gestion du spam que pour la gestion de la communauté.

    Un des points qui peut aider est la demande de signature d'un code de conduite, comme proposé sur github.

  • [^] # Re: Plus un

    Posté par  (site web personnel, Mastodon) . En réponse au journal merci yunohost (mais pas que) !. Évalué à 3.

    Si tu ne sais pas ce qu'est un reverse proxy, le plus simple est vraiment d'utiliser IPv6, car il permet d'avoir une adresse IP publique par machine. Comme chaque machine a une adresse publique, pas besoin de s'embêter avec un proxy.

    Si tu n'as pas de réseau IPv6 et que tu as uniquement des services en HTTP, c'est assez simple de mettre en place un Apache ou Nginx en mode reverse proxy selon le nom de domaine à atteindre.

    Si tu as d'autres outils beaucoup plus générique, il faudrait utiliser un proxy plus généraliste style "proxy sur TCP ou UDP" ou des tunnels SSH, mais dans ce cas je n'ai pas de connaissance.

  • [^] # Re: Quel est l'intéret d'avoir un filesystem qui s'occupe de l'aggrégation des disques (raid), etc

    Posté par  (site web personnel, Mastodon) . En réponse au lien Examining btrfs, Linux’s perpetually half-finished filesystem - arstechnica (via OSnews). Évalué à 3. Dernière modification le 26 septembre 2021 à 08:26.

    La seul config que j'ai eu à faire: ajouter rootdelay=10 dans la config de Grub pour la commande linux. Et ça a été nécessaire parce qu'un de mes disques était en USB et il n'était pas disponible assez vite durant le boot.

    En effet les raids 5 et 6 sont indisponibles, mais il y en a d'autres sympas comme "raid 1 sur 3 disque avec au moins 3 copies deds data".

    Et si tu fais, avec 3 disques, un "raid 1 standard avec 2 copies", btrfs te permet d'utiliser la place disponible "en trop" pour augmenter la capacité en bit du système de fichier.

  • [^] # Re: Quel est l'intéret d'avoir un filesystem qui s'occupe de l'aggrégation des disques (raid), etc

    Posté par  (site web personnel, Mastodon) . En réponse au lien Examining btrfs, Linux’s perpetually half-finished filesystem - arstechnica (via OSnews). Évalué à 6.

    Avec Btrfs, ce qui m'a séduit, c'est que je n'avais pas pu mettre la couche "raid" au début, car je n'avais qu'un seul disque.

    Quand j'ai ajouté un deuxième disque, j'ai pu dire à Btrfs "vas-y utilise ce deuxième disque pour faire du raid 1" et il l'a mis en place sans avoir eu besoin d'interrompre mon système.

    C'est quand même bien plus souple que de devoir réinstaller toute la machine lors de l'arrivée du deuxième disque.

    Un autre point séduisant de Btrfs est sa gestion des sous-volumes pour remplacer des dossiers et les partitions.

    Comme tu peux ajouter des quotas aux sous-volumes, tu peux retrouver le même avantage que les partitions qui évitent que certaines données ne prennent trop de place.

    En plus, comme tu peux faire des snapshots instantanés des sous-volumes, tu n'as même plus besoin de rsync pour faire des backups, Btrfs le fait en live et sans attente. Je ne l'ai pas encore essayé, mais tu peux même transmettre les snapshots d'un file système btrfs à un autre grâce à btrfs send | btrfs receive.

    Pour administrer sa machine, il y a encore d'autres choses sympas comme la compression automatique des fichiers possible, la copie par référence, les checksums…

  • [^] # Re: Un peu d'histoire

    Posté par  (site web personnel, Mastodon) . En réponse à l’entrée du suivi Licence d'une dépêche crée à partir d'un journal. Évalué à 2 (+0/-0).

    Et voilà le correctif dont je parlais: Pull Request 318.

    Dans ce pull request, j'ajoute également les tests que j'ai écris actuellement pour le modèle des journaux, puisque c'est eux qui m'ont aidé à trouver ce bug.

  • # Un peu d'histoire

    Posté par  (site web personnel, Mastodon) . En réponse à l’entrée du suivi Licence d'une dépêche crée à partir d'un journal. Évalué à 2 (+0/-0). Dernière modification le 25 septembre 2021 à 22:25.

    Par curiosité, j'ai cherché avec git blame la source de la ligne de code qui change la licence (cité dans l'entrée de suivi plus haut; merci à vim-fugitive pour l'aide à la navigation avec le blame).

    Je m'attendais à ce que, dans toute l'histoire, un malheureux commit aie inversé la valeur de cette ligne (soit en changeant le unless en if ou quelque chose du genre).

    En réalité cette ligne a toujours été écrite ainsi (cf le commit d'origin, en mars 2011), et du coup, j'étais un peu déçu.

    En réfléchissant un peu, je me suis dit que, en fait, si je relis en français cette ligne, elle dit met "vrai" pour le choix de la licence CC-BY-SA si c'était le cas sur le journal. Et donc, ça supposait, que le choix par défaut de la licence était false à l'époque et que, il fallait donc bien passer à true uniquement si le journal avait la licence CC-BY-SA.

    Une très rapide recherche dans les migrations SQL, m'a confirmé que, lorsque l'on a crée ce code (en mars 2011), la valeur de cc_licensed par défaut était false et qu'elle a bougé à true en décembre 2012:

    linuxfr.org $ git grep cc_licensed
    20090105234709_create_nodes.rb:      t.boolean :cc_licensed,    null: false, default: false
    20121216160203_change_default_for_cc_licensed.rb:      t.change_default :cc_licensed, true
    

    L'intention du code correspondait donc bien en 2011 à ce que je proposais dans le suivi, mais il n'a pas survécu au changement de valeur par défaut 1 année plus tard. Je vais proposer un correctif, maintenant que l'histoire m'a confirmé mon intuition :)

  • [^] # Re: Test de la dépêche en question sur alpha, pareil

    Posté par  (site web personnel, Mastodon) . En réponse à l’entrée du suivi Sommaire automatique pas toujours automatique. Évalué à 2 (+0/-0).

    J'ai ajouté un petit texte dans le wiki :)

    https://linuxfr.org/wiki/aide-edition/revisions/88

  • [^] # Re: Test de la dépêche en question sur alpha, pareil

    Posté par  (site web personnel, Mastodon) . En réponse à l’entrée du suivi Sommaire automatique pas toujours automatique. Évalué à 2 (+0/-0).

    Le sommaire est crée automatiquement à partir de 5'000 caractères dans la seconde partie.

    Là, LibreOffice me dit qu'il y a 2'974 caractères dans la seconde partie.

    Il n'y a donc pas assez de caractères dans le rendu de la seconde partie (et non pas dans le markdown).

  • [^] # Re: Précisions

    Posté par  (site web personnel, Mastodon) . En réponse à l’entrée du suivi Avoir une page des derniers commentaires en modération. Évalué à 3 (+0/-0).

    Merci pour l'idée du flux RSS, je n'y avais pas pensé :)

    J'ai proposé le correctif sur Github.

    Ça ajoute une page /comments/latest accessible par tous, car il n'y a pas d'informations spécifiques aux modérateurs et que ça permettait d'avoir un flux RSS publique.

    Comme il y a environ 1500 à 2000 commentaires chaque 15 jours sur LinuxFr (donc environ 100 à 150 par jours), j'ai fais en sorte que l'on aie 50 commentaires affichés par page. Ce nombre 50 est lui-même lié au nombre d'entrées dans le flux RSS. J'espère que ça suffira pour le flux.

    Les commentaires des 7 derniers jours y sont accessibles.

  • # Précisions

    Posté par  (site web personnel, Mastodon) . En réponse à l’entrée du suivi Avoir une page des derniers commentaires en modération. Évalué à 2 (+0/-0).

    Hello,

    Je vais essayer de reprendre un peu de temps pour le développement et je vais commencer par cette entrée.

    J'aurai besoin de plus de précisions:

    • à quoi pensez-vous quand vous dites les derniers commentaires sur le site ? Une limite comme les 200 derniers commentaires ou plutôt une limite comme les commentaires des 7 derniers jours ?

    • je n'ai pas compris le terme pagination sur l'index ? Est-ce que c'est la profondeur de la position dans le fil de commentaire ?

  • # App Icon Preview

    Posté par  (site web personnel, Mastodon) . En réponse au message Changer l'icône de certaines applications ?. Évalué à 3.

    Hello,

    J'ai entendu parlé de "App Icon Preview": https://flathub.org/apps/details/org.gnome.design.AppIconPreview

    D'après la description c'est prévu pour aider à faire des icônes pour GNOME. Peut être que ça peut t'aider ?

    J'ai juste entendu parler du nom.de l'appli, je ne l'ai pas essayée moi même…

  • [^] # Re: up

    Posté par  (site web personnel, Mastodon) . En réponse au journal Amélioration de la coloration syntaxique C dans vim. Évalué à 4.

    Au fait, il me semble que l'analyse de la syntaxe du code, c'est typiquement une des tâches du Langage Server Protocol proposé par VSCode. Il devrait être capable de résoudre ce genre de cas que tu as remonté.

    Ça paraît un peu lourd de sortir LSP pour de la coloration syntaxique, mais finalement, quand on ouvre des codes sources (en C/C++ ou autre), on va avoir rapidement besoin de l'aide d'un mini-IDE, non ?

  • [^] # Re: Vie privée ?

    Posté par  (site web personnel, Mastodon) . En réponse au lien Windows 11: TPMs and Digital Sovereignty. Évalué à 3.

    Comme pour les DRMs pour le streaming : s'ils n'implémentent pas, alors pas d'accès au contenu.

    Ça ne sera pas que dans le navigateur, mais dans l'OS aussi, c'est ce que prévoit Windows 11 apparemment.

  • [^] # Re: Les TPMs permettent aux vendeurs de vous refusez des services Oo

    Posté par  (site web personnel, Mastodon) . En réponse au lien Windows 11: TPMs and Digital Sovereignty. Évalué à 7. Dernière modification le 09 août 2021 à 08:23.

    En effet, les DRM selon le nom de l'OS existent déjà pour les services web via la lecture du User Agent.

    Seulement, le User Agent est très facilement modifiable par l'utilisateur (par exemple via des extensions Forefox).

    Avec un DRM qui dépend de la puce TPM, ça sera impossible pour l'utilisateur de gruger le vendeur. Car le vendeur aura une liste de TPM de confiance, d'après cet article.

    La seconde différence est que ce système de DRM sera disponible pour tous les programmes qui s'exécutent sur ton ordinateur.

    Actuellement, on ne connaît les DRMs standardisés que dans les applications web de streaming, là ça pourra être n'importe quelle appli.

    Le vendeur n'aura pas à inventer son propre système de DRM (Steam, Adobe, EA… ont déjà des DRMs, mais ils doivent le faire à la main et c'est possible qu'un utilisateur assez malin passe à travers leur système (par exemple via une machine virtuelle)).

    Même une machine virtuelle ne fera plus l'affaire avec les DRMs via TPM !

  • # Les TPMs permettent aux vendeurs de vous refusez des services Oo

    Posté par  (site web personnel, Mastodon) . En réponse au lien Windows 11: TPMs and Digital Sovereignty. Évalué à 10.

    Merci beaucoup pour ce lien !

    Je n'aurai jamais pensé que les TPMs pouvaient être utilisés pour créent des DRMs et rendre nos PCs aussi stupides que des téléphones Androids 😞

    L'article explique comment les TPMs permettront aux vendeurs logiciels de savoir si votre PC est "fiable" ou non. Exactement comme ils peuvent savoir sous Android si votre téléphone a été "rooté" ou non.

    Ils donnent un exemple où Netflix pourrait fournir uniquement des vidéos basses qualités si votre PC n'est pas assez fiable à leurs yeux (via Windows qui informera sur l'état de la machine grâce au TPM). Mais à mon avis, ça ira même plus loin, ils vont simplement refuser de fournir un service, comme on trouve des applications sur Android qui refuse de fonctionner si le téléphone a été rooté 😞

    Windows 11 permettra donc de réaliser des DRMs les plus fiables grâce à la perte de contrôle de votre propre machine. Et on connaît bien ici tous les problèmes que soulèvent les DRMs… (disponibilité non-fiable du contenu acheté, uniquement de la location temporaire de contenu…).

    Et comme, d'habitude, le monde Open Source aura 2 choix: soit suivre Microsoft et crée le même genre de système pour pouvoir accéder aux services, soit ne pas avoir accès aux services. Ça craint…

  • [^] # Re: Problème d'énoncé

    Posté par  (site web personnel, Mastodon) . En réponse au message Copier un fichier en fonction de sa date. Évalué à 3.

    Attention, ctime, n'est pas vraiment la *c*réation, mais le *c*hangement de certaines méta-données: https://en.wikipedia.org/wiki/MAC_times

  • [^] # Re: Sauvegarde

    Posté par  (site web personnel, Mastodon) . En réponse à l’entrée du suivi Les sauvegardes empêchent d'écrire des commentaires / contenus. Évalué à 2 (+0/-0). Dernière modification le 04 août 2021 à 21:40.

    Tout à fait, j'ai aussi entendu parlé du backup sur le slave pour mysql.

    Est-ce que c'est possible de mettre un mysql en slave sur l'infrastructure de Linuxfr.org ? Au pire, on pourrait mettre le slave sur le même serveur, mais un port différent ?

  • [^] # Re: Cas signalés

    Posté par  (site web personnel, Mastodon) . En réponse à l’entrée du suivi Les sauvegardes empêchent d'écrire des commentaires / contenus. Évalué à 2 (+0/-0).

    Et une de plus: https://linuxfr.org/suivi/erreurs-500-regulieres-pendant-la-nuit à 03:15 (enfin, 01:15 UTC)