gaaaaaAab a écrit 1444 commentaires

  • [^] # Re: ia routeur

    Posté par  . En réponse au lien Une IA conçoit un ordinateur Linux fonctionnel en une semaine. Évalué à 2 (+0/-0). Dernière modification le 10 janvier 2026 à 14:52.

    tout à fait. je répondais spécifiquement sur ce que j'ai rencontré personnellement. Dans mon cas, les fichiers étaient générés par des entités internes. Et je pense qu'effectivement, c'est plus mes collègues à l'exploitation qui devaient gérer des fichiers de provisionning moins bien calibrés.

  • [^] # Re: ia routeur

    Posté par  . En réponse au lien Une IA conçoit un ordinateur Linux fonctionnel en une semaine. Évalué à 3 (+1/-0).

    Tu n'as jamais du écrire un wrapper pour utiliser une API qui n'était pas conçue selon la logique de ton code?

    Je ne sais pas si c'est un très bon exemple. Si tu as des problèmes architecturaux de cette nature (faire interagir deux modules avec des logiques de code très différentes), ça ressemble à un truc où il faut un peu réfléchir à ce qu'on fait. P-e avec un exemple plus concret, je comprendrais mieux en quoi écrire un wrapper pour faire interagir deux logiques différentes, ça se fait sans y penser.
    L'exemple le plus proche que j'ai en tête, c'est de passer du code python en cgi (y avait de la dette technique) appelant une lib en C, techniquement thread safe, mais pas fonctionnellement pour que ça tourne en mod_wsgi. Au final, y avait que quelques dizaines de lignes de code, dont 2 décorateurs, je classerai pas ça dans le pissage de code.

    Tu n'as jamais dû convertir un format de fichier dans un autre,

    je réfléchis mais je ne crois pas. Quand tu fais du dev côté serveur, tu peux recevoir des fichiers/flux à traiter dans plusieurs formats. Mais à partir du moment où tu sais parser un format, autant l'utiliser directement. Sauf spécification supplémentaire, je ne vois pas de raisons de le ré encoder dans un autre format.

    coder de manière sous optimale des trucs triviaux (calcul de moyenne, de variance, de distance euclidienne entre des vecteurs…) pour ne pas embarquer une dépendance?

    j'ai ré implémenté du dijkstra pour un graphe local, mais de max 10 noeuds et des contraintes fortes sur le nombre de transitions possibles. Une fonctionnalité utilisé ponctuellement pour définir des workflows. Sous optimal ? probablement. Mais sous optimalité négligeable au regard du reste de l'application. C'était pas pour éviter d'embarquer une dépendance, j'étais jeune à l'époque, j'ai même pas cherché. Pour moi, savoir implémenter un dijkstra ou un double liste chaînée, ça faisait partie de la culture générale (j'étais bien naïf :) )

    Tu parles de C par exemple, tu n'as jamais dû gérer des entrées à partir d'un fichier non-standardisé (espaces vs. tabulations, virgules ou point virgules, etc)?

    ça a du m'arriver, mais pas qui m'ait marqué. Sur des échanges de fichiers réguliers, quand il y a un problème sur un fichier, ça se traite au niveau de l'entité qui génère les fichiers. Côté dev, je n'ai pas été souvent confronté à ça, ou alors de manière très occasionnel, sur des fichiers de petite taille, qui se normalise facilement à coup de regex. C'était probablement un problème plus sérieux côté exploitation.

    c'est juste que j'ai du mal à imaginer comment un patron peut vouloir payer quelqu'un à résoudre des puzzles accessibles en quelques secondes à un ordinateur.

    c'est pas à ça que je répondais. Dans ton commentaire initial, tu semble dire que la seule manière d'écrire du code, ça se résume à écrire des constructeurs/destructeurs/surcharge d'opérateur, que c'est de "pisser du code", et que c'est pas intéressant.

    Ma réponse, c'est que "pisser du code", (c'est à dire passer des longs moments à écrire automatiquement du code sans trop utiliser son cerveau), c'est très ponctuel. Parce que justement, les trucs faciles, ça se fait vite, donc une fois que c'est fait, il reste plus que les trucs compliqués, et ça se pisse pas bien. Le code, ce n'est pas que ça, et on peut y trouver son intérêt.

    Le fait qu'un employeur soit prêt ou pas à payer pour que quelqu'un effectue une tâche est décorrélée de savoir si elle est intéressante pour la personne qui la fait.

  • [^] # Re: ???

    Posté par  . En réponse au lien Une hacktiviste supprime en direct des sites web suprémacistes blancs [trad. de l'allemand]. Évalué à 3 (+1/-0).

    il y a qq temps sur linuxfr, qq utilisateurs spammaient le site web de soral toutes les 5 minutes. Au bout de qq mois, je suis aller voir une vidéo de soral au pif, pour voir ce qu'il racontait. Y a pas besoin de voir plus d'une vidéo pour constater la vacuité de sa pensée, et tous ses aspects détestables (misogynie, eugénisme, valorisation de la force pour la force, et sûrement d'autres trucs que j'ai oublié, c'était y a au moins 10 ans).
    Après, il partage ses idées nulles avec pleins d'autres gens. C'est p-e pas lui ta source, t'es p-e même un super male alpha qui pense par lui même comme un vrai bonhomme, mais tu partages au moins une partie de ses idées de merde

  • [^] # Re: ???

    Posté par  . En réponse au lien Une hacktiviste supprime en direct des sites web suprémacistes blancs [trad. de l'allemand]. Évalué à 3 (+4/-3).

    "nananan je suis pas d'extrême droite du tout", s'en suit un gloubi boulga sur les faibles et les forts.
    ok, ok, je crois qu'on t'as quand même bien compris. retourne cuver ton alain soral

  • [^] # Re: ia routeur

    Posté par  . En réponse au lien Une IA conçoit un ordinateur Linux fonctionnel en une semaine. Évalué à 4 (+2/-0).

    créer à la chaine des pages de constructeurs, de destructeurs, et d'opérateurs d'affectation…

    forcément, avec cette vision là de ce qu'est le code, je comprends que ça fasse pas rêver. Ce type de code, c'est seulement quelques langages (genre java) et ça fait très longtemps que les IDEs (genre Eclipse) génèrent ces trucs là tout seul.

    Les langages dans lesquels j'ai le plus codé sont le C, le SQL, le python et un peu de shell/awk/sed, je n'ai jamais "pissé" du code.

    Le code, c'est un continuum. C'est certes écrire les lignes de code, mais les organiser dans le cadre d'un algorithme, pour répondre à un besoin particulier. C'est choisir comment organiser ses fonctions, comment les nommer, choisir le type de leurs paramètres, comment nommer les variables. Je ne vois pas comment on peut écrire des lignes de code à la chaîne sans réfléchir sans que ça produise des horreurs.

    C'est aussi penser les tests, les écrire, les maintenir, c'est aussi parfois revoir l'architecture quand on se rend compte en cours de code qu'il y a une meilleure façon de faire. C'est un tout.

    Je crois pas qu'on peut séparer la ligne de code de tout le contexte dans lequel elle s'inscrit, et donc ouais, c'est intéressant, en tout cas, pour certains cerveaux ;)

  • [^] # Re: Jour 2

    Posté par  . En réponse au journal Advent of Code 2025. Évalué à 2 (+0/-0). Dernière modification le 03 décembre 2025 à 09:12.

    j'optimise pour le temps que j'y passe, ça fait pas du code très performant :) Pour le jour 2, mon code calcul la partie 2 en un peu moins de 4 secondes (en même temps, c'est du python).

    Pour la partie 1, c'est la même idée que steph1978, cad comparer les deux moitiés des nombres dont la représentation en caractères est de longueur pair.

    pour la partie 2, je tronçonne la représentation en sous-chaînes de longueur i pour toutes les longueurs i pertinentes (i variant de 1 à la moitié de la longueur de la représentation, et seulement si la longueur est divisible par i), et j'ajoute les tronçons de chaînes dans un set. En Python, un set ne pouvant contenir qu'une seul occurrence de chaque valeur, chaque fois qu'un tronçon déjà présent est ajouté, le set ne bouge pas. Si le set est de taille 1 à la fin de l'opération, tous les tronçons étaient identiques, on a trouvé un nombre invalide.

  • [^] # Re: Leaderboard

    Posté par  . En réponse au journal Advent of Code 2025. Évalué à 2 (+0/-0).

    je confirme, je viens de le rejoindre en tant que utilisateur anonyme #5227760

  • [^] # Re: Jour 1

    Posté par  . En réponse au journal Advent of Code 2025. Évalué à 3 (+1/-0).

    allez, j'ai fait le premier jour pour la première fois cette année. Je crois que 25 jours les années précédentes, c'était trop pour moi, 12, ça paraît plus abordable.

    qqu'un sait si c'est les données des problèmes sont personnalisées ou c'est données communes pour tous ?

  • [^] # Re: Ce ne doit pas être le bon graphique

    Posté par  . En réponse au lien TOP 7 des pays mondiaux (tous européens) en termes de kWh ÉOLIENS produits par habitant en 2024. Évalué à 2 (+0/-0).

    ou le nombre de midi-chloriens

    --> []

  • [^] # Re: Elle a toutes ses chances

    Posté par  . En réponse au lien Grokipedia : la nouvelle encyclopédie d'Elon Musk peut-elle concurrencer Wikipedia ?. Évalué à 5 (+3/-0).

    vu que google et MS ont aussi leur générateur de texte maison à survendre, je pense pas qu'ils vont faire la courte échelle à grok

  • [^] # Re: Pompier pyroman

    Posté par  . En réponse au lien Escroqueries : SpaceX frappe un grand coup contre l’industrie des cyberarnaques en Birmanie. Évalué à 2 (+0/-0).

    tous les articles que j'ai vu mentionne un tweet d'une dirigeant de space X. twitter c'est mal toussa toussa, voici un lien alternatif.

    Quelques articles remarquent qu'on ne connaît pas la date (ou les dates) de la désactivation de ces terminaux.

  • # charge mémoire

    Posté par  . En réponse au message Drôle de crash de Xorg. Évalué à 3.

    J'essaye de surveiller la charge mémoire: FF dépasse rarement les 30% d'usage.

    et celle de gvfsd-http ?

    De ce que je comprends, quand le système manque de mémoire, oom_killer flingue un processus gourmand en mémoire. S'il choisit gvfsd-http, ça doit être parce qu'il consomme beaucoup à ce moment là.

    pour la conso de FF, si tu utilises beaucoup d'onglets, ça vaut p-e le coup d'activer l'option browser.tabs.unloadOnLowMemory

  • [^] # Re: Je me demande

    Posté par  . En réponse au journal npm et badaboum. Évalué à 10.

    comme un futur sans cinéma 3D n'existe pas … ;)

    la technologie ne disparaîtra pas, mais pour l'instant, c'est pas sûr qu'il y ait un modèle économique qui puisse financer l'infrastructure actuelle à long terme. C'est d'autant moins sûr que si tout le monde cherche à fourrer de l'IA partout en ce moment, le périmètre réellement utile va, je pense (ou j'espère, je ne suis pas objectif sur le sujet), se resserrer.

  • [^] # Re: Ah ! cool merci

    Posté par  . En réponse au journal Une carte microcontrôleur avec un epuce LoraWAN à gagner. Évalué à 2.

    Comme l'équipe de modération est très réactive sur les spam, tous les comptes de spammeurs sont nouveaux. Ce qui ne veut pas dire que tous les nouveaux comptes sont des spammeurs.

    Après, tu réponds comme si j'avais écris que j'avais juste moinssé parce que c'était un nouveau compte, ce qui n'est pas le cas. L'ancienneté d'un compte est un élément parmi d'autres, et pas déterminant à lui seul.

    Mon opinion est aussi que le message d'origine est peu pertinent. Je ne prétends pas avoir raison. Tu as le droit d'avoir une opinion différente, et tu as le droit de voter que c'était un message utile. Je ne te juge pas pour autant, et je ne me permettrais certainement pas de sous-entendre que tu serais un SS pour ça. Et je péterais pas une durite si le message s'était retrouvé à +20.

    eh bien si justement selon moi: on est bien sur un site de discussions, de partages (de bons plans par ex), de conseils et de débats. Le moinssage ne fait en rien avancer le schmilblick.

    Vraiment ? tu pense qu'il faut justifier chaque clic sur pertinent/inutile ? on fait comment ? un champ texte à renseigner à chaque fois ? Ensuite, peut-être qu'il faudrait aussi pouvoir plusser/moinsser les justifications des plussages/moinssages … /s

    Et je m'en offusque assez régulièrement ;)

    Et bien propose une modification sur le système de suivi, ça sera un peu plus constructif que d'exprimer ta mauvaise humeur avec autant de bienveillance que dans ton premier message. Apparemment, faut être bienveillant avec les nouveaux comptes, mais pas avec les autres …

    ps: "pisse froid", "nul" et "petit", ça ne te rehausse pas dans mon estime, mais ça me laisse de marbre. Par contre, "moinSSer" pour quelques clics avec lesquels t'es pas d'accord, franchement, c'était un peu trop non ?
    Mon ton serait plus affable si tu retirais au moins ça de ton premier message.

  • [^] # Re: Ah ! cool merci

    Posté par  . En réponse au journal Une carte microcontrôleur avec un epuce LoraWAN à gagner. Évalué à 2.

    à la réflexion, le message d'origine aurait plus eu sa place dans les liens. On ne peut pas ré écrire l'histoire, mais je pense que je n'aurais pas moinssé ce contenu s'il avait été dans la section liens

  • [^] # Re: Ah ! cool merci

    Posté par  . En réponse au journal Une carte microcontrôleur avec un epuce LoraWAN à gagner. Évalué à 3.

    Et ce sans la moindre justification.

    oui, c'est comme ça que le système fonctionne. S'il faut justifier chaque pertinent/inutile, on va pas s'en sortir.

    compté créé le jour même, message qui ressemble à de la pub, peu (voire pas) de contexte, j'ai moinssé.

    ps: je trouve le ton de ton commentaire inutilement agressif. Tu comprends pas le moinssage, t'écris "je comprends pas le moinssage", après, p-e que des gens répondent, et t'es p-e pas d'accord, mais les insultes ne font pas avancer le schmilblick.
    Je prends sur moi pour ne pas t'insulter en retour …

  • [^] # Re: Sans réseaux sociaux ....

    Posté par  . En réponse au lien Pour étudier aux Etats-Unis, il faut désormais rendre tous vos profils en ligne publics. Évalué à 3.

    le truc avec l'histoire, c'est qu'il y a toujours un avant ;)

    Je pensais à Gingritch, qui a délibérément torpillé la culture du compromis entre Républicains et Démocrates à la Chambre des Représentants, mais c'était plutôt y a 30 ans. Ça doit faire 10 ans que je pense que c'était y a 20 ans, faut que je mette à jour :)

    'fin, Gingritch, et le reste du GOP, il a pas fait ça tout seul

  • [^] # Re: générer du texte ou du code avec l'IA, ce n'est pas bien

    Posté par  . En réponse au journal Des boucles SPIP au vibe coding augmenté : 25 ans de médiation littéraire par le code. Évalué à 10. Dernière modification le 01 août 2025 à 14:14.

    Je suis un peu le ravi de la crèche qui doit énerver.

    je pense que tu surinterprète un peu les votes pertinents/inutiles, et tu assignes des émotions à ceux qui votent sans base factuelle.

    En première lecture de ce journal, je n'ai pas voté, mais si j'avais noté, ça aurait été négativement. Je me suis demandé s'il avait été écrit en partie avec l'aide d'un LLM, et même si c'était pas qq'un qui usurpait l'identité "bibliosurf" pour faire la retape de l'ia (dont, comme certains ici, je ne suis pas le plus grand fan ;) cf le commentaire de lasher ). Et je ne comprenais pas très bien l'objet de ce texte.

    Je me suis abstenu parce que c'était un compte nouveau, j'attendais un peu de voir. En tout cas, si j'avais voté négativement, ça n'aurait rien eu à voir avec ta personne ou avec le projet, juste une évaluation de la pertinence du contenu sur ce site. Sachant qu'une note négative ne supprime pas le contenu, ça le rend un peu plus difficile d'accès (mais vraiment pas beaucoup).

    Je pense que sans ta participation à la discussion dans les commentaires, la note du journal serait plus négative.

  • [^] # Re: Sans réseaux sociaux ....

    Posté par  . En réponse au lien Pour étudier aux Etats-Unis, il faut désormais rendre tous vos profils en ligne publics. Évalué à 9.

    Les USA ne sont pas devenus machiavéliques en six mois, n'en déplaisent à certains ;)

    je ne sais pas qui prétend que ça ne fait que six mois, mais effectivement, ça a plutôt pris 20 ans

  • [^] # Re: filtre bayésien

    Posté par  . En réponse au journal mon bot va mourir : RIP. Évalué à 6.

    Tout paraît au dessus de son niveau, jusqu'au moment où ça l'est plus hein :) En tout cas, tant que t'as pas essayé, tu peux pas l'affirmer.

    Je parle pas de réimplémenter toute la logique d'un filtre bayésien soi même, mais y a des lib qui font ça. "yapuka" (tm) brancher et configurer

  • # filtre bayésien

    Posté par  . En réponse au journal mon bot va mourir : RIP. Évalué à 2.

    Sans se lancer dans du ML, est-ce qu'un filtre bayésien (ou tu désignes toi même les spams), ça suffirait pas ?

  • [^] # Re: Capitalisme

    Posté par  . En réponse au lien Le phénomène « tradwife », symptôme d’une nouvelle phase du capitalisme. Évalué à 5.

    c'est intéressant que tu cites la deuxième occurrence du mot capitalisme dans le texte (en dehors de l'intro) et pas la première:

    Il est essentiel de comprendre que lorsqu’un choc économique se produit, que ce soit avec l’introduction du capitalisme dans des sociétés anciennement socialistes ou avec l’avènement actuel de l’intelligence artificielle (IA), les gouvernements sont confrontés à un défi de taille : réduire rapidement la main-d’œuvre tout en évitant de provoquer des troubles sociaux. Renvoyer les femmes au foyer est la solution idéale.

  • # d'autres options

    Posté par  . En réponse au message openwrt: AP+sta, script pour le wifi si STA indispo?. Évalué à 2.

    je pense pas pouvoir trouver la source précise que tu cherches, mais si c'est le fond qui t'intéresse, j'ai l'impression que ça se trouve.

    la section "Revert to AP-Only mode (Optional)" de
    https://openwrt.org/docs/guide-user/network/wifi/wifiextenders/ap_sta , c'est ce que tu veux faire ou j'ai mal compris la question ?

  • # un pavé de DB

    Posté par  . En réponse à la dépêche Application libre en ligne de suivi des aides aux écoliers avec SQLPage. Évalué à 10. Dernière modification le 03 juillet 2025 à 16:31.

    Préambule: ayant eu plusieurs fois l'occasion de maintenir/concevoir des modèles de DB pour des appli serveurs relativement complexes et au cycle de vie relativement long, je vois des trucs qui me font tiquer (ou qui soulèvent simplement des questions) dans le modèle de DB.

    Je sais que la modélisation de DB, c'est pas le truc le plus évident, et c'est souvent le parent pauvre du dév. Donc je salue le travail accompli, et livre des commentaires que j'espère constructifs.

    Disclaimer: pas d'argument d'autorité ici, p-e que certaines de mes remarques auront un ton péremptoire (parce que c'est comme ça que j'écris) mais ce ne sont que des propositions/questions. D'autant que je ne connais pas le domaine, il y a des informations que j'ignore qui modifieraient probablement mes remarques.

    PS: J'avais raté la mention de SQL page sur la nouvelle que tu références. Je suis allé jeter un oeil, et le modèle de DB proposée par école inclusive, et mes remarques ne semblent pas s'y appliquer.

    (quand j'écris truc.machin, ça veut dire que je fais référence à la colonne machin de la table truc. Par exemple, la colonne id de la table eleve => eleve.id)

    sur la forme, je recommande d'essayer d'être homogène sur le nommage des tables et colonnes. Donc:

    • tout au singulier (actions -> action, niveaux -> niveau, _sql_migrations -> _sql_migration)

    • pas de nom de colonne qui font référence au nom de la table. Par exemple, enseignant.name_ens -> enseignant.name, ça suffit. En SQL, si on prend l'habitude de toujours référencer les colonnes avec leur origine, ce n'est jamais ambigu. D'autre part, quand un colonne référence le nom de table, c'est pénible si on a plus tard une bonne raison de renommer la table. On se retrouve alors avec deux mauvaises options, soit renommer la colonne (et propager ça dans tout le code), soit ne pas la renommer, et se retrouver avec un nom de colonne incohérent.

    • suffixe _id
      tant que possible, réserver le suffixe _id aux colonnes qui pointent vers des clefs étrangères. (ici, parcours.dispositif_id, est-ce que ça fait référence à une table dispositif non représentée dans cette capture d'écran ? Si oui, ok, sinon, voir si on peut trouver un autre nom de colonne)

    • et systématiser son usage. (enseignant.etab_ens -> enseignant->etab_id, …)

    • ajouter des id techniques sur les toutes les tables (par exemple, niveau.id) et donc, eleve.niveau -> eleve.niveau_id. Si, pour une raison quelconque, en ajoutant des colonnes, on doit faire porter la contrainte de clef primaire sur deux champs, il faut modifier toutes tables qui ont une contrainte de clef étrangère sur cette table). Perso, je préfère garder ma contrainte de clef étrangère sur les ID, et rajouter les contrainte d'unicité/non nullité nécessaires.

    • homogénéiser l'ordre des colonnes (par exemple, (id, *_id, reste des colonnes)) dans les scripts de création de la DB.

    sur la structure:

    • clefs étrangères
      la table parcours a trop de clefs étrangères à mon goût. Parfois, la meilleure alternative, c'est bien d'avoir plusieurs clefs étrangères. D'ailleurs, deux clefs étrangères, c'est complètement normal (pour modéliser les relations de cardinalité n,n, il n'y a pas le choix). Mais à partir de 3, perso, je regarde si j'ai pas d'autres options.

    • risque d'incohérence des données:
      Certaines tables de la structure actuelle sont reliées à d'autres tables par plusieurs chemins. C'est parfois ce qu'ont veut, mais la plupart du temps, on ne veut qu'une seule façon de relier deux tables. Par exemple, ici, eleve.etab_id fait le lien entre eleve et etablissement. Mais on peut aussi passer par eleve.enseignant_id, puis enseignant.etab_ens). Si c'est un cas normal qu'un enseignant suive des élèves d'un autre établissement que le sien, ce n'est pas forcément un problème. (Il semble aussi y avoir une duplication de eleve.etab_UAI, également un risque de incohérence)
      Cette remarque est valable pour parcours (eleve_id, etab_id, enseignant_id), ou on a même trois chemins pour rejoindre la table etablissement
      .

    • adéquation modèle/cardinalité
      Je signale ce risque d'incohérence sur cet exemple eleve/enseignant. Mais en fait, il y a potentiellement un problème plus fondamental sur cette relation eleve/enseignant. Par exemple, si le suivi peut avoir lieu sur plusieurs années, et si un enseignant(ou eleve) change d'établissement entre deux années, la relation eleve/enseignant n'est plus une relation de cardinalité 1,n, mais de cardinalité n,n. Or on ne peut utiliser les clefs étrangères que pour modéliser des relations 1,*. Dès que c'est du n,n, une table dédiée est nécessaire.

    • classe
      Faut-il une entité classe ? (user_info.classe, enseignant.class_ens, eleve.classe, parcours.classe). Sans plus d'infos, ça ressemble à une potentielle duplication de données.

    • association implicite
      Dans la table parcours, le fait qu'une partie des colonnes s'appellent "action_" suggèrent qu'il y a une entité implicite, l'entité "action" qui mérite p-e d'être modélisée en tant que telle. D'ailleurs, il y a une table actions, ce qui me fait penser que les champs parcours.action_* sont plutôt des attributs d'une relation entre parcours et actions.

    Mon expérience, c'est qu'on finit souvent pas regretter de ne pas avoir investi un peu plus de temps sur la modélisation de la DB au début d'un projet.
    C'est pour ça que je recommanderais de faire un modèle type entité-association en plus (voire avant) d'avoir le modèle technique. Ce n'est jamais trop tard pour le commencer.

    Ça permet de prendre du recul sur ce qu'on modélise, et fait souvent économiser de la complexité lors de l'implémentation. C'est bien aussi de garder la question des formes normales en tête.

    A noter que ce modèle entité-association ne peut pas être généré automatiquement. On ne peut pas inférer les cardinalités des relations à partir du seul modèle technique de la DB.

    PS: Ça se voit que j'aime bien modéliser les DB ou pas ? :o)

  • [^] # Re: 2 options

    Posté par  . En réponse au message [résolu] lightdm et autologin. Évalué à 2.

    cool !

    pour les forums, je crois que tu as une option pour marquer la question comme résolue