Overblog
Suivre ce blog Administration + Créer mon blog
23 octobre 2021 6 23 /10 /octobre /2021 23:00

   Récemment on apprenait que la Belgique, ses autorités législatives, veut interdire les communications chiffrées vers et à partir de son territoire. À la fois inutile et à la fois faux-cul. Faux-cul car tous nos services de sécurité (police, renseignements généraux [contrôle des partis et groupuscules idéologiques], ministère de l'Intérieur et des Affaires Étrangères [espionage et contre-espionage]) disposent déjà des logiciels leur permettant de casser un échange chiffré, que ce soit par mail, par audio, par texto, etc. Tout ce qui leur faut est évidemment l'autorisation de personnes responsables des services: juge, magistrat, ministre.

   Snowden notait par ailleurs que «interdire le chiffrement des échanges entre individus causerait beaucoup de morts»; j'approuve sauf que j'estime que ces morts ne seraient pas dû aux États mais bien plutôt aux mafias et gangs variés qui naviguent entre la politique et la drogue.

   Car, comme déjà dit, les États disposent déjà de tous les moyens pour déchiffrer ce que nous chiffrons, et le fameux désormais Pegasus en témoigne. Par contre un logiciel même moins élaboré que ce dernier coûte suffisamment cher pour ne pas être à la portée de simples individus mais seulement d'États ou groupes d'états (Union Européenne, OTAN, etc.).

   Du jour où l'on interdira le chiffrement; dès lors regarder dans le slip du voisin ne sera plus qu'un jeu d'enfant à quelques centaines d'euros et donc accessible à tous. Fini les enquêtes de journalistes d'investigation, fini les plaintes de citoyens, fini en fait énormément de choses; du moins "fini sans risques de se faire écraser par une voiture".

   Le législatif belge d'argumenter que «cela facilitera nos enquêtes». Enquêtes sans contrôle de la Justice et des Ministres compétents certes, mais cela ne constitue pas une avancée démocratique. Pour le reste au contraire: un enquêteur sera vite repérable au fait que, lui, dispose d'une application de chiffrement.

   Si j'ajoute à cela que en Belgique, suite aux attentats islamistes, on a fait passer un registre national des numéros de téléphone tant fixes que portables, tant avec abonnement que à cartes prépayées, le risque pour les citoyens ne provient pas vraiment de l'État (qui a déjà les moyens de le surveiller même sur du chiffré comme déjà dit ici) que des différents groupes extrémistes et mafieux.

   Que ce registre des numéros soit piraté et on ne comptera plus les emmerdes subies par les citoyens...

   Bref, il faut sauvegarder notre droit à chiffrer nos communications pour continuer à vivre sous la loi démocratique et non sous la loi des gangs et des mafieux!!!

-----------------

   J'en profite donc pour partager ici un utilitaire de chiffrement de fichiers (tous types de fichiers, mais réellement efficace qu'avec les fichiers pur texte) de ma composition. Il a été programmé initialement sous Linux via Python. Il fonctionne à partir de Python 3, donc pas sous VS-Code qui utilise une version antérieure. Et comme c'est écrit en Python, moyennant la présence de cet interprétateur sur l'ordinateur il peut être utilisé tant sous Linux que Windows que Mac-OS.

   Alors je sais qu'il existe un module Python nommé "cryptography" et dédié à ce genre de choses mais je ne sais pas l'utiliser (je débute à peine en langage Python). C'est donc avec le premier algorithme inventé par les hackers de l'époque de la sortie de MS-DOS et de la programmation BASIC que j'ai effectué les opérations de (dé)chiffrement.

   Fichier Python ici:

Partager cet article
Repost0
9 septembre 2021 4 09 /09 /septembre /2021 08:59

   Je sais que pour programmer des jeux en langage Python, la préférence se porte sur le module "pygame" mais comme il n'est pour l'instant pas disponible en 64 bits, que par ailleurs il n'est pas forcément préinstallé avec le téléchargement par défaut d'un IDE (EDI) Python, et qu'ensuite je ne le maîtrise pas à 100%; j'ai voulu utiliser le module universel tous OS (32 et 64 bits) de Python: tkinter.

   Un petit et bête jeu qui m'aura demandé trois jours pour résoudre le problème suivant: comment remplacer une photo par une seconde photo dans le canevas (Canvas)? Puis un quatrième jour pour la finition, sans compter les nuits (deux) que j'ai passées dessus.

   Bref, tête dans les étoiles, nous rêverons donc, comme Elon Musk, de conquête spatiale et de Mars...

   Dossier zippé et gratuit ici; il contient le programme et deux photos en format GIF, pas de son pour ce programme malheureusement ou tant mieux je sais pas:

Partager cet article
Repost0
29 août 2021 7 29 /08 /août /2021 07:47

   Exercice corrigé et expliqué pour la version Wikipédia Qibla.xls . C'est la version qu'on peut qualifier de "Halal".

Un problème de trigonométrie appliquée: le calcul de la Qibla

   Alors, j'ai continué mon exercice. L'exercice consiste à trouver la direction selon une boussole de la Kaaba (la Qibla donc) depuis un lieu dont on connaît les coordonnées de latitude et longitude.

   La réponse sur Wikipédia (voir fichier Qibla.xls et lien inclus dedans vers l'article) fonctionne parfaitement pour le calcul le plus admis dans le monde entier de la direction de la Qibla. C'est-à-dire qu'il y a une particularité pour, par exemple, les Amériques: ainsi à New-York ce n'est pas vers le Sud-Est mais bien vers le Nord-Est que je dois me tourner pour prier.

   Pour certains résultats qui sembleraient inadéquats (pour le Maroc par exemple) se reporter à l'article https://fr.wikipedia.org/wiki/Qibla qui explique avec un très bon graphique ces semblant d'incohérences. En fait ces incohérences sont dues au fait qu'il s'agit d'angles de boussole, et non de l'angle depuis le lieu où je suis dans l'absolu. C'est-à-dire qu'il faut que ce soit un angle d'un tracé allant entre non deux lieux (celui où je me trouve et la Kaaba) mais bien entre trois lieux: le Pôle Nord, le lieu où je me trouve et la Kaaba! J'y reviens en fin d'article.

   Cette position avait fait débat et a été tranchée par une majorité des autorités religieuses musulmanes; c'est bien ainsi qu'il faut le pratiquer même si une petite dissidence continue de prier au Sud-Est.

   L'équation qu'on peut qualifier de "Halal" est donc bien celle de Wikipédia en Qibla.xls.

   Bref voici le fichier:

Selon Wikipédia

   En fait ces semblances d'incohérences sont dues à ce qu'il s'agit certes d'angles de boussoles mais rapportés sur une sphère! La Terre réelle qui est bien une sphère et donc ces angles obtenus ne sont pas à comparer avec une mappemonde plate surtout projection Mercator comme je l'avais initialement réalisé car, comme moi alors, on ne saurait comprendre l'enjeu de cette sphéricité sur les angles.

   Pour illustration le dessin ci-dessous d'une sphère avec deux méridiens et deux parallèles, l'une au Nord, l'autre au Sud, qui montrent clairement que à mêmes latitudes deux points de longitudes différentes ne se trouvent pas forcément à 90° de boussole; en fait ça dépend de la latitude.

Un problème de trigonométrie appliquée: le calcul de la Qibla

   À cette sphéricité s'ajoute l'origine "naturaliste" de la détermination de la Qibla, qui explique le choix du calcul par le Grand Cercle. Il ne s'agit donc pas d'un argument d'autorité (car ce n'est pas parce que l'on est nombreux à avoir tort que l'on aurait pour autant raison; les arguments d'autorité sont donc des non-arguments) mais bien d'un argument scientifique et raisonné que je vais aussitôt expliquer.

   L'origine "naturaliste" détermine la Qibla non par des calculs mais bien par la définition qui veut que l'on se tourne vers la direction marquée lorsque le Soleil est au zénith de la Kaaba, exactement au-dessus.

   Or lorsque le Soleil est au zénith de la Kaaba, si je prolonge l'axe Soleil-Kaaba j'arrive à l'exact centre de la Terre. Ce qui fait que forcément tout point depuis lequel je me tourne vers la Qibla passe forcément par un cercle dessiné par ce rayon terrestre, définition même du Grand-Cercle!

   Ce qui explique finalement pourquoi si je me place à la même latitude que la Kaaba mais au milieu de la Mauritanie (disons longitude de -10° Ouest) j'obtiendrai un angle non de 90° mais bien de 80,4° de boussole! Et ce résultat bien que surprenant est tout-à-fait exact et halal.

   En effet: je dois prendre en compte non-seulement la déformation des méridiens mais aussi le fait qu'il s'agit du grand-cercle et non d'une simple parallèle à l'équateur (petit-cercle).

Partager cet article
Repost0
22 avril 2021 4 22 /04 /avril /2021 21:33

   Avant de passer une matinée à améliorer ce qui avait déjà été fait (2 modules seulement) et à programmer et déboguer le reste, puis tester, et bien avant tout cela, et après une 50 cl de bière Heineken hollandaise d'Amsterdam, je me suis dit «et si j'enregistrais une minute de silence?» principalement pour tous les dégâts causés par le CoViD-19 sur les démocraties mais aussi les morts dans le monde entier.

   Enregistrer une minute de silence c'est pas si simple qu'il n'y paraît mais pour s'acharner là-dessus faut être un peu con. Mais comme disais Serge Gainsbourg: «la connerie est la décontraction de l'intelligence»; et personnellement j'ajouterai que malheureusement «pour les cons, l'intelligence est une torture»...

   Mais bon. Voici donc la minute de pur silence:

   Alors, du plus sérieux maintenant: parlons programmation en langage Python d'un gestionnaire de QCM (Questionnaire à Choix Multiples) d'évaluation (donc à notation, cotation, points). Grosso-modo je ne vais pas m'étendre sur les explications de la logique des codes-sources des différents modules; je vais juste tenter de présenter un mode d'emploi.

   En premier l'enseignant devra écrire via un éditeur de texte simple mais permettant d'enregistrer au format UTF-8 (ainsi Bloc-Notes sous Windows, MousePad sous Linux ou tout autres, il y en a aussi pour le Mac OS) le QCM à proposer à l'étudiant.

   Là il faut expliquer la logique de l'écriture car il y a un peu de choses du type "hypertexte" à ajouter. On prendra en exemple celui qui m'a servi de test:

   Donc on remarque d'abord des entrées à la ligne manuelles. Très important ça. Aussi des paragraphes, dont celui d'introduction, terminés par une ligne ne comprenant que deux étoiles "**". Ces ** indiquent aux logiciels qu'il s'agit d'un paragraphe de remarque n'appelant aucune réponse autre que la touche [Entrée]. Ce sont des formes de remarques-pauses dans le déroulement du QCM.

   Lorsque des choix arrivent, numérotés à partir de 1, à la fin de ces choix on remarque deux lignes: une premières de double-moins "--" indiquant aux programmes qu'un choix est posé et une suivante avec un numéro qui correspond au nombre de choix laissés.

   Juste après ça reprend. La dernière ligne ne peut être un **, mais doit être laissée vide.

   À noter qu'il n'y a qu'un choix possible. Que le choix zéro (0) est proposé par les programmes et correspondent à «Je ne sais pas / aucune réponse satisfaisante»; ce qui est important car cela signifie que le choix 0 peut très bien valoir des points.

   Après avoir enregistré, dans le même répertoire que le répertoire où se trouvent les modules Python, le fichier texte QCM (pour moi ça a été "cg1A01.txt"), l'enseignant devra exécuter configQCM.py afin de sauvegarder les notes attribuées à chaque réponse de chaque question dans un fichier binaire "points..." (ici "pointscg1A01.txt").

   L'exécution de verifQCM.py sert à générer un fichier pur texte UTF-8 mais dont le format d'entrée de lignes dépendra de l'OS sur lequel on l'aura exécuté (Windows, Linux, Mac OS) qui synthétise l'ensemble des notes attribuées dans le fichier "correct...".

   L'étudiant, lui, ne doit disposer que de trois choses: un numéro ou "matricule" d'étudiant, le logiciel remplirQCM.py, et le fichier de QCM dont je parlais en premier. Il en retire un fichier "r"+"numéro d'étudiant"+"nom du fichier QCM" (tel "r001cg1A01.txt").

   C'est ce fichier "r" qui doit être renvoyé au professeur qui alors exécutera corrigerQCM.py pour chaque matricule d'étudiant et qui génère un autre fichier pur texte "t..." ou "temp..." si je me souviens bien.

   Le résultat, les notes, sont indiqués en points et en pourcentage à une décimale après la virgule près et peut (doit) être intégrée dans un tableur reprenant les notes générales de tous les étudiants.

   Bref voici ces logiciels Libre et Open Source et Gratuits:

Partager cet article
Repost0
22 décembre 2020 2 22 /12 /décembre /2020 07:05
Programme graphique qui a demandé du temps pour la finition...

   Alors, si je suis resté au moins trois mois (quatre maintenant) sans mixes c'est que j'étais surtout pris par la programmation. D'abord programmation d'une fusion entre mes programmes graphiques de polygones et d'étoiles, fusion que je présenterai en bas d'article.

   Ensuite un programme rapide à coder, mais dont la résolution de la fluidification "comme dans la vidéo" de l'inventeur du concept a été très longue...

   À ce propos, voici la vidéo de l'inventeur en question; notez bien que son programme n'est pas le même que le miens d'autant que le code-source de son programme n'est pas public.

   Bref ça m'a donné envie de développer mon propre programme basé exactement sur le même concept, en langage Python bien entendu, le voici suivi de son code source en format texte .txt.

   Enfin, pour la fusion de polygones et étoiles; l'un avec le module Turtle, l'autre avec Tkinter. On préfèrera le premier car il laisse voir se dessiner l'étoile dans le polygone inscrit dans un cercle "comme le ferait un humain"; mais la seconde version, plus rapide et avec présence du cercle, n'est pas mal non plus...

Programme graphique qui a demandé du temps pour la finition...
Programme graphique qui a demandé du temps pour la finition...
Partager cet article
Repost0
22 novembre 2020 7 22 /11 /novembre /2020 06:54

   Alors refonte en Python de l'utilitaire, voici les deux fichiers, le calendrier.py et le calendrier.txt en Unicode...

   Pour installer l'utilitaire, téléchargez le dossier, décompressez-le (normalement avec 7-Zip), scannez avec votre anti-virus le dossier décompressé si vous avez un doute, exécutez setup.exe qui installera le programme Calendrier 2.exe dans le menu démarrer et plus précisément à partir de Windows 8 dans la page d’accueil même ou alors dans la liste des programmes à "Hewlett Packard Company".

Version acceptée par les antivirus...

   Alors je reviens avec ce Calendrier  Grégorien "actif" dans une version refondue. Il permet désormais de découvrir le jour correspondant à une date, le nombre de jours entre deux dates et aussi la date qu'il sera dans J jours à compter de telle date. Trois fonctions donc contre deux seulement auparavant.

   Voici la logique de son code source en Visual Basic .NET Framework 2017 (fichier texte Unicode du Module1):

Partager cet article
Repost0
18 novembre 2020 3 18 /11 /novembre /2020 02:03

   Alors les versions précédentes de mes programmes de polygones présentaient une certaine lenteur à l'exécution. Cela était dû à l'usage du module Turtle de Python. Alors certes si la lenteur pouvait être perçue comme un inconvénient, elle a aussi l'avantage qu'on "voit" se dessiner le polygone sous nos yeux.

   Ici version instantanée du dessin de polygones, avec affichage du cercle dans lequel ils sont inscrits, polygones commençant à trois côtés et où on a le choix d'augmenter ou de diminuer à tout moment de 1 le nombre de côtés par simple clic.

   Et le fichier texte Unicode des lignes de programmation:

Partager cet article
Repost0

Présentation

  • : Town Ground anc. Igor Gorovitch
  • : Créations électroniques d'un dissident du numérique bien intégré. Musique style 90's et (un peu) programmation style années 1980 (80's). Les eighties au cœur.
  • Contact

Recherche