Claude SIMON a écrit 549 commentaires

  • # Imaginez que ça se répande…

    Posté par  (site web personnel) . En réponse au lien Les coiffeurs sont des blagueurs. Évalué à 10.

    http://www.bouletcorp.com/2009/09/17/

    Zelbinium, la programmation ludique

  • # Ahhh, les grands-mères et le bicarbonate de soude…

    Posté par  (site web personnel) . En réponse au journal J'ai mangé une pomme. Évalué à 10.

    http://www.bouletcorp.com/2017/11/02/recettes-de-grand-mere/ (Linux inside (si si !)).

    Zelbinium, la programmation ludique

  • [^] # Re: Question conne

    Posté par  (site web personnel) . En réponse au journal Troisième dose. Évalué à 6.

    Un pass sanitaire est un certificat numérique matérialisé par un code QR. Celui qui est en possession d'un certificat correspondant à une vaccination complète + délai qui va bien, même s'il est postérieurement testé positif (ce qui reste possible même en étant vacciné), il lui suffit de présenter le certificat correspondant à la vaccination pour être considéré comme possédant un pass valide.
    C'est une démarche similaire qui est évoqué dans ce journal. Au lieu d'utiliser le certificat des 3 injections, invalide car trop récent, l'auteur va utiliser dans l'intervalle celui, valide, correspondant aux 2 injections.

    Les codes QR correspondants aux certificats peuvent simplement être imprimés sur papier ; on peut donc en accumuler autant que désiré. Seul compte celui présenté lors d'un contrôle.

    Quant à l'application TousAntiCovid, l'on peut y stocker plus d'un certificat. J"en connais qui, en plus du leur, y stocke celui d'un tiers (conjoint…), au cas où ce dernier ne serait pas en mesure de présenter le sien. Là aussi, seul compte celui présenté lors d'un contrôle.
    Le stockage des certificats dans TousAntiCovid n'est qu'une facilité. Le pass sanitaire n'est en rien lié à l'application TousAntiCovid. On peut imprimer le code QR correspondant, le stocker sur son smartphone sous forme d'image, ou y stocker le PDF qui l'accompagne, et présenter n'importe lequel de ces documents lors d'un contrôle.

    Zelbinium, la programmation ludique

  • # Linux sous Android

    Posté par  (site web personnel) . En réponse au lien Faites tourner Linux nativement sur vos téléphones et tablettes. Évalué à 4.

    Un autre moyen, plus facile à mettre en œuvre, d'avoir Linux sur sa tablette/son téléphone Android : Termux.

    Un petit commentaire sur le sujet que j'avais écris à l'occasion d'un journal : https://linuxfr.org/users/tla47/journaux/apps-open-source-pour-android#comment-1859279

    Zelbinium, la programmation ludique

  • [^] # Re: Et TousAntiCovid Verif ?

    Posté par  (site web personnel) . En réponse au lien Le code source de TousAntiCovid publié, mais... il est incomplet et sous licence propriétaire. Évalué à 4.

    Et encore mieux : les transporteurs vont certainement développer leur propre application (SNCF ? Air France ?….)

    Pour Air France, je crois que c'est probablement déjà le cas :
    https://corporate.airfrance.com/fr/communique-de-presse/air-france-lance-ready-fly-un-service-de-verification-des-documents-de-voyage

    Selon un reportage que j'ai vu à ce sujet, avec ce service, il ne sera pas nécessaire de présenter le pass sanitaire à l'embarquement. Vu que ce dernier va devenir obligatoire pour certains trajets, il devra nécessairement être traité en amont, et je doute que ce sera TousAntiCovid Verif qui sera utilisé…

    Zelbinium, la programmation ludique

  • [^] # Re: effectivement

    Posté par  (site web personnel) . En réponse au journal Améli et la Souveraineté Numérique. Évalué à 10.

    On peut se connecter à Ameli avec son compte des impôts (entre autres) en passant par FranceConnect, via le bouton correspondant présent sur la page de connexion…

    Zelbinium, la programmation ludique

  • [^] # Re: Je préfère les énoncés simples mais hyper compliqués à résoudre

    Posté par  (site web personnel) . En réponse au journal Deux petits problèmes de math niveau lycée.. Évalué à 5.

    Plus sérieusement, plusieurs indices pointent à du rot13:

    • aucun secret n’est donné, donc l’algo est probablement “absolu”
    • on est dans un contexte très relax, donc OP n’a probablement pas passé 10 plombes à chiffrer son message, et ne s’attend pas à ce que les lecteurs y passent 10 plombes non plus, donc le déchiffrement est probablement accessible en ligne en 2 secondes avec une bête recherche Google
    • le message ne contient que des lettres, donc l’algorithme ne fait probablement rien de bien compliqué niveau chiffrement: un charactere est mappé vers un autre charactere, plutôt que de travailler sur un block qui mapperait vers de l’hexa “aléatoire”>
    • la structure du message chiffre ressemble beaucoup à une vraie phrase: longueur des mots, avec notamment l’apostrophe
    • … le message ressemble à une prière d'un adepte de Cthulhu.

    Zelbinium, la programmation ludique

  • [^] # Re: Code ?

    Posté par  (site web personnel) . En réponse au journal Un article de "Pour la science" m'ayant amené à coder pour une petite vérification perso.... Évalué à 2. Dernière modification le 23 juillet 2021 à 08:07.

    J'avais corrigé la version GUI, mais j'avais oublié de reporter la correction dans la version CLI. Comme la simulation prend pas mal de temps avec les paramètres par défaut, j'ai rajouté l'affichage de la progression.

    Au final, ça donne :

    #!/usr/bin/env python3
    
    from random import randint
    from statistics import mean,  median, pstdev
    import time
    
    NB_PEOPLE = 500
    AMOUNT_START = 2000
    NB_LOOP = 5000000
    RATE = 0.2
    DRATE = 0.05
    
    def pays(customer, seller, base):
        # no advantage for the poorest as no poorest
        if seller == customer:
            customer -= base * RATE
            seller   += base * RATE
        # poorest receive the money so add DRATE in the transfer
        elif seller > customer:
            customer -= base * (RATE + DRATE)
            seller   += base * (RATE + DRATE)
        # poorest pay the money so deduct DRATE in the transfer
        else:
            customer -= base * (RATE - DRATE)
            seller   += base * (RATE - DRATE)
    
        return customer, seller
    
    
    people = [AMOUNT_START] * NB_PEOPLE
    
    timestamp = time.time_ns()
    
    for _ in range(0, NB_LOOP):
        # select two random people
        while True:
          a = randint(0, NB_PEOPLE - 1)
          b = randint(0, NB_PEOPLE - 1)
    
          if a != b:
            break
    
        base = min(people[a], people[b])
    
        people[a], people[b] = pays(people[a], people[b], base)
    
        if time.time_ns() - timestamp > 1500000000:
            print(f"{round(100*_/NB_LOOP)}%", end='\r')
            timestamp = time.time_ns()
    
    print(f"{round(100*_/NB_LOOP)}%", end='\r')
    
    
    # final, show the results
    people = sorted([int(p) for p in people])
    print(f"Last tranfert base: {base}.")
    print(f"people: {', '.join(str(p) for p in people)}")
    print(f"avg: {mean(people)} | median: {median(people)} | pstdev: {pstdev(people)}")

    Pour essayer en ligne :

    Zelbinium, la programmation ludique

  • [^] # Re: Code ?

    Posté par  (site web personnel) . En réponse au journal Un article de "Pour la science" m'ayant amené à coder pour une petite vérification perso.... Évalué à 3.

    Il me semble que c'est celui de ce commentaire : https://linuxfr.org/users/fdf/journaux/un-article-de-pour-la-science-m-ayant-amener-a-coder-pour-une-petite-verification-perso#comment-1860111, mis à part le problème de virgule signalé au commentaire qui suit.

    Voici la version corrigée :

    #!/usr/bin/env python3
    
    from random import randint
    from statistics import mean,  median, pstdev
    
    NB_PEOPLE = 500
    AMOUNT_START = 2000
    NB_LOOP = 5000000
    RATE = 0.2
    DRATE = 0.05
    
    def pays(customer, seller, base):
        # no advantage for the poorest as no poorest
        if seller == customer:
            customer -= base * RATE
            seller   += base * RATE
        # poorest receive the money so add DRATE in the transfer
        elif seller > customer:
            customer -= base * (RATE + DRATE)
            seller   += base * (RATE + DRATE)
        # poorest pay the money so deduct DRATE in the transfer
        else:
            customer -= base * (RATE - DRATE)
            seller   += base * (RATE - DRATE)
    
        return seller, customer
    
    
    people = [AMOUNT_START] * NB_PEOPLE
    
    for _ in range(0, NB_LOOP):
        # select two random people
        a = randint(0, NB_PEOPLE - 1)
        b = randint(0, NB_PEOPLE - 1)
    
        base = min(people[a], people[b])
    
        people[a], people[b] = pays(people[a], people[b], base)
    
    # final, show the results
    people = sorted([int(p) for p in people])
    print(f"Last tranfert base: {base}.")
    print(f"people: {', '.join(str(p) for p in people)}")
    print(f"avg: {mean(people)} | median: {median(people)} | pstdev: {pstdev(people)}")

    On peut la tester ici : https://replit.com/@AtlasTK/LFR124926-cli-python (ça prend du temps avant que le résultat ne s'affiche).

    Et la version avec une GUI, pour pouvoir modifier les paramètres sans avoir à modifier le code source : https://replit.com/@AtlasTK/LFR124926-python.

    Zelbinium, la programmation ludique

  • [^] # Re: Common Lisp

    Posté par  (site web personnel) . En réponse au journal Un article de "Pour la science" m'ayant amené à coder pour une petite vérification perso.... Évalué à 5.

    Voilà la version Python, mais avec une interface graphique ; ça permet de plus facilement jouer avec les paramètres : https://replit.com/@AtlasTK/LFR124926-python

    Zelbinium, la programmation ludique

  • [^] # Re: Common Lisp

    Posté par  (site web personnel) . En réponse au journal Un article de "Pour la science" m'ayant amené à coder pour une petite vérification perso.... Évalué à 6.

    Assisterait-on là à la naissance d'un nouveau TapTempo :-) ?

    Zelbinium, la programmation ludique

  • # Comme un petit parfum de (g)nunux…

    Posté par  (site web personnel) . En réponse au journal Apps open-source pour Android. Évalué à 9.

    M'étonne que Termux n'ai pas été cité. C'est une sorte de mini-(GNU)/Linux, qu'on peut installer même sur un Android non rooté. Il a son petit gestionnaire de paquet, comme il se doit (pkg).

    Je m'en sers pour tester mes application C++ (avec Clang) sur une plateforme ARM (à noter que Termux est aussi disponible pour les versions i686 et x86_64 d'Android). Et comme taper des commandes dans un terminal n'est jamais très commode avec un clavier tactile, un petit pkg install openssh, suivi d'un sshd et hop, je tape toutes les commandes à partir du clavier de mon ordinateur…

    Git est disponible, et également Python. Avec ça, je peux lancer un Reversi directement sur mon smartphone et affronter un adversaire, chacun utilisant son smartphone. Ça fait sont petit effet :-).

    Concernant Python, grâce à une petite astuce, on peut même lancer des applications utilisant Tkinter (la bibliothèque graphique standard de Python), en installant les paquets python-tkinter et x11-repo.

    Cette même astuce permet également de lancer quelques gestionnaires de fenêtres (fluxbox, openbox, XCFE…). Je n'ai pas (encore) essayé, mais il y en a, en utilisant DOSBox, qui ont réussi à lancer Windows 3.11 sur leur tablette Android (et aussi Prince of Persia 1989)… Pour plus d'informations : https://wiki.termux.com/wiki/Graphical_Environment.

    Termux fournit également une API qui permet de contrôler vos dispositifs Android (https://wiki.termux.com/wiki/Termux:API) ; de quoi écrire quelques petits scripts, qu'on peut directement lancer de l'écran d'accueil (https://wiki.termux.com/wiki/Termux:Widget).

    Et si cela ne suffit pas, on peut même utiliser Termux pour installer une véritable distribution Linux : https://wiki.termux.com/wiki/PRoot#Installing_Linux_distributions

    Zelbinium, la programmation ludique

  • [^] # Re: Je crois à la Z Machine (comme JPP)

    Posté par  (site web personnel) . En réponse au lien Le futur réacteur nucléaire Iter : un projet titanesque et énergivore - reporterre. Évalué à 4.

    Ça monte à 4 milliards de degrés Kelvin kelvins.

    Pendant longtemps, je me faisais aussi avoir…

    Zelbinium, la programmation ludique

  • [^] # Re: Les sels fondus

    Posté par  (site web personnel) . En réponse au lien Le futur réacteur nucléaire Iter : un projet titanesque et énergivore - reporterre. Évalué à 3. Dernière modification le 16 juin 2021 à 18:35.

    Il me semble qu'elle a aussi été écartée car la technologie est moins facilement (voire pas du tout) convertible en moyen de propulsion nucléaire.

    Sinon, je suis tombé sur ça au cours de mes investigations…

    Zelbinium, la programmation ludique

  • [^] # Re: cartographie du monde

    Posté par  (site web personnel) . En réponse à la dépêche Projet Kaosfantasy et libération de trois séries de fantasy : plus de 5000 pages. Évalué à 7.

    À la lecture de ce commentaire et en regardant la carte afférente, je n'ai pu m'empêcher de penser à ça :-).

    Zelbinium, la programmation ludique

  • [^] # Re: Sérieusement ?

    Posté par  (site web personnel) . En réponse au journal Encore des nouvelles de Fortran. Évalué à 5.

    Au collège, je ne savais même pas qu'il existait d'autres unité d'angles que le degré.

    Lequel ? Le sexagésimal ou le centésimal :-) ?

    Zelbinium, la programmation ludique

  • # 'source' <=> '.'

    Posté par  (site web personnel) . En réponse à la dépêche Python — partie 7 — Environnements virtuels. Évalué à 3.

    Il me semble que source et . sont strictement équivalents. Du coup, utiliser l'un avec virtualenv et l'autre avec venv pour faire strictement la même chose peut être source de confusion.

    En outre, je suppose que venv est également disponible sous Windows et que, à l'instar de virtualenv, l'activation se fait alors par lancement d'un activate.bat

    Zelbinium, la programmation ludique

  • # Suggestion de corrections…

    Posté par  (site web personnel) . En réponse à la dépêche Communiquer avec le serveur depuis un navigateur Web : XHR, SSE et WebSockets. Évalué à 4.

    Conclusion

    […] Si vous lisez encore, c’est vous que pouvez lire n’importe quoi à ce stade , alors allons-y gaiement.

    et dans le paragraphe juste avant :

    […] à travers la bibliothèque broadcast-channel, qui fournit une rustine (polyfill) pour les navigateurs […]

    Eh ouais, il y en a qui ont tout lu :-) (j'ai une vidéo en cours de montage…) !

    Accessoirement, j'ai implémenté il n'y a pas longtemps les WebSockets suite à des problèmes avec XMLHttpRequest, du coup, le sujet m'a interpellé…

    Zelbinium, la programmation ludique

  • [^] # Re: Parallèle avec la politique

    Posté par  (site web personnel) . En réponse au journal GNU t'es la ?. Évalué à 7.

    Ca faisait d'ailleurs râler Bill Gates qui avait besoin qu'on arrête de s'échanger du code librement pour pouvoir vendre le même code!

    J'ai quelque doute, et comme on dit sur WP, Refnec.

    Il faisait peut-être référence à ça : https://fr.wikipedia.org/wiki/An_Open_Letter_to_Hobbyists

    Zelbinium, la programmation ludique

  • # Le smartphone, cheval de Troie par excellence ?

    Posté par  (site web personnel) . En réponse au journal Nostalgie d'Internet des années 2000.. Évalué à 2.

    Les premiers ordinateurs personnels s'utilisaient en tapant des commandes au clavier, ne fût-ce que pour lancer un jeu, et on avait facilement accès aux sous-couches logicielles. Le smartphone, à coté, est une véritable boîte noire, dont l'interface graphique simplifie grandement l'utilisation, mais au détriment de la visibilité et de l'accessibilité de ses sous-couches logicielles.

    De ce fait, alors que le digital numérique prend une place de plus en plus importante dans nos vies, autant personnelles que professionnelles, de moins en moins de gens comprennent comment cela fonctionne. Les Raspberry Pi et consorts, crées pour tenter de contrer cette tendance, n'ont qu'un impact très limité, malgré leur indéniable succès commercial.

    L'utilisation d'un smartphone est soumis à de nombreuses contraintes, dont seuls quelques initiés peuvent s'affranchir, non sans risques. Mais, vu l'attachement des gens, notamment les plus jeunes, pour leurs smartphones, ces derniers constituent néanmoins un excellent vecteur pour la découverte des pratiques liées à l'informatique, et notamment la programmation.

    Le but est de simplement leur faire découvrir ce que c'est que la programmation, sachant qu'il existe de nos jours des langages qui permettent, même à un non-professionnel de l'informatique, de réaliser des programmes que ce soit pour une utilisation dans un cadre professionnel, ou simplement à titre de hobby.

    On pourrait envisager des ateliers de découverte de la programmation, durant lesquels serait détaillé pas à pas le codage, en partant de zéro, de petites applications avec une véritable interface graphique. Les participants pourraient, aux choix, reproduire le programme en même temps sur leurs smartphones, si rien d'autre n'est disponible, ou simplement juste regarder et écouter.

    Le point clef c'est que, à l'issue de cet atelier, une URL leur est fournie à partir de laquelle ils pourront non seulement lancer les applications abordées au cours de cet atelier, mais également les modifier, voire créer leurs propres applications, et tout cela à partir de leurs smartphones, s'il n'ont pas d'autres ordinateurs à disposition.

    Dans ce contexte, il faut rendre la pratique de la programmation le plus attrayant possible :

    • avec la possibilité de programmer en utilisant un appareil qui leur est familier et auquel ils ont facilement accès, à savoir leurs smartphones ;
    • grâce à un accès rapide et facile à un environnement de programmation, sans rien avoir à installer ;
    • en leur facilitant la programmation d'applications un minimum attrayantes, à savoir avec une interface graphique tout en utilisant un langage réputé accessible aux débutants ;
    • avec la possibilité de facilement montrer leurs réalisations à leurs connaissances.

    Il existe des outils permettant d'atteindre cet objectif :

    • Replit (pas libre), qui est un IDE en ligne, permettant de programmer à partir d'un navigateur web, et donc sans rien avoir à installer ;
    • le toolkit Atlas (désolé pour l'auto-promotion, mais au moins c'est Libre), pour la programmation de l'interface graphique, et le partage de l'application.

    J'ai réalisé une vidéo montrant l'utilisation de ces outils. C'est ma première vidéo de ce genre, donc je vais peut-être prochainement en créer une autre version, d'où les redirections :

    Zelbinium, la programmation ludique

  • [^] # Re: Thunderbird

    Posté par  (site web personnel) . En réponse au journal Lire ses lignes en ligne de commande, un nouveau projet. Évalué à 3.

    Bizarre, chez moi c'est Édition > Rechercher > Rechercher dans le courrier et l'intitulé de la boite dialogue qui s'affiche alors est Recherche avancée dans le courrier

    Zelbinium, la programmation ludique

  • [^] # Re: Les réseaux sociaux c'est pour les zéros sociaux

    Posté par  (site web personnel) . En réponse au journal Ados et réseaux sociaux. Évalué à 5.

    Il y a peut-être moyen de s'appuyer sur l'attachement d'un ado envers son smartphone pour éveiller son intérêt pour la programmation, mais il faudrait pour cela, je pense, qu'il puisse :

    1. écrire et lancer ses programmes directement de son smartphone ;
    2. leur conférer une ergonomie qui les rendent suffisamment faciles à utiliser ;
    3. donner accès à ses programmes directement de leurs smartphones à des personnes de son choix.

    Concrètement, en supposant qu'il ai programmé un jeu genre bataille navale, il devrait pouvoir lancer ce jeu directement de son smartphone, et y jouer avec un camarade, chacun utilisant son propre smartphone.

    Le fait qu'il puisse utiliser son smartphone d'une manière différente de ses camarades, autant par le fait de l'utiliser pour programmer, que de pouvoir y utiliser des programmes uniques, à savoir ses propres programmes, tout en pouvant permettre à quelques «privilégié(e)s» d'utiliser ses programmes sur leurs smartphones, peut peut-être constituer une motivation suffisante.

    Sachant que, s'il se met à la programmation de manière un tant soit peu sérieuse, il faudra prévoir un appareil autrement plus adapté à cette activité qu'un smartphone ou une tablette…

    Zelbinium, la programmation ludique

  • [^] # Re: Quelques mails

    Posté par  (site web personnel) . En réponse au journal OVH - Le nuage part en fumée ?. Évalué à 4.

    Effectivement, le champs Localisation, contrairement à leur copie d'écran montrée en exemple, contient Strasbourg (SBG) - France, donc SBG sans numéro. En outre, entre ce matin est maintenant, le champs Zone (Cluster) est passé de os-sbg1-abc (cluster-xyz), ce qui m'avait laissé penser que mon VPS était situé dans SGB1, donc potentiellement récupérable, à Region OpenStack: os-sbg4 (cluster-xyz), ce qui explique, si on applique les corrections que tu suggères, le second mail m'annonçant que mon VPS est irrécupérable…

    Zelbinium, la programmation ludique

  • # Quelques mails

    Posté par  (site web personnel) . En réponse au journal OVH - Le nuage part en fumée ?. Évalué à 3. Dernière modification le 13 mars 2021 à 06:43.

    Ayant un VPS chez OVH, situé justement à Strasbourg, j'attendais d'en avoir des nouvelles de leur part.

    Hier soir est arrivé un premier mail, dont voici un extrait :

    Si votre VPS est situé dans le datacenter SBG2 (correspondant aux localisations VPS SBG1, SBG2 et SBG4), celui-ci ne pourra pas être remis en service.

    Du coup, la manière dont est organisé leur datacenter à Strasbourg à l'air différente de ce que laissait supposer leurs annonces ici :

    État du datacenter de Strasbourg
    SBG1 : Salle Network est OK - 4 salles détruites - 8 salles OK
    SBG2 : détruite
    SBG3 : PSU éteint - contrôle des serveurs en cours
    SBG4 : Pas d'impact physique

    et plus loin :

    • L’incendie a détruit principalement le datacentre SBG2 et a partiellement endommagé le datacentre SBG1 (4 salles détruites sur 12). Les deux autres datacentres OVHcloud de Strasbourg n’ont pas été touchés par le feu ; les serveurs SBG3 et SBG4 sont pour l’instant éteints mais n’ont pas été impactés.

    et encore plus loin :

    • SBG1 a été partiellement endommagé (4 salles sur 12):
    o Salle réseau – contrôlée hier - ETA du redémarrage : début de semaine prochaine.
    o Réseau électrique - ETA provisoire pour remise en route : lundi 15 mars.
    o Les serveurs seront audités et réactivés un par un.

    • SBG 4 : n’est pas impacté.
    o Un plan de mise en service sera défini pour la fin de cette semaine

    Si on se réfère au mail, contrairement à ce que laissaient entendre leurs annonces ci-dessus, il semblerait que SBG1 et SGB4 soient physiquement situés dans SBG2…

    Pour ceux que ça concerne, voici un autre extrait de ce mail :

    Si votre VPS est situé dans le datacenter SBG3 (correspondant à la localisation VPS SBG6), celui-ci pourra être remis en service à partir du 22 mars prochain.

    Et ce matin, j'ai reçu un autre mail m'indiquant explicitement que (comme je m'en doutais un peu) mon VPS est irrécupérable…

    Zelbinium, la programmation ludique

  • [^] # Re: En quoi c'est simple ?

    Posté par  (site web personnel) . En réponse à la dépêche OpenWifiPass, l'accès Wifi facile et des bâtons dans la pomme. Évalué à 2.

    Sauf que cela ne fonctionne pas avec les appareils Apple, que ce soit un ordinateur ou un smartphone.

    Par contre, certaines boxes offrent la possibilité de se connecter au Wifi à l'aide d'un QR Code, et cela fonctionne bien avec les iPhone (et les iPad), sans avoir à installer d'application dédiée. Par contre, c'est plus délicat à mettre en œuvre avec un ordinateur fixe ou portable…

    Zelbinium, la programmation ludique