jtremesay a écrit 433 commentaires

  • [^] # Re: Quel débit pour récupérer ses archives ?

    Posté par  (site web personnel) . En réponse au journal Borgmatic et Hetzner Storage Box, les sauvegardes pas chères. Évalué à 3 (+1/-0).

    [nix-shell:/home/jtremesay]# time borgmatic export-tar --destination - --archive latest | pv > /dev/null
    13,3GiB 0:02:53 [87,9MiB/s] [                                                   <=>                                   ]
    
  • # x

    Posté par  (site web personnel) . En réponse au journal Modèle Mythos : Anthropic bluffe, en partie. Évalué à 10 (+9/-1).

    Des fonctionnalités comme ASLR et SELinux, qui font partie de la configuration par défaut de RHEL, rendent souvent un code vulnérable difficile à exploiter de manière significative dans un environnement de production.

    pour selinux, je ne sais pas, mais pour le ASLR, le truc a l'air de réussir à bypass celui du noyal sans trop de problèmes.

    For example, the Linux kernel implements a defense technique called KASLR (kernel address space layout randomization) that illustrates why chaining is necessary. KASLR randomizes where the kernel’s code and data live in memory, so an adversary who can write to an arbitrary location in memory still doesn’t know what they’re overwriting: the write primitive is blind. But an adversary who also has a different read vulnerability can chain the two together: first, use the read vulnerability to bypass KASLR, and second, use the write vulnerability to change the data structure that grants them elevated privileges.

    We have nearly a dozen examples of Mythos Preview successfully chaining together two, three, and sometimes four vulnerabilities in order to construct a functional exploit on the Linux kernel. For example, in one case, Mythos Preview used one vulnerability to bypass KASLR, used another vulnerability to read the contents of an important struct, used a third vulnerability to write to a previously-freed heap object, and then chained this with a heap spray that placed a struct exactly where the write would land, ultimately granting the user root permissions.

    (y'a un exemple plus concret vachement plus bas dans l'article)

    Certaines vulnérabilités identifiées par l’IA sont en réalité des bugs fonctionnels sans véritable possibilité d’exploitation.

    certaines. Du coup ça peut vouloir dire que beaucoup de vulnérabilités identifies ont une véritable possibilité d'exploitation.

    De nombreux problèmes, comme ceux liés au protocole NFS, sont considérés comme présentant un risque faible dans l’écosystème de Red Hat, car les daemons concernés sont rarement exposés à Internet lorsque l’architecture de sécurité est correctement conçue.

    certes. mais une fois que mythos a réussi à pénétrer ton SI, il va peut-être finir par croiser ton nfs troué.

    Cf Stuxnet pour un exemple de machin capables de se propager loin dans un environnement assez exotique.

    (le gras est de moi)

    le gras c'est la vie

  • [^] # Re: Quel débit pour récupérer ses archives ?

    Posté par  (site web personnel) . En réponse au journal Borgmatic et Hetzner Storage Box, les sauvegardes pas chères. Évalué à 3 (+1/-0).

    bah je fais confiance au truc de borgmatic qui vérifie ponctuellement les backups. Mais sinon non. J'vérifie pas, j'fais d'essais de restauration, j'ai aucune procédure préparée pour quand j'aurais un problème. Dans la pratique, je continue à vivre comme si je n'avais pas de système de sauvegarde.

  • [^] # Re: Tarif ?

    Posté par  (site web personnel) . En réponse au journal Borgmatic et Hetzner Storage Box, les sauvegardes pas chères. Évalué à 3 (+1/-0).

    j'ai bêtement recopié les valeurs que m'a donnait borgmatic :

                       Original size      Compressed size    Deduplicated size
    

    This archive: 403.55 GB 388.38 GB 777.78 MB
    All archives: 15.81 TB 15.21 TB 319.07 GB

    La dernière sauvegarde fait 403GB "brute" (taille réelle des fichiers sur le disque), 388GB une fois compressés (y'a beaucoup d'images et de données binaires, ça compresse mal), et 777MB une fois dédupliquées. Mais ça c'est du au fait que le contenu de mes sauvegardes varie peu au jour le jour.

    Faut voir ça comme un système de sauvegarde incrémentale à la git : chaque commit peut générer un checkout énorme, mais le dépot lui meme reste léger parce qu'on enregistre uniquement le delta entre les commits.

  • [^] # Re: Guix

    Posté par  (site web personnel) . En réponse au journal NixOS et Colmena, la prod déclarative du pauvre. Évalué à 2 (+0/-0).

    j'avais testé à la rache pour un desktop, mais j'avais préféré nixos pour je ne sais plus quels raisons. Je crois qu'il y avait notamment la flemme de devoir utiliser des dépots tiers pour accéder à des trucs proprios genre steam ou les drivers nvidia.

  • [^] # Re: terraform + OVH

    Posté par  (site web personnel) . En réponse au journal NixOS et Colmena, la prod déclarative du pauvre. Évalué à 2 (+0/-0).

    Cela dit, Terraform c'est pas libre.

    j'utilise terraform en tant qu'antonomase. Bien sûr que j'aurai utilisé opentofu :)

    A priori, il y a un provider Terraform pour les serveurs dédiés OVH

    c'est pas le provisionnement du serveur physique que je veux gérer de manière déclarative, mais ce que je fais tourner dessus. Et là, pour les 30s que j'ai passé sur la question, terraform/opentofu, a l'air d'être un choix assez bof pour gérer un os traditionnel.

    Le module incus a l'air de faire ce que je veux, mais je verrais ça dans quelques années quand kimsufi renouvellera ses gammes.

  • [^] # Re: s3 ?

    Posté par  (site web personnel) . En réponse au journal Borgmatic et Hetzner Storage Box, les sauvegardes pas chères. Évalué à 5 (+3/-0). Dernière modification le 10 avril 2026 à 14:11.

    ils ont une offre de stockage objet compatible S3 https://www.hetzner.com/storage/object-storage/
    C'est plus cher que la storage box et j'ai pas vu d'options glacier spécifique.

  • [^] # Re: Quel débit pour récupérer ses archives ?

    Posté par  (site web personnel) . En réponse au journal Borgmatic et Hetzner Storage Box, les sauvegardes pas chères. Évalué à 2 (+0/-0).

    aucune idée, je n'ai jamais eu à faire ça et je brûle régulièrement un cierge pour ne jamais avoir à faire ça.

  • [^] # Re: Tarif ?

    Posté par  (site web personnel) . En réponse au journal Borgmatic et Hetzner Storage Box, les sauvegardes pas chères. Évalué à 7 (+6/-1).

    J'ai mal tourné ma phrase. J'ai actuellement 16TB d'archives gérés par Borgmatic. Mais grace au mécanisme de compression et déduplication, ça n'occupe réellement que 300G de stockage, rentrant dans l'offre à 1To/4€/mois

  • [^] # Re: En dehors de Docker : au revoir

    Posté par  (site web personnel) . En réponse au lien OpenCloud - L'alternative à Nextcloud en Go et sans base de données. Évalué à 4 (+2/-0).

    (je présente mes excuses pour la forme du message ci dessus. Je voulais juste manifester mon incompréhension face au message de Glandos<, pas l’agresser)

  • [^] # Re: En dehors de Docker : au revoir

    Posté par  (site web personnel) . En réponse au lien OpenCloud - L'alternative à Nextcloud en Go et sans base de données. Évalué à 10 (+9/-0).

    Ouais, donc c'est un binaire en Go, mais en fait, ça doit passer par Docker Compose

    Il dit qu'il ne voit pas le rapport.

    Et le fichier principal est correctement opaque.

    De quoi tu parles ? De mon côté, au contraire, j'aimerai bien en voir plus souvent des compose.yml avec le gros des variables de config prélistés afin de ne pas avoir à me faire chier à les chercher au fin fond de la doc

  • [^] # Re: et donc?

    Posté par  (site web personnel) . En réponse au journal Comparatif : 6 LLMs locaux face à un exercice Python simple. Évalué à 5 (+3/-0).

    En attendant d'avoir un cahier des charger plus précis, je choisi la solution la plus simple pour avoir rapidement un truc fonctionnel.
    Si VRAIMENT tu dois convertir des CSV de plusieurs teraoctets, ouvre un ticket.

  • [^] # Re: et donc?

    Posté par  (site web personnel) . En réponse au journal Comparatif : 6 LLMs locaux face à un exercice Python simple. Évalué à 8 (+6/-0).

    déjà, en tant que lead dev je demanderai des clarifications sur le cahier des charges.

    Je voudrais que tu me fasses une fonction en Python pour parser un fichier CSV et le transformer en JSON.

    y'a plein de moyen de l’interpréter. La fonction doit créer un fichier json ou retourner une str ? Comment représenter les données ? tableau de tableaux ? structure de tableaux ? tableau de structures ?

    CSV d'entrée

    field1,field2,field3,field4
    value1,value2,value3,value4
    value5,value6,value7,value8
    value9,value10,value11,value12
    

    Matrices

    [
        ["field1", "field2", "field3", "field4"],
        ["value1", "value2", "value3", "value4"],
        ["value5", "value6", "value7", "value8"],
        ["value9", "value10", "value11", "value12"]
    ]

    Structure de tableaux

    {
        "field1": ["value1", "value5", "value9"],
        "field2": ["value2", "value6", "value10"],
        "field3": ["value3", "value7", "value11"],
        "field4": ["value4", "value8", "value12"]
    }

    Tableaux de structures :

    [
        {
            "field1": "value1",
            "field2": "value2",
            "field3": "value3",
            "field4": "value4"
        },
        {
            "field1": "value5",
            "field2": "value6",
            "field3": "value7",
            "field4": "value8"
        },
        {
            "field1": "value9",
            "field2": "value10",
            "field3": "value11",
            "field4": "value12"
        }
    ]

    Bon, ok, probablement personne ne voudrait la première option. Mais selon les domaines, l'option 2 peut être préférable à la 3 ou réciproquement.

    Pis je demanderais à quoi j'ai accès.

    Si je suis dans un contexte de datascience, je me fais pas chier et j'utilise polars/pandas

    from pathlib import Path
    from typing import Optional
    
    import polars as pl
    
    
    def csv2json(csv_file: Path, json_file: Optional[Path] = None) -> None:
        if not json_file:
            json_file = csv_file.with_suffix(".json")
    
        pl.read_csv(csv_file).write_json(json_file)
    
    
    if __name__ == "__main__":
        csv2json(Path("bla.csv"))

    Si je suis forcé d'utiliser la stdlib :

    import csv
    import json
    from pathlib import Path
    from typing import Optional
    
    
    def csv2json(csv_file: Path, json_file: Optional[Path] = None) -> None:
        if not json_file:
            json_file = csv_file.with_suffix(".json")
    
        with csv_file.open() as f:
            r = csv.DictReader(f)
            rows = list(r)
    
        with json_file.open("w") as f:
            json.dump(rows, f)
    
    
    if __name__ == "__main__":
        csv2json(Path("bla.csv"))
  • [^] # Re: Selon les règles internationales bien établies , si quelqu'un veut utiliser ou republier ton travail il doit d'abord obtenir l'autorisation.

    Posté par  (site web personnel) . En réponse au journal OnlyOffice vs Euro-Office : une faille empêchant les forks dans AGPLv3 ?. Évalué à 2 (+1/-1).

    'According to established international rules, if someone wants to use or republish another’s work, they must first seek permission. '
    Quelqu'un lui a t'il expliqué que publier son travail en AGPL n'était alors pas l'idée la plus lumineuse ?

    Je veux bien entendre qu'une entreprise souhaite protéger sa propriété intellectuelle et que seul les trucs qu'elle approuve puisse porter sa marque afin de se protéger des parasites qui feraient de la merde avec sa marque. Si ça s'appelle OnlyOffice, alors c'est approuvé par la boite. Contraposément, si c'est pas approuvé par la boite, alors ça peut pas s'appeler OnlyOffice.

    C'est ce que fait la MoFo avec Firefox :

    The name "Mozilla Firefox" is a registered trademark of Mozilla; along with the official Firefox logo, it may only be used under certain terms and conditions. Anyone may redistribute the official binaries in unmodified form and use the Firefox name and branding for such distribution, but restrictions are placed on distributions that modify the underlying source code.
    (…)
    Distributing modified versions of Firefox under the "Firefox" name required explicit approval from Mozilla for the changes made to the underlying code, and required the use of all of the official branding. For example, it was not permissible to use the name "Firefox" without also using the official logo.

    (source)

    Mais là, clairement, on est en plein FLOSS-washing en prétendant faire du Libre tout en imposant des conditions qui restreignent les libertés faisant l'esprit de la AGPL.

    Déjà son choix de supporter OOXML….

    J'ai lu leur réponse. Une hérésie selon notre vision Libriste, totalement logique quand on tiens compte du fait que c'est une entreprise qui vend un service à des utilisateurs qui sont potentiellement des Mme Michu ou qui devront interagir avec des Mme Michu. Malheureusement, le monde en dehors de notre bulle utilise beaucoup Microsoft Office et Google Doc.

    Mais sur le fond je suis d'accord avec toi, et si un jour je dois déployer un machinOffice en ligne, ça ne sera clairement pas OnlyOffice.

  • [^] # Re: Nintendo

    Posté par  (site web personnel) . En réponse au journal OnlyOffice vs Euro-Office : une faille empêchant les forks dans AGPLv3 ?. Évalué à 3 (+1/-0).

    Ici aussi il s'agit entre autres de l'usage d'une marque commerciale.

    Ma faute. Je n'aurais pas du parler de copyright mais de propriété intellectuelle.

    Ce qui est assez proche de ce que Sega a fait sur la Genesis, à la différence que Sega a perdu son procès face à Accolade en 1992.

    Même si il ne s'agit pas de copyright pour Sega mais de trademark, l'idée était sensiblement la même (mais je ne sais pas si le magouille de Nintendo pour la Game Boy a été examiné par une cour, au contraire de la protection de la NES).

    J'ai peut-être mélangé toutes ces affaires dans ma tête :)

  • # Nintendo

    Posté par  (site web personnel) . En réponse au journal OnlyOffice vs Euro-Office : une faille empêchant les forks dans AGPLv3 ?. Évalué à 9 (+7/-0).

    Ça rappel un peu Nintendo et les cartouches de Gameboy : l'en-tête de la cartouche doit contenir le logo de Nintendo, sinon la Gameboy refuse de démarrer.

    Mais si tu inclus le logo dans ta ROM pour faire tes propres cartouches, pouf, violation du copyright de Nintendo !

    https://gbdev.gg8.se/wiki/articles/The_Cartridge_Header#0104-0133_-_Nintendo_Logo

  • [^] # Re: moui

    Posté par  (site web personnel) . En réponse au lien Nouvel effet secondaire pervers du pillage massif du web par les entreprises d'IA (robots BnF empêchés de faire leur travail). Évalué à 3 (+2/-1).

    j'venais juste pour dire que la contrefaçon n'est pas du vol.

  • [^] # Re: moui

    Posté par  (site web personnel) . En réponse au lien Nouvel effet secondaire pervers du pillage massif du web par les entreprises d'IA (robots BnF empêchés de faire leur travail). Évalué à 6 (+5/-1).

    Copier n'est pas voler
    Voler un truc, c'est l'retirer
    Le copier c'est l'ajouter
    Ça sert à ça copier

    Copier n'est pas voler
    Si je copie le tiens, tu n'le perds pas
    Un pour moi et un pour toi
    Copier ça sert à ça

    Si je vole ton vélo, tu dois prendre le bus
    Si je ne fais que le copier, y'a un cycliste en plus !

    source

  • [^] # Re: Joli

    Posté par  (site web personnel) . En réponse au journal Docker swarm et CI, les contextes à la rescousse. Évalué à 4 (+2/-0).

    j'utilise docker compose et non swarm

    à l'époque où j'avais monté ce serveur, docker compose était présenté comme un truc à utilisé uniquement pour les développements. Et vu la simplicité de Swarm (même avec un seul node), j'ai pas eu à changer mes habitudes.

    Donc pas besoin de le "configurer" qui est le reproche que tu fais a portainer si j'ai bien compris.

    Ça me faisait déjà chier d'avoir une dépendance aussi lourde juste pour gérer le redeploy. Mais ouais, en plus le fait de devoir pré-créer la stack dans portainer m'a incité à chercher une solution plus simple

    J’étais tombe notamment sur Gantry qui est specifique a swarm et qui pourrait t’intéresser

    Merci !

    Pour ma part, j'ai considéré que le coup de la clé SSH avec droits root sur Github était rédhibitoire

    tu noteras quand même que dans ma config la clé SSH ne permet que de se connecter à un simple utilisateur qui n'a accès qu'à un sous ensemble de docker.

    mais ouais, comme j'ai pas encore configuré docker ou podman en rootless; si quelqu'un choppe la clé, il peut très bien faire docker --context monserveur run -it -v /:/mnt ubuntu et là je suis mort :D

  • # Merci

    Posté par  (site web personnel) . En réponse à la dépêche Nouvelles sur l’IA de février 2026. Évalué à 10 (+8/-0).

    Merci de prendre le temps de nous faire ce petit résumé mensuel :)

  • [^] # Re: curl-impersonate ?

    Posté par  (site web personnel) . En réponse au journal Selenium >> Anubis et cie. Évalué à 5.

    un script capable de gérer du http, du js, du cookie et la glue entre tout ça, ça commence à sacrément ressembler à un navigateur web.

  • [^] # Re: Un peu de détails

    Posté par  (site web personnel) . En réponse au lien Et si votre PC actuel était le dernier ?. Évalué à 6.

    C'est du katabana, système d'écriture syllabique japonais pour transcrire les mots d'origine étrangère.

    マ -> Ma 
    リ -> Ri
    ウ -> U
    ス -> Su
    

    Donc au bluff, je dirais que le propriétaire du blog s'appelle Marius.

  • [^] # Re: texte mort-né ?

    Posté par  (site web personnel) . En réponse au journal Sur la proposition de loi visant à protéger les mineurs des risques auxquels les expose l’utilisation des réseaux sociaux. Évalué à 4.

    J'ai pas défini "plateforme en ligne" utilisé dans "accès à un service de réseau social en ligne fourni par une plateforme en ligne est interdit aux mineurs de quinze ans"

    Réglement blablabla, Article 3, paragraphe i :

    “plateforme en ligne”: un service d’hébergement qui, à la demande d’un destinataire du service, stocke et diffuse au public des informations, à moins que cette activité ne soit une caractéristique mineure et purement accessoire d’un autre service ou une fonctionnalité mineure du service principal qui, pour des raisons objectives et techniques, ne peut être utilisée sans cet autre service, et pour autant que l’intégration de cette caractéristique ou de cette fonctionnalité à l’autre service ne soit pas un moyen de contourner l’applicabilité du présent règlement;

    Àma, le chat d'un MMORPG est plus une caractéristique mineure que le véritable service vendu, et donc ne serait pas concerné; mais je ne suis pas un juriste.

    Mais sinon (hasard de calendrier ?), Roblox a commencé a bloqué l'accès du chat aux mineurs.
    https://about.roblox.com/newsroom/2026/01/roblox-age-checks-required-to-chat

  • [^] # Re: texte mort-né ?

    Posté par  (site web personnel) . En réponse au journal Sur la proposition de loi visant à protéger les mineurs des risques auxquels les expose l’utilisation des réseaux sociaux. Évalué à 4.

    Ainsi, il n’y a pas vraiment de définition de ce qu’est un réseau social ni de renvoi vers les définitions du droit communautaire.

    Ben si ?

    Loi n° 2004-575 du 21 juin 2004 pour la confiance dans l'économie numérique, Titre 1er, Chapitre II, Article 6, Alinéa 5 :

    1. On entend par “ service de réseaux sociaux en ligne ” un service défini au paragraphe 7 de l'article 2 du règlement (UE) 2022/1925 du Parlement européen et du Conseil du 14 septembre 2022 relatif aux marchés contestables et équitables dans le secteur numérique et modifiant les directives (UE) 2019/1937 et (UE) 2020/1828 (règlement sur les marchés numériques).

    Règlement (UE) 2022/1925 du Parlement européen, Article 2, Paragraphe 7 :

    7) «service de réseaux sociaux en ligne»: une plateforme permettant aux utilisateurs finaux de se connecter ainsi que de communiquer entre eux, de partager des contenus et de découvrir d’autres utilisateurs et d’autres contenus, sur plusieurs appareils et, en particulier, au moyen de conversations en ligne (chats), de publications (posts), de vidéos et de recommandations;

    (du coup j'apprends que LinuxFR est un réseau social)

  • # texte de la loi

    Posté par  (site web personnel) . En réponse au journal Sur la proposition de loi visant à protéger les mineurs des risques auxquels les expose l’utilisation des réseaux sociaux. Évalué à 4.

    Dans la version actuelle du texte tel qu'adopté par l'Assemblé, ça dit juste

    I. – L’accès à un service de réseau social en ligne fourni par une plateforme en ligne est interdit aux mineurs de quinze ans

    Je n'ai rien vu à propos de «les services permettant des interactions, des diffusions publiques ou la participation à des communautés d’utilisateurs».