• [^] # Re: ia routeur

    Posté par . En réponse au lien Une IA conçoit un ordinateur Linux fonctionnel en une semaine. Évalué à 4. Dernière modification le 19 décembre 2025 à 08:40.

    ah et pour compléter car j'avais pas abordé l'aspect performance parce que c'était déjà long, et ce n'est pas le même genre de considération.

    pour tester la version du llm

    j'ai au passage du modifier la proposition du llm pour accepter les mots de passe avec <>.:; et d'autres caractères, car refuser des mots de passe
    "Linux>>>Windows." c'est pas cool, sauf que j'ai du m'y reprendre à 2 fois.

    #!/usr/bin/env perl
    while (<>)
    {
     chomp;
     if ( /(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^a-zA-Z0-9])[A-Za-z\d@!%*?&<> =:.#;"']{8,}/ ) {
     print "OK : $_\n";
     } else {
     print "NOK : $_\n";
     }
    }

    pour tester ma version :

    #!/usr/bin/env perl
    while (<>) {
     chomp ;
     if(
     /[0-9]/ # at least 1 number
     && /[^a-zA-Z0-9]/ # at least 1 character that is not a number and not a alphabetical character
     && /.{8}/ # at least 8 characters
     && /[a-z]/ # at least 1 lowercase character
     && /[A-Z]/ # at least 1 uppercase character
     ) {
     print "OK : $_\n";
     }
     else
     {
     print "NOK : $_\n";
     }
    }

    puis exécutons nos tests

    
    $ time ./testLLM.pl < test.txt >unique.out
    real 0m0.087s
    user 0m0.063s
    sys 0m0.016s
    $ time ./testHumain.pl < test.txt >multi.out
    real 0m0.018s
    user 0m0.000s
    sys 0m0.016s
    $ diff unique.out multi.out --ignore-all-space
    $
    

    Bref la solution proposée par le llm n'est pas seulement illisible, elle est inefficiente, mais par acquis de conscience j'ai voulu tester sur plus gros

    $ cat test.txt test.txt test.txt test.txt test.txt test.txt ... > BBBBig.txt
    $ 38256 BBBBig.txt
    38256 BBBBig.txt
    $ time ./testMulti.pl < BBBBig.txt >multi.out
    real 0m0.124s
    user 0m0.016s
    sys 0m0.031s
    $ time ./testUnique.pl < BBBBig.txt >unique.out
    real 0m1.664s
    user 0m1.594s
    sys 0m0.016s
    

    c'est pire...

    Enfin, coté évolution ta 'boite noire' pour le mot de passe n'est pas pratique, si je veux par exemple complexifier et dire que je veux a minima 2 minuscules, je remplace /[a-z]/ par /[a-z].*[a-z]/ # at least 2 lowercase characters; la modif est claire, et simple à suivre, et rapide à effectuer, et a valider par le relecteur.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent