barmic 🩩 a Ă©crit 6221 commentaires

  • [^] # Re: banque sans appli ?

    PostĂ© par . En rĂ©ponse au journal OĂč je me cherche une banque. ÉvaluĂ© Ă  2.

    Techniquement je pense qu'une banque française n'est pas nécessaire, il faut qu'une opération soit faite avec un compte français. Comme il a était créé suite à un G7 je présume qu'il a des homologue dans différents pays occidentale.

    Mais j'espérais surtout que la boutade soit évidente.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • # Conseil

    PostĂ© par . En rĂ©ponse au journal La galĂšre de Python en dĂ©ploiement. ÉvaluĂ© Ă  3.

    PS : Peut-ĂȘtre n'ais-je pas fait les meilleurs choix. Je suis ouvert aux rĂ©flexions en commentaires.

    En toute humilité

    1. Les logs étaient directement écris dans le /var/log/openhems, il faut un montage (Mais j'ai encore des problÚmes là).

    Écris sur ta sortie standard. Ça fait parti des 12 facteurs https://12factor.net/fr/logs

    Je veux que l'utilisateur puisse autoriser manuellement la maintenance.

    Je suis pas sûr de comprendre les tenants et les aboutissants, mais ne le fait pas trop.

    Pour l'un comme pour l'autre l'idée c'est que ça n'est pas le rÎle du container de s'en occuper et c'est à l'intégration de faire les choix.

    Tu peux :

    • dĂ©crire le besoin et laisser Ă  tes utilisateurs le boulot
    • faire une installation clef en main qui demandera de faire les glues autour avec un paquet de distribution, un script d'installation ou autre
    • plonger la tĂȘte la premiĂšre (le reste suivra) et packager pour un orchestrateur par exemple avec un chart helm pour kube

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Container ou rien

    PostĂ© par . En rĂ©ponse au journal La galĂšre de Python en dĂ©ploiement. ÉvaluĂ© Ă  2.

    Les containers c'est nickel pour packager pour de la prod. Mais pour itérer en dev ....

    Ce que tu décris c'est faire ce qui est en prod pour du développement ce n'est pas ce qu'il faut faire.

    Tu utilise un dockerfile qui va bind ton dossier courant dans le container au lieu de faire une copie, c'est plus rapide et ça permet d'itérer sans problÚme.

    Pour faire du vite fais tu peut mĂȘme te passer de dockerfile. De tĂȘte c'est de l'ordre

    name='MyProject'
    # créé un container 'MyProject' en y installant les dépendances
    docker run -it --name $name --mount type=bind,src=$PWD,dst=/data python:3.13 pip install -r /data/requirements.txt
    # utilise le container pour l'executer ton script
    docker start -it --mount type=bind,src=$PWD,dst=/data python:3.13 $name python mon_script.py mon_input > mon_output

    Tu peut soit détruire et reconstruire le conteneur quand tu change une dépendance soit faire un start pour mettre à jour les dépendances.

    Il est aussi possible d'utiliser docker compose qui va faire que tu ne joue plus qu'avec des docker compose up ou down (docker compose c'est un plugin de docker et pas un orchestrateur).

    Évidement tu peut utiliser des alias ou des choses comme just, tasks ou l'outil de build qui te plaĂźt. Docker apporte d'autres Ă©lĂ©ments comme le fait de cloisonner ce que tu lance sur ta machine pour embĂȘter ceux qui s'adonneraient Ă  des supply chain attack. Et bien sĂ»r si tu a besoin d'une base de donnĂ©es Ă  cĂŽtĂ© c'est tout de mĂȘme pratique.

    "En vrai les conteneurs sont une solution universelle" pour bien se faire ch*** pour rien.

    J'ai du mal à comprendre ta démarche. PlutÎt que de t'interroger sur la pratique, tu pars sur ton à priori. Tu te doute bien que si certains le font c'est que c'est pratique pour eux.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Retour de l'enseignement en France au lycĂ©e

    PostĂ© par . En rĂ©ponse au lien Apprendre la programmation en Python n'est pas plus facile qu'en Java ou en C++. ÉvaluĂ© Ă  2.

    Quel est le problĂšme avec le hello world en java ?

    Pour ĂȘtre parfaitement honnĂȘte c'est encore en preview, mais je tiens Ă  souligner qu'il ne demande pas d'Ă©tape de compilation.

    MĂȘme avec la version LTS tu met dans un fichier hello.java

    class hello {
     public static void main(String[] argv) {
     System.out.println("Hello world!");
     }
    }
    % java hello.java
    Hello world!
    

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: banque sans appli ?

    PostĂ© par . En rĂ©ponse au journal OĂč je me cherche une banque. ÉvaluĂ© Ă  3.

    au moins 16 [banques] dans 3 pays

    TRACFIN est sur tes cĂŽtes

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • # D[iĂ©]fĂ©rer

    PostĂ© par . En rĂ©ponse Ă  la dĂ©pĂȘche Lettre d'information XMPP d'octobre 2024. ÉvaluĂ© Ă  2.

    Extensions déférées

    Si une XEP expĂ©rimentale n’est pas mise Ă  jour pendant plus de douze mois, elle sera dĂ©placĂ©e de "ExpĂ©rimental" Ă  "DiffĂ©rĂ©e". Une mise Ă  jour ultĂ©rieure permettra de remettre la XEP Ă  l’état "ExpĂ©rimental".

    Pour la cohérence si j'en crois la version anglaise c'est bien "déférée" et non "différée" j'aurais pu comprendre l'un comme l'autre.

    AMHA ça pourrait ĂȘtre bien de prĂ©senter le processus avec un diagramme par exemple avec une machine Ă  Ă©tats.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Perplexe

    PostĂ© par . En rĂ©ponse au journal UV un Ă©niĂšme packageur python. ÉvaluĂ© Ă  6.

    Mon avis personnel c'est que je ressens ça comme des outils invasifs. Jusque là l'écosystÚme Python a toujours été autonome, on a donc toujours eu la possibilité de faire des contributions en Python pour nos outils en Python.

    Il me semble que l'une des particularité de l'écosystÚme python c'est d'avoir toujours eu une grande permissivité en vers le code natif avec des bibliothÚques comme numpy pour le plus évident qui mixent du code python et du code C.

    C'est toujours plus satisfaisant d'avoir les outils dans le mĂȘme langages, mais le plafond de performance de python et de rust sont pas les mĂȘme.

    AprĂšs c'est un outil de plus, il y en aura 5 nouveaux d'ici le printemps.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: java bien

    PostĂ© par . En rĂ©ponse au journal La galĂšre de Python en dĂ©ploiement. ÉvaluĂ© Ă  3.

    Tu peux mĂȘme le faire en java avec jbang.

    Mais pour l'un comme pour l'autre je n'ai pas trouvé d'IDE qui me supporte correctement. C'est à dire qui tire les dépendances et ne te met pas des erreurs partout et peut faire de l'autocomplétion.

    Kotlin a une fonctionnalitĂ© similaire en expĂ©rimentation ça dĂ©cidera peut ĂȘtre a donner un support correct Ă  intellij

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Debian ne pip plus ?

    PostĂ© par . En rĂ©ponse au journal La galĂšre de Python en dĂ©ploiement. ÉvaluĂ© Ă  3. DerniĂšre modification le 24 dĂ©cembre 2024 Ă  19:31.

    Ça vient de pip 21.1 (ça a Ă©tait intĂ©grĂ© comme un bug fix) en avril 2021 et toute la discussion se trouve lĂ  : Discourage usage of pip as root.

    Edit: Pardon c'est une autre modification aussi de mai 2021 : PEP 668 – Marking Python base environments as "externally managed"

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: java bien

    PostĂ© par . En rĂ©ponse au journal La galĂšre de Python en dĂ©ploiement. ÉvaluĂ© Ă  3.

    Je n'avais pas fait gaffe mais oui on utilise Ă©normĂ©ment de bibliothĂšque en Java. Ce qui fait que java est diffĂ©rent de python c'est le classpath. Un programme java a une configuration lui indiquant la liste de ses dĂ©pendances, il n'y a donc aucun problĂšme Ă  avoir plusieurs versions d'une bibliothĂšque dans des versions diffĂ©rentes qui sont utilisĂ©es en mĂȘme temps.

    Qu'est-ce qui est complexe lĂ  dedans ?

    C'est un peu verbeux, mĂȘme maven se prĂ©pare a faire en sorte que ce soit une seule ligne (pour maven 5 il me semble, maven 4 - qui est en RC2 - Ă©tant la prĂ©paration de la version 5).

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Ah les devs ...

    PostĂ© par . En rĂ©ponse au journal La galĂšre de Python en dĂ©ploiement. ÉvaluĂ© Ă  4.

    chaque projet devrait avoir son environnement créé avec le module venv et ce n'est pas la peine de le suivre avec git, un venv python c'est jetable et facile Ă  reconstruire, par contre le fichier requirements.txt (pip freeze > requirements.txt) lui doit ĂȘtre suivie avec git

    Moi je me suis trouvé un champion, il gÚre venv pour moi et je commit 3 fichiers (un lock file, un pour la version de python et un pour la description du projet) et pour les cas les plus simples (ce que je fais le plus) il peut simplement se baser sur un commentaire dans le fichier.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Rust ?

    PostĂ© par . En rĂ©ponse au journal UV un Ă©niĂšme packageur python. ÉvaluĂ© Ă  9.

    Pour le coup non puisque je ne le compile pas moi-mĂȘme j'ai dĂ©cidĂ© il y a bien longtemps de faire confiance Ă  mon gestionnaire de paquet. Ça demande d'installer quelque chose plutĂŽt que d'utiliser ce qui est dans une installation de python vanilla (ou en tout cas ce qui est sur ma machine), mais je trouve que le confort de l'usage en vaut la peine.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: SĂ©rie d'articles

    PostĂ© par . En rĂ©ponse au journal UV un Ă©niĂšme packageur python. ÉvaluĂ© Ă  4.

    Oui j'ai oublié d'ajouter le lien aprÚs la rédaction et j'ai toujours du mal à la retrouver.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Non

    PostĂ© par . En rĂ©ponse au journal Travail bĂ©nĂ©vole dans le monde du logiciel libre. ÉvaluĂ© Ă  0.

    Quand c'est amateur oui, mais quand c'est RedHat c'est difficile Ă  invoquer.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Non

    PostĂ© par . En rĂ©ponse au journal Travail bĂ©nĂ©vole dans le monde du logiciel libre. ÉvaluĂ© Ă  1.

    Il me semble que le point est un peu différent. Prenons un logiciel comme Ansible, il appartiens à RedHat ou IBM, ces entreprises paient des développeurs pour travailler dessus. Moi aussi développeurs de profession est-ce que j'ai réellement du point de vu de l'URSAFF le droit de contribuer bénévolement à Ansible (j'ai aucune idée de s'ils acceptent les contributions extérieures) ?

    Je peux tout Ă  fait comprendre qu'il s'agit lĂ  d'un cas oĂč mon travail reprĂ©sente une concurrence dĂ©loyale Ă  l'embauche chez IBM/RH et que non seulement ça tomberait sous le coup de la loi mais que c'est rĂ©ellement ce que le lĂ©gislateur a tentĂ© d'empĂȘcher.

    C'est différent pour le logiciel qui sont géré par des fondations par exemple.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Non

    PostĂ© par . En rĂ©ponse au journal Travail bĂ©nĂ©vole dans le monde du logiciel libre. ÉvaluĂ© Ă  1.

    Devrait-on interdire le bénévolat, quelque soit le secteur d'activité, au prétexte que certains vont faire du profit, avec ou sans contrepartie, grùce à cette activité ?

    Je ne sais pas comment ça se passe d'ailleurs en France. Si le logiciel est clairement maintenu par une entreprise, je vois mal comment le distinguer d'un travail dĂ©guisĂ© (et je suis mĂȘme pas sĂ»r que ça n'en soit pas).

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Who's that guy ?

    PostĂ© par . En rĂ©ponse au lien Software is Way Less Performant Today. ÉvaluĂ© Ă  1.

    jour au lendemain

    Je doute que ce soit arrivĂ©. Je pense que c'est arrivĂ© lors d'une mise Ă  jour. Et c'est Ă  voir avec les dĂ©veloppeurs de savoir pourquoi est-ce qu'ils ont retirer le support. Il y a pleins de raisons possibles (des remontĂ©s de bugs dessus avec personnes dans l'Ă©quipe en mesure de les reproduire/tester, volontĂ© de garder un code simple, impossibilitĂ© de faire quelque chose qu'ils voudraient avec OpenGL4, une dĂ©pendance qu'ils utilisent qui ne supporte plus OpenGL4,...). Ça t'Ă©nerve peut ĂȘtre, mais c'est Ă  voir avec les dĂ©veloppeurs.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Who's that guy ?

    PostĂ© par . En rĂ©ponse au lien Software is Way Less Performant Today. ÉvaluĂ© Ă  1.

    Quand on y pense, mĂȘme les choses comme X11/Wayland, c'est pareil.

    Pour ce cas lĂ , ça pourrait ĂȘtre au linkage avoir une implĂ©mentation pour chacun pour le cas des stack graphiques.

    [...]

    Si tu parles de chargement dynamique, du type tu as une bibliothÚque avec les implémentations génériques, une bibliothÚque avec implémentations SSE2, etc. Puis tu choisis quelle version charger à l'exécution.

    Alors oui je parlais Ă©videmment du linkage dynamique le link des bibliothĂšque pour ĂȘtre statique ou dynamique

    Le "pour ce cas lĂ " fait rĂ©fĂ©rence au cas oĂč tu as une implĂ©mentation X11 (xcb ou xlib pour ĂȘtre exact) et wayland (et frame buffer et d'autres choses si besoin) et il permet de ne pas avoir a implĂ©menter la sĂ©lection dans ton code. L'installation n'installe que l'un ou que l'autre ou la distribution peut te faire linker avec l'implĂ©mentation qui correspond Ă  ce qui correspond actuellement Ă  l'environnement. C'est en ça que le fait qu'il y a pleins de techniques pour faire de la sĂ©lection tardives d'implĂ©mentation et que le fait que ça existe pour X/Wayland n'indique pas du tout que c'est possible par ailleurs.

    MĂȘme sans ça le fait que le serveur d'affichage te permet de dĂ©tecter sa prĂ©sence n'indique pas que le CPU te permet de savoir quel jeu d'instruction existe ou pas.

    Bref c'est intĂ©ressant de savoir que cpuid rĂ©cupĂšre ces informations depuis le CPU lui-mĂȘme et pas depuis une base de connaissance.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Who's that guy ?

    PostĂ© par . En rĂ©ponse au lien Software is Way Less Performant Today. ÉvaluĂ© Ă  2.

    Quand on y pense, mĂȘme les choses comme X11/Wayland, c'est pareil.

    C'est pas le concept gĂ©nĂ©rique qui est oubliĂ©, mais la possibilitĂ© de dĂ©couvrir Ă  l'exĂ©cution ce qui est disponible ou non sur le cpu. Surtout que les techniques peuvent ĂȘtre trĂšs diffĂ©rentes. Pour ce cas lĂ , ça pourrait ĂȘtre au linkage avoir une implĂ©mentation pour chacun pour le cas des stack graphiques

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Who's that guy ?

    PostĂ© par . En rĂ©ponse au lien Software is Way Less Performant Today. ÉvaluĂ© Ă  3.

    Je savais pas (ou j'ai oublié) qu'on pouvait avoir un branchement au runtime pour en vérifiant l'existence des instructions.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Who's that guy ?

    PostĂ© par . En rĂ©ponse au lien Software is Way Less Performant Today. ÉvaluĂ© Ă  3. DerniĂšre modification le 18 dĂ©cembre 2024 Ă  12:01.

    OpenMP ne peut pas inventer le processeur sur le quel il va tourner. Donc ça va dĂ©pendre de la cible que tu donne Ă  ton compilateur. Tout le point plus haut est de justement ĂȘtre en mesure d'utiliser les instructions de ton CPU qui vont permettre d’accĂ©lĂ©rer l’exĂ©cution.

    Il n'y a pas vraiment de magie pour ça ou plutÎt il y en a une mais elle est pas gratuite c'est d'avoir du JIT.

    L'idĂ©e c'est de compiler le code sur la machine cible au moment oĂč tu as sais quel CPU tu utilise et tu as des stats pour faire de la compilation guidĂ© par des profile. C'est java et probablement C#. AprĂšs il faut que le code intermĂ©diaire aide Ă  trouver les optimisations possibles donc par exemple ai une abstraction de SIMD.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: je reste septique sur un point ...

    PostĂ© par . En rĂ©ponse Ă  la dĂ©pĂȘche Deno 2.0 est lĂ . ÉvaluĂ© Ă  2.

    bien vu

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: je reste septique sur un point ...

    PostĂ© par . En rĂ©ponse Ă  la dĂ©pĂȘche Deno 2.0 est lĂ . ÉvaluĂ© Ă  2.

    En fait en reformulant, j'essaie de comprendre l'intĂ©rĂȘt de l'un par rapport Ă  l'autre.

    En fait tu peu le faire avec des containers, mais il faut instancier un container par utilisateur différent (c'est pour ça que le faas a du sens).

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: je reste septique sur un point ...

    PostĂ© par . En rĂ©ponse Ă  la dĂ©pĂȘche Deno 2.0 est lĂ . ÉvaluĂ© Ă  2. DerniĂšre modification le 17 dĂ©cembre 2024 Ă  17:02.

    Il doit bien accéder au FS pour créer un dossier non ? Ou quelque chose m'échappe ...

    Ce n'est pas lui qui crée le dossier, je lui dis quel dossier il a le droit de lire et m'assure qu'il n'a le droit de lire que ce dossier

    deno run --allow-read=/run/random-bidule/dir script.ts /run/random-bidule/dir

    Le premier pour qu'il ai le droit de lire ce dossier et le second pour que le script puisse savoir quel dossier il peut lire.

    Tu as la doc ici:

    https://docs.deno.com/runtime/fundamentals/security/#file-system-access

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: je reste septique sur un point ...

    PostĂ© par . En rĂ©ponse Ă  la dĂ©pĂȘche Deno 2.0 est lĂ . ÉvaluĂ© Ă  3.

    Ce que tu décris me fait penser un peu aux cloud functions de GCP ou lambda AWS, mais ...

    Tout Ă  fait et faire du FAAS aurait put ĂȘtre une option, mais disons que faire un choix de dĂ©ploiement et un choix de dev n'est pas les mĂȘme personnes ni les mĂȘme enjeux.

    Quel genre de fonctions ? J'ai du mal Ă  me reprĂ©senter les cas d'utilisation. Tu parle d'interaction avec stdin/stdout/stderr, mais ces 3 canaux doivent bien ĂȘtre interfacĂ©s avec des entrĂ©ess ou des sorties non ? Je suis assez curieux car ça pourrait me servir en dĂ©but d'annĂ©e prochaine ...

    Interaction est un bien grand mod pour ĂȘtre tout Ă  fait prĂ©cis :

    Le code qui reçoit la requette va :

    • crĂ©er un dossier dĂ©diĂ© (avec des fonctions spĂ©cifiques pour) et stocker des fichiers de configuration en particulier un fichier js qui doit exporter une fonction
    • appeler un nouveau process en lui donnant uniquement accĂšs au dossier (il y a des limitations fortes qui font que tu ne peut pas appeler un fichier ../file.txt par exemple)
    • envoyer dans le stdin de ce nouveau process grosso modo l'Ă©quivalent de la requĂȘte

    Le processus lit sa conf, regarde la requĂȘte dans son stdin et fait son job.

    Si tous se passe bien il écrit le résultat dans sa sortie standard, sinon il écrit l'erreur dans sa sortie d'erreur.

    Le parent pose un timer pour limiter le temps d’exĂ©cution du sous processus.

    Du coup c'est juste un bĂȘte request/response, ça aurait pu ĂȘtre fait en HTTP sur l'interface loopback. Je sais pas si deno sait utiliser une socket UNIX.

    Je sais pas si c'est suffisamment clair.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll