Et gros hic, en boîte à outils en C et C++ on est que peu servi : […]
Il y a aussi Electron, en utilisant les addons C++ de Node.js pour éviter d'avoir à coder en JavaScript, mais c'est vrai que c'est un peu plus compliqué à mettre en œuvre que les boîtes à outils citées, sans compter une certaine lourdeur vu que c'est basé sur chromium.
Il y a aussi Chromium Embedded Framework, basé sur le même principe, avec probablement les mêmes inconvénients.
Fut un temps, on avait l'équivalent pour Firefox, avec XULRunner. J'avais écrit un journal à l'époque…
Il me semble que les masques offrent bien une protection particulière pour le porteur, puisque cela bloque au moins un mode de transmission : toucher un objet contaminé, puis porter ses mains au visage. Avec un masque, c'est impossible,[…]
De ce que j'ai compris, les yeux sont également une porte d'entrée pour le virus. En supposant que l'on parvienne à éviter de se toucher les yeux avec des mains contaminées, on reste quand même à la merci, avec ce genre de masque, d'un porteur du virus qui tousse/éternue/postillonne/…. D'ailleurs, de ce que j'ai pu observer, ceux qui portent un masque FFP2 portent également, entre autres, une protection pour les yeux.
Le graphique en question s'affiche dans un navigateur web, et l'application tente d'ouvrir automatiquement le lien correspondant, qui est celui affiché (http://faas1.q37.info/faas.php?…).
Cela varie en fonction du système d'exploitation, mais, dans le cas présent, c'est la commande xdg-open qui est utilisée pour ouvrir ce lien. J'ignore pourquoi cela échoue, mais, à priori, ce n'est pas l'application en soi qui est fautive.
Pour vérifier cela, il faudrait essayer de lancer, par exemple, xdg-open http://linuxfr.org à partir du terminal pour voir si on obtient les mêmes messages d'erreur.
Quoiqu'il en soit, copier, dans un navigateur web, l'URL affichée par l'application devrait afficher le graphique en question. Ce n'est pas pratique, c'est pour cela que l'application tente d'ouvrir automatiquement le lien en question.
Avec certains terminaux, il est possible d'ouvrir une URL avec un clic droit…
Je me disais bien que ça devait exister, mais je n'avais pas trouvé. Cependant, ils ne semblent pas utiliser les mêmes données ; il y a quelques différences, mais c'est minime.
C'est le nom d'une mini-série et d'un livre dans lesquels on suit en parallèle l'émergence du virus Ebola en Afrique centrale, et celle d'un virus similaire prés de Washington, D.C.
Dans le premier lien, il est indiqué que, pour une personne physique, elle doit obligatoirement inscrire sur son site :
- Les nom et prénom ;
- l'adresse du domicile ;
- l'adresse de courrier électronique ;
- le numéro de téléphone.
Pourtant, l'article 6 auquel ce lien fait référence précise bien (III-2) :
Les personnes éditant à titre non professionnel un service de communication au public en ligne peuvent ne tenir à la disposition du public, pour préserver leur anonymat, que le nom, la dénomination ou la raison sociale et l'adresse du prestataire mentionné au 2 du I, sous réserve de lui avoir communiqué les éléments d'identification personnelle prévus au 1.
Mise à jour qui permet de formater les textes affichés avec print(…) et input(…) grâce aux fonctions suivantes.
set_property(name,value) applique la propriété CSS de nom name et de valeur valeur.
Exemple:
set_property("font-style":"italic")
set_properties(properties) applique les propriétés CSS stockées dans properties, qui est un dictionnaire dont les clefs sont les noms des propriétés, et les valeurs les valeurs de ces propriétés.
reset_properties() efface toutes les propriétés appliquées avec les fonctions ci-dessus.
Dans le dépôt GitHub, Basic.py est une exemple d'utilisation de print(…) et input(…), mais sans formatage CSS. WithCSS.py montre comment on applique des propriétés CSS et le résultat.
Suite à des certaines remarques, je précise que, contrairement aux autres programmes basés sur le toolkitAtlas, il n'est pas possible de lancer deux instances simultanées d'un même programme utilisant term2web. C'est volontaire, pour ne pas rendre la mise en œuvre de cette bibliothèque plus complexe. Elle est principalement destinée à être utilisée par des débutants, pour les familiariser avec l'environnement dans lequel évolue le genre d'exercice que l'on trouve à l'adresse https://q37.info/s/g9fvwzgp.
Il est possible de continuer à utiliser mercurial et de rester sous Bitbucket. Il existe en effet un plugin mercurial qui permet de répercuter de manière transparente les push/pull sur un dépôt mercurial vers un dépôt git.
Je l'utilise tous les jours, certes dans un seul sens (mercurial vers git), mais je n'ai jamais rencontré de problèmes…
Le plugin en question : https://hg-git.github.io/
En fait, les chaînes de caractères qui transitent par ces fonctions sont uniquement récupérées de formulaires HTML et affichées dans des pages HTML, tous encodés en utf8 ; elles ne sont jamais lues à partir de la console, ou écrites dans la console. C'est peut-être pour cela que je n'ai jamais rencontré de problèmes…
pourquoi passer de str/chr à bytes ? ça j'ai pas suivi…
Certaines fonctions qui prenaient un string en version 2 n'acceptent plus qu'un objet bytes en version 3, comme la méthode send de l'objet socket (v2, v3).
pourquoi ajouter decode("utf-8") alors qu'un use utf-8 suffirait en en-tête ? (bientôt obsolète j'espère)
"utf-8" est inutile, étant la valeur par défaut du paramètre correspondant, mais le decode() est nécessaire pour convertir l'objet bytes retourné par socket.recv(…) en string.
J'ai voulu essayer use …, mais je n'ai pas trouvé de documentation à ce sujet…
[…] à part la différenciation str/bytes qui ajoute de la complexité apparente à Python3. Je dis bien apparente car elle force au final à raisonner de manière plus précise sur nos données […]
Il y a quelque temps, j'ai développé des fonctions pour faire transiter des chaînes de caractères via des sockets. Bien que je n'avais quasiment jamais fait de Python, j'ai trouvé la version pour Python 2 assez facile à écrire. Par contre, pour la version Python 3, ça a quand même été un petit peu plus compliqué.
Voilà les deux versions ; on ne sait jamais, ça servira peut-être à quelqu'un…
(Oui, je sais, je n'aurais pas du utiliser le camelCase, mais je débutais en Python, et n'avais pas connaissance des règles en la matière…)
… que Python est le langage retenu par l'Éducation nationale pour les cours de sciences numériques et technologie, cours qui est obligatoire pour tous les élèves des classes de seconde des lycées généraux et technologiques.
Alors, avant que je n'oublie, quelques liens qui donnent sur un 404 :
dans le lien ci-dessus, section Librairies (qui, soit dit en passant, devrait être intitulée Bibliothèques), le lien sur entree ;
dans le README.md du dépôt GiHub, les 4 derniers liens.
À mon tour, je me permets de présenter une approche différente, mais qui me semble complémentaire, à savoir une bibliothèque qui s'inspire de la tortue du Logo. Ça permet aux élèves d'écrire quelque-chose du genre :
En combinaison avec l'outil présenté dans cette dépêche, on peut créer un exercice qui consiste à leur faire écrire, par exemple, quelque chose de ce genre :
Tu as dû mal lire la remarque de magnolia, ça n'est pas ce qu'il reprochait : il parlait bien du risque d'engager les profs dans cette voie.
De quoi parles-tu exactement ? Le commentaire auquel tu réponds est ma réponse à ta propre remarque …proposer ça comme outil à faire connaître à tous les lycéens…, pour signaler que ce n'est absolument pas le cas.
Et moi en plus en tant qu'apprenant, j'aime bien aller voir ce qu'il y a derrière. Ça sera problématique à ce moment-là également.
Et qu'est-ce qui serait moins problématique pour toi ? Un outil propriétaire développé par une multinationale qui en profiterait pour soutirer un maximum de données personnelles des élèves et des enseignants afin de les abreuver de publicités ?
[^] # Re: C'est mal parti dans certains endroits ...
Posté par Claude SIMON (site web personnel) . En réponse au journal Mieux que Santa Barbara : Munich revient aux logiciels libres. Évalué à 6. Dernière modification le 17 mai 2020 à 22:36.
Microsoft Visual Studio, non, Visual Studio Code, oui.
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: Infos supplémentaires
Posté par Claude SIMON (site web personnel) . En réponse à la dépêche Électronique sous GNU/Linux — 15 ans de Libre plus tard. Évalué à 5.
Si on va par là, plutôt utiliser VSCodium, dont la relation à Visual Studio Code est comparable à celle de Chromium avec Google Chrome.
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: Déception
Posté par Claude SIMON (site web personnel) . En réponse au lien Discussion d'un possible fork de Qt qui pourrait devenir payant la 1e année . Évalué à 4.
Il y a aussi Electron, en utilisant les addons C++ de Node.js pour éviter d'avoir à coder en JavaScript, mais c'est vrai que c'est un peu plus compliqué à mettre en œuvre que les boîtes à outils citées, sans compter une certaine lourdeur vu que c'est basé sur chromium.
Il y a aussi Chromium Embedded Framework, basé sur le même principe, avec probablement les mêmes inconvénients.
Fut un temps, on avait l'équivalent pour Firefox, avec XULRunner. J'avais écrit un journal à l'époque…
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: C'est le flicage à outrance qui va 5 minutes
Posté par Claude SIMON (site web personnel) . En réponse au journal Apple et Google main dans la main (le temps d'une pandémie). Évalué à 3.
La période est propice à la confusion…
« Smart IoT Crafting » : l'IoT pour tous
# Il y a aussi les yeux…
Posté par Claude SIMON (site web personnel) . En réponse au journal De l'usage et de l'entretien des masques de protection. Évalué à 5.
De ce que j'ai compris, les yeux sont également une porte d'entrée pour le virus. En supposant que l'on parvienne à éviter de se toucher les yeux avec des mains contaminées, on reste quand même à la merci, avec ce genre de masque, d'un porteur du virus qui tousse/éternue/postillonne/…. D'ailleurs, de ce que j'ai pu observer, ceux qui portent un masque FFP2 portent également, entre autres, une protection pour les yeux.
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: Pourquoi ...
Posté par Claude SIMON (site web personnel) . En réponse au journal Le gouvernement français autorise la prescription de l'hydroxychloroquine en traitement du COVID-19. Évalué à 2.
Dans la même veine, la téléportation de l'ADN, développé par un lauréat du prix Nobel.
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: Erreurs
Posté par Claude SIMON (site web personnel) . En réponse au journal Où il est encore question du confinement…. Évalué à 3.
Merci pour le retour.
Le graphique en question s'affiche dans un navigateur web, et l'application tente d'ouvrir automatiquement le lien correspondant, qui est celui affiché (
http://faas1.q37.info/faas.php?…
).Cela varie en fonction du système d'exploitation, mais, dans le cas présent, c'est la commande
xdg-open
qui est utilisée pour ouvrir ce lien. J'ignore pourquoi cela échoue, mais, à priori, ce n'est pas l'application en soi qui est fautive.Pour vérifier cela, il faudrait essayer de lancer, par exemple,
xdg-open http://linuxfr.org
à partir du terminal pour voir si on obtient les mêmes messages d'erreur.Quoiqu'il en soit, copier, dans un navigateur web, l'URL affichée par l'application devrait afficher le graphique en question. Ce n'est pas pratique, c'est pour cela que l'application tente d'ouvrir automatiquement le lien en question.
Avec certains terminaux, il est possible d'ouvrir une URL avec un clic droit…
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: Je crois que ça existait déjà
Posté par Claude SIMON (site web personnel) . En réponse au journal Où il est encore question du confinement…. Évalué à 1.
Je me disais bien que ça devait exister, mais je n'avais pas trouvé. Cependant, ils ne semblent pas utiliser les mêmes données ; il y a quelques différences, mais c'est minime.
En tout cas, merci pour le lien…
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: Chernobyl n'est pas du tout la même chose
Posté par Claude SIMON (site web personnel) . En réponse au journal Que regarder pendant le Grand Confinement ?. Évalué à 1. Dernière modification le 17 mars 2020 à 18:00.
Du coup, on peut également citer Malevil, autant le film que le roman dont il est inspiré (il existe également un téléfilm tiré du même roman).
Y est également abordée, entre autres, l'angoisse des survivants d'une explosion probablement nucléaire d'être contaminés par d'éventuelles retombées.
« Smart IoT Crafting » : l'IoT pour tous
# The Hot Zone
Posté par Claude SIMON (site web personnel) . En réponse au journal Que regarder pendant le Grand Confinement ?. Évalué à 4.
C'est le nom d'une mini-série et d'un livre dans lesquels on suit en parallèle l'émergence du virus Ebola en Afrique centrale, et celle d'un virus similaire prés de Washington, D.C.
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: protocoles ?
Posté par Claude SIMON (site web personnel) . En réponse au journal Des virus et du télétravail. Évalué à 2.
Et moi qui vient juste de me lancer dans l'implémentation du protocole WebSocket…
« Smart IoT Crafting » : l'IoT pour tous
# Et l'anonymat ?
Posté par Claude SIMON (site web personnel) . En réponse au journal Sites : mentions légales, RGPD, bonnes adresses et rappel. Évalué à 2.
Dans le premier lien, il est indiqué que, pour une personne physique, elle doit obligatoirement inscrire sur son site :
- Les nom et prénom ;
- l'adresse du domicile ;
- l'adresse de courrier électronique ;
- le numéro de téléphone.
Pourtant, l'article 6 auquel ce lien fait référence précise bien (
III-2
) :C'est quand même une omission de taille…
« Smart IoT Crafting » : l'IoT pour tous
# Et pour KDE…
Posté par Claude SIMON (site web personnel) . En réponse au lien Argos: Créez des extensions GNOME Shell en quelques secondes. Évalué à 4.
…il y a Kargos.
« Smart IoT Crafting » : l'IoT pour tous
# Nouvelle version
Posté par Claude SIMON (site web personnel) . En réponse au journal term2web : un terminal sur le Web (Python). Évalué à 1. Dernière modification le 17 janvier 2020 à 16:30.
Mise à jour qui permet de formater les textes affichés avec
print(…)
etinput(…)
grâce aux fonctions suivantes.set_property(name,value)
applique la propriété CSS de nomname
et de valeurvaleur
.Exemple:
set_properties(properties)
applique les propriétés CSS stockées dansproperties
, qui est un dictionnaire dont les clefs sont les noms des propriétés, et les valeurs les valeurs de ces propriétés.Exemple:
reset_properties()
efface toutes les propriétés appliquées avec les fonctions ci-dessus.Dans le dépôt GitHub,
Basic.py
est une exemple d'utilisation deprint(…)
etinput(…)
, mais sans formatage CSS.WithCSS.py
montre comment on applique des propriétés CSS et le résultat.Suite à des certaines remarques, je précise que, contrairement aux autres programmes basés sur le toolkit Atlas, il n'est pas possible de lancer deux instances simultanées d'un même programme utilisant term2web. C'est volontaire, pour ne pas rendre la mise en œuvre de cette bibliothèque plus complexe. Elle est principalement destinée à être utilisée par des débutants, pour les familiariser avec l'environnement dans lequel évolue le genre d'exercice que l'on trouve à l'adresse https://q37.info/s/g9fvwzgp.
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: Faute à corriger
Posté par Claude SIMON (site web personnel) . En réponse au journal Courrier à mon député : jugement rendu récemment sur la redevance sur la diffusion de musique libre. Évalué à 3.
« Smart IoT Crafting » : l'IoT pour tous
[^] # … ou juste à coté
Posté par Claude SIMON (site web personnel) . En réponse à la dépêche Organisation des rencontres autour de Python à Strasbourg. Évalué à 1.
Il y en a pas mal qui font du Scratch en classe de troisième, mais je ne sais pas si c'est généralisé…
« Smart IoT Crafting » : l'IoT pour tous
# Possibilité de contournement
Posté par Claude SIMON (site web personnel) . En réponse au journal Bitbucket abandonne les utilisateurs de Mercurial. Évalué à 8.
Il est possible de continuer à utiliser mercurial et de rester sous Bitbucket. Il existe en effet un plugin mercurial qui permet de répercuter de manière transparente les push/pull sur un dépôt mercurial vers un dépôt git.
Je l'utilise tous les jours, certes dans un seul sens (mercurial vers git), mais je n'ai jamais rencontré de problèmes…
Le plugin en question : https://hg-git.github.io/
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: Question
Posté par Claude SIMON (site web personnel) . En réponse au journal Exit Pyth(on|ran)2. Évalué à 1.
En fait, les chaînes de caractères qui transitent par ces fonctions sont uniquement récupérées de formulaires HTML et affichées dans des pages HTML, tous encodés en utf8 ; elles ne sont jamais lues à partir de la console, ou écrites dans la console. C'est peut-être pour cela que je n'ai jamais rencontré de problèmes…
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: Question
Posté par Claude SIMON (site web personnel) . En réponse au journal Exit Pyth(on|ran)2. Évalué à 2. Dernière modification le 11 janvier 2020 à 10:45.
Certaines fonctions qui prenaient un string en version 2 n'acceptent plus qu'un objet bytes en version 3, comme la méthode
send
de l'objet socket (v2, v3)."utf-8"
est inutile, étant la valeur par défaut du paramètre correspondant, mais ledecode()
est nécessaire pour convertir l'objet bytes retourné par socket.recv(…) en string.J'ai voulu essayer
use …
, mais je n'ai pas trouvé de documentation à ce sujet…« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: Question
Posté par Claude SIMON (site web personnel) . En réponse au journal Exit Pyth(on|ran)2. Évalué à 3.
Je viens d'essayer avec Python 2.7.15+ avec les caractères
⯈⯈⯈ éàôö…
, et ça fonctionne sans problème…« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: Question
Posté par Claude SIMON (site web personnel) . En réponse au journal Exit Pyth(on|ran)2. Évalué à 8. Dernière modification le 10 janvier 2020 à 14:40.
Bonne idée, mais c'est un peu trop petit…
Je tente avec du Markdown :
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: Question
Posté par Claude SIMON (site web personnel) . En réponse au journal Exit Pyth(on|ran)2. Évalué à 2.
Il y a quelque temps, j'ai développé des fonctions pour faire transiter des chaînes de caractères via des sockets. Bien que je n'avais quasiment jamais fait de Python, j'ai trouvé la version pour Python 2 assez facile à écrire. Par contre, pour la version Python 3, ça a quand même été un petit peu plus compliqué.
Voilà les deux versions ; on ne sait jamais, ça servira peut-être à quelqu'un…
(Oui, je sais, je n'aurais pas du utiliser le camelCase, mais je débutais en Python, et n'avais pas connaissance des règles en la matière…)
La version pour Python 2 :
et la version pour Python 3 :
(Code source extrait respectivement de https://github.com/epeios-q37/atlas-python/blob/be77cf9d5c8921877fecc1ed1bfa3819fc7e7546/atlastk/XDHqDEMO2.py et https://github.com/epeios-q37/atlas-python/blob/be77cf9d5c8921877fecc1ed1bfa3819fc7e7546/atlastk/XDHqDEMO3.py.)
« Smart IoT Crafting » : l'IoT pour tous
# Sans compter…
Posté par Claude SIMON (site web personnel) . En réponse à la dépêche Organisation des rencontres autour de Python à Strasbourg. Évalué à 3.
… que Python est le langage retenu par l'Éducation nationale pour les cours de sciences numériques et technologie, cours qui est obligatoire pour tous les élèves des classes de seconde des lycées généraux et technologiques.
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: Pydiderotlibs
Posté par Claude SIMON (site web personnel) . En réponse à la dépêche Apprentissage de la programmation dans les lycées (SNT/NSI) — la création d’exercices. Évalué à 3.
Bonjour !
Alors, avant que je n'oublie, quelques liens qui donnent sur un 404 :
entree
;README.md
du dépôt GiHub, les 4 derniers liens.À mon tour, je me permets de présenter une approche différente, mais qui me semble complémentaire, à savoir une bibliothèque qui s'inspire de la tortue du Logo. Ça permet aux élèves d'écrire quelque-chose du genre :
qui permet d'obtenir ça :
En combinaison avec l'outil présenté dans cette dépêche, on peut créer un exercice qui consiste à leur faire écrire, par exemple, quelque chose de ce genre :
J'en parle dans ce journal.
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: NSI
Posté par Claude SIMON (site web personnel) . En réponse à la dépêche Apprentissage de la programmation dans les lycées (SNT/NSI) — la création d’exercices. Évalué à 2.
De quoi parles-tu exactement ? Le commentaire auquel tu réponds est ma réponse à ta propre remarque
…proposer ça comme outil à faire connaître à tous les lycéens…
, pour signaler que ce n'est absolument pas le cas.Et qu'est-ce qui serait moins problématique pour toi ? Un outil propriétaire développé par une multinationale qui en profiterait pour soutirer un maximum de données personnelles des élèves et des enseignants afin de les abreuver de publicités ?
« Smart IoT Crafting » : l'IoT pour tous