Bon, je vois que tu tiens toujours à ton toolkit :)
Ben je ne vais pas l'abandonner alors qu'il connaît un succès croissant :-) …
Tu as gagné en clarté dans tes explications, mais en fait on ne voit toujours pas en quoi tu simplifies le développement web.
Le toolkitAtlas n'est pas conçu pour le développement web. Il est conçu pour le développement d'interfaces graphiques. Simplement, au lieu de s'appuyer sur GTK, Qt ou encore wxWidget, il s'appuie sur des technos web (HTML(/CSS) et DOM). Ce qui fait que des applications utilisant le toolkitAtlas sont de facto des applications web, mais ce n'est pas le but premier.
Selon moi, toutes tes nouvelles notions complexifient le truc !
Justement, il n'y a pas de nouvelles notions. Le toolkitAtlas s'appuie uniquement sur des technologies qui ont fait leurs preuves et qui sont ultra-documentées, à savoir HTML(/CSS) et DOM. La particularité du toolkitAtlas est que les manipulations sur le DOM ne se font plus en JavaScript (ou assimilé) dans le frontend, mais directement dans le backend, avec le langage de son choix. De ce fait, il n'y a plus à proprement parlé de backend et de frontend.
De la même manière, le toolkitAtlas ne s'appuie par sur une architecture MVC. Note que je n'ai rien contre le principe derrière MVC, — j'en utilise moi-même un équivalent dans toutes mes applications — mais il y a des situations où elle est inopportune, par exemple dans le cadre d'une initiation à la programmation…
Peux-tu par exemple comparer Atlas à d'autres façons de faire et mettre côte à côte deux exemples pour démontrer que tu simplifies les choses par rapport à du classique Node/Vue ou autre ? Ou même un simple développement web en Python avec un Bottle par exemple ?
Je n'ai jamais entendu parler de Bottle, mais, après quelques recherches, je suppose que tu parles du framework Python…
Si tel est le cas, à l'instar de Django cité dans un précédent commentaire, il me semble que Bottle ne suffise pas à lui seul pour développer une SPA, donc la comparaison avec le toolkitAtlas est délicate.
J'ai néanmoins tenté d'extrapoler le "Hello World", écrit avec Bottle, que j'ai trouvé ici et qui ressemble à ça :
Ce programme va ouvrir un navigateur web et lui passer une page contenant, entre autres, le code HTML <h1>Hello World!</h1>.
Bon, comme dit, Bottle et le toolkitAtlas n'ayant pas vraiment la même finalité, la comparaison me semble d'un intérêt assez limité.
Ceci dit, si tu as des exemples de SPA, pas trop gros évidemment, réalisées avec Bottle, ou un autre outil, je veux bien écrire son équivalent avec le toolkitAtlas…
Tu le dis toi même, tu ne connais pas trop le développement Web et c'est là où est ta faiblesse je pense. Tu penses que tu simplifies les choses, mais en fait non.
Je ne suis pas développeur d'applications web, mais il m'arrive tout de même assez souvent de développer des interfaces web pour mes clients. Et tu penses bien que je me suis renseigné sur ce qui existait en terme d'outils dans ce domaine avant de me lancer dans le développement de mon propre outil, faute de solution qui me convienne… (je sais que certains seront tentés, mais si vous relisez attentivement ce que j'ai écrit, vous vous apercevrez que dégainer le syndrome NIH n'est pas de circonstance…)
Je trouve cette clarification très importante et intéressante. Je vois du coup le framework comme un outil de programmation rapide d'interface utilisateur.
C'est très exactement l'idée derrière ce toolkit.
Dans le cas du développement d'un outil de gestion, du coup, j'aurais tendance à le comparer dans une certaine mesure à Django que j'utilise personnellement pour dév des outils perso via quasi-exclusivement Django Admin (l'interface d'admin de Django).
Je ne connais pas Django, mais, pour ce que j'en ai vu, il ne peut, à lui seul, suffire à développer une SPA. Du coup, ce n'est pas vraiment comparable, à moins qu'il n'y ai quelque chose qui m'échappe…
Concrètement, dans quel cas conseilles-tu d'utiliser le framework ? Pour développer un nouvel outil ? Proposer une interface utilisateur à un outil ou du code existant sous forme de CLI ou de lib ?
Il existe beaucoup de toolkits ou de frameworks avec lesquels on peut développer des interfaces graphiques. Ces outils sont, pour la plupart, très performants, au prix d'une certaine complexité qui à tendance à rebuter ceux qui aimerait faire de la programmation mais n'ont pas le temps d'apprendre à maîtriser ces outils.
Les bibliothèques logicielles qui, à l'instar du toolkitAtlas, font le choix d'offrir moins de performances au profit de plus de facilité d'utilisation ont généralement pour inconvénient d'être volumineuses par eux-mêmes et/ou de par les bibliothèques qu'elles nécessitent, ce qui peut également constituer un frein à leurs utilisations.
Le toolkitAtlas est très léger (quelques dizaines de Ko tout compris pour la version Python) et sa mise en œuvre est facilitée par son utilisation de technologies ultra-documentées (HTML(/CSS) et DOM). De ce fait, cela incitera peut-être plus de gens à l'utiliser pour développer, pour leurs propres logiciels, en plus d'une CLI, une GUI…
En tout cas, je pense Le toolkitAtlas peut être utilisé dans de nombreuses circonstances, dont quelques-une sont détaillées ici (en anglais). Je répondrais volontiers à toute question concernant ces utilisations…
En plus des logiciels dédiés, il faut disposer d'un serveur web qu'il faut configurer pour une utilisation des WebSocket.
Il y a une documentation dédiée, en anglais. Je l'ai déjà remaniée pour clarifier certains points ayant fait l'objet de questions de la part d'utilisateurs, mais je suis toujours preneur de suggestions d'améliorations…
Soit je rate quelque chose, soit il n'y a aucun échappement des caractères <, > et &.
Ils sont échappés lors du traitement de la saisie, avant stockage.
L'élaboration de HTML destiné à être injecté dans le DOM peut se faire de plusieurs manières. La méthode présentée ici est la plus simple et la plus aisément compréhensible, mais nécessite effectivement de prendre quelques précautions.
Sinon, peut utiliser un des nombreux moteurs de template existants, qui prennent normalement en compte ce genre de problématiques.
Concernant le toolkitAtlas, il existe un objet permettant de construire un arbre HTML, ou XML qui est ensuite transformé en HTML à l'aide de XSL, et qui procède aux échappement nécessaires…
Et on perd aussi les retours à la ligne pour la note (il y a 2 lignes dans le textarea, mais une seule dans le tableau).
Là, c'est un effet de bord qui m'arrangeait, vu que ça fait gagner de la place ; du coup, je l'ai laissé :-).
Et sur la partie visibilité des boutons, je suis perdu : pourquoi ajouter/retirer des balises <style> du DOM plutôt que d'ajouter/retirer directement les boutons ?
Les balises style ne sont pas ajoutées/retirées, mais activées/désactivées. Activer/désactiver un bouton aurait visuellement comme effet de le griser, et non pas de le faire disparaître, comme c'est le cas ici.
Ici, l’évènement est un clic sur une ligne du tableau contenant la liste des contacts, évènement auquel a été associée l’action Select via l’attribut data-xdh-onevent.
Je suppose que ça veut dire que l'on ne peut faire cette action qu'à la souris, pas au clavier. Bonjour l'accessibilité !
C'est exact, je n'y ai pas pensé. Il faudrait probablement revoir le code HTML.
Et, franchement pour donner envie, ça aurait été bien de faire quelque chose d'un plus joli. Ce n'est quand même pas très compliqué de prendre un framework CSS comme bootstrap et l'utiliser ici.
Je n'ai jamais utilisé bootstrap, ou un quelconque framework similaire, mais je pense que son utilisation aurait probablement alourdit le programme. Mais je suis d'accord que l'apparence de ce programme est plutôt rustique, on va dire, mais, n'étant pas développeur web, mes connaissances sont plutôt limitées en la matière. Les contributions sont bienvenues…
Je ne suis probablement pas le public visé, mais je trouve que c'est assez difficile de comprendre comment ça fonctionne à la lecture de cet article (probablement, faute de repères par rapport à ce que j'ai l'habitude). Et j'ai l'impression que c'est vite limitant (comme faire des transitions CSS ? de l'infinite scroll ? gérer du routage avec différentes URL ?).
Comme je l'ai indiqué plus haut, je ne suis pas développeur web, ce qui explique sans doute que je n'ai jamais eu de demande de la part de mes clients qui ai nécessité des transitions CSS ou de l'infinite scroll (enfin, je ne crois pas, vu que je n'ai qu'une très vague idée de ce en quoi cela consiste). Maintenant, à supposer que ce ne soit pas possible facilement avec le toolkitAtlas en l'état, il est tout à fait envisageable de le modifier pour remédier à cela.
Concernant le routage d'URL, cela me semble être typiquement une fonctionnalité d'application web. Or, il existe quantité de frameworks qui offrent ce genre de fonctionnalités, et bien plus. L'objectif du toolkitAtlas n'est pas d'être un nième framework web, mais d'offrir un moyen simple et rapide de programmer une interface graphique, d'où l'absence de certaines (de la plupart ?) des fonctionnalités que l'on trouvent typiquement avec ce genre de frameworks. Que l'utilisation du toolkitAtlas transforme un programme en application web n'est qu'un effet secondaire…
Tout d'abord merci beaucoup pour tout le travail accompli sur le toolkit comme sur ces dépêches !
Merci de prendre le temps de s'y intéresser :-) !
J'ai quelques scripts python qui mériteraient bien une GUI et j'ai eu quelques soucis avec le TK de base fourni avec Python. J'étais sur le point de me lancer dans l'apprentissage de PyQT (et de QT par la même occasion) mais Atlas pourrait être une alternative moins coûteuse en temps d'apprentissage, avec la possibilité en plus de partager les applis plus facilement via les portails.
C'est précisément pour cela que ce toolkit a été conçu.
La question que je me pose est celle de la sécurité des applications mises à disposition sur ces portails, en particulier dans l'hypothèse où l'on utilise le portail public. L'applicatif est sensé gérer tout le côté authentification et gestion des accès, c'est bien ça ?
À l'image de la philosophie derrière UNIX, le toolkitAtlas ne fait qu'une seule chose, et tente de le faire le mieux possible, à savoir faciliter le développement d'une interface graphique. De ce fait, il n'offre aucune fonctionnalité en terme d'authentification, de gestion d'accès, voire relatifs aux bases de données, comme peuvent le proposer certains frameworks. D'où son appellation de toolkit, et non de framework.
Et comme il n'y a pas de serveur web, l'application a potentiellement accès à tout le disque dur sur lequel le programme tourne, ou en tout cas à toutes les données auxquelles a accès l'utilisateur actif ?
Ce n'est probablement pas évident au premier abord, mais l'ambition du toolkitAtlas n'est absolument pas d'être une alternative aux traditionnels frameworks de développement d"applications web, mais d'offrir un moyen simple et rapide d'ajouter une interface graphique à n'importe quel programme Python (dans le cas de la version Python du toolkit). Par conséquent, l'utilisation du toolkitAtlas dans un programme Python n'a pas plus d'influence sur ce à quoi ce programme Python a accès que s'il utilisait un toolkit comme PyQT. Le fait que l'utilisation du toolkitAtlas transforme de facto le programme en application web n'est, en quelque sorte, qu'un effet secondaire…
Dans ma compréhension, ce serait pour ça entre autre que l'accent est mis sur le prototypage d'applications plutôt que sur le développement d'applis web destinées à être mises en production (outre les limitations fonctionnelles potentielles par rapport à un client écrit entièrement en js) ? En gros il faut éviter de mettre des données de production dans de telles applis ?
Entre le programme et le serveur auquel il se connecte, la connexion n'est, à ce jour, pas chiffrée. Ce qui n'empêche pas le toolkitAtlas d'être utilisé en production, mais c'est clairement dans le cas où les données transitant entre l'application et le serveur ne sont pas sensibles, ou alors c'est avec mise en œuvre de la solution de contournement décrite plus bas.
Actuellement, le toolkit, quelque soit sa version, est très léger et autonome, sans dépendances. Toutes les version du toolkit, même les versions qui peuvent être installées avec un gestionnaire de paquets, peuvent être fournies sous forme d'archive auto-suffisante, ce qui facilite son utilisation notamment dans un cadre éducatif. Ajouter le chiffrement rendrait l'installation du toolkit beaucoup plus compliquée, sans compter le travail que cela représente en matière de développement, tant au niveau du toolkit proprement dit, vu sa disponibilité pour plusieurs langages, que du serveur auquel il se connecte.
Cela ne signifie pas que ce chiffrement ne sera jamais disponible, mais ce sera probablement sous forme d'extension, ou d'une version distincte, peut-être spécialement destinée à un usage professionnel, avec connexion à serveur dédié…
On peut actuellement contourner ce problème en installant le logiciel serveur (qui est diffusé sous licence libre) sur une machine sur laquelle on installerait également le programme Python. De ce fait, les échanges programme/serveur ne sortiraient pas de la machine et ne pourraient donc être que très difficilement interceptés.
Merci d'avance pour ces éclaircissements !
S'il y a d'autres points à éclaircir, ne pas hésiter à m'en faire part…
Le délai de 30 jours est écoulé. Pas de notification, mais plus aucune trace d'une quelconque revendication de droits d'auteur. Aucun historique des échanges n'est présent sur mon compte Youtube, que ce soit concernant les revendications ou mes contestations.
Tout ça m'a l'air d'être automatisé au maximum. À la moindre correspondance détectée par Content ID, on est présumé coupable, c'est-à-dire privé de ses droits d'auteurs au profit du présumé détenteur de ces droits déterminé par Content ID. Si l'on conteste, c'est ce même présumé détenteur qui traite cette contestation. J'ignore ce qui se passe si ce dernier rejette la contestation…
Vu que je suis, du moins à ce jour, reconnu comme étant l'auteur du contenu que j'ai posté, j'ai regardé, par simple curiosité, si je pouvais déclarer ce contenu auprès de Content ID pour qu'il protège mes droits. Pour le coup, la procédure¹ est loin d'être automatisée, et, me concernant, n'a probablement aucune chance d'aboutir…
Si vous utilisez un navigateur avec lequel vous vous êtes déjà connecté avec un compte Google, ce lien peut ne pas être accessible sans avoir à vous connecter avec un compte Google …
[…] j'aimerais qu'il fasse des choses compliquées avec du Python […] Probablement qu'il fait partit de ces personnes qui ont besoin de voir très rapidement un résultat sans être envahit de concepts
Je me permet de m'immiscer dans ce fil pour parler du toolkitAtlas, qui peut peut-être répondre à cette problématique.
Ainsi, il peut commencer par « dessiner », en HTML, l'interface d'une application, ou d'un jeux, en utilisant l'un des nombreux éditeurs disponibles en ligne, ou en éditant directement sur son ordinateur un fichier texte qu'il ouvrira dans un navigateur pour voir le résultat. Une fois cette interface « dessinée », il peut, pour rendre les choses plus concrètes, l'ouvrir sur son smartphone (s'il en possède un), ou éventuellement une tablette. Ça se fait très facilement, en quelques lignes de Python, grâce au toolkitAtlas. Ensuite, il peut progressivement aborder les différents concepts de programmation au travers du codage, toujours en Python, des différents gestionnaires d'évènements nécessités par son application, avec la possibilité, toujours histoire de rendre les choses plus concrètes, de voir le résultat sur son smartphone.
Mais c'est peut-être déjà trop compliqué ; en tant que développeur professionnel, j'ai du mal à apprécier le niveau de difficulté que cela représente pour un novice. D'autant que la documentation existante n'est pas vraiment adaptée, même si des efforts sont fait pour améliorer la situation. Cependant, avec l'assistance de quelqu'un qui s'y connaît en programmation, c'est peut-être jouable.
Il y a une sorte de tutoriel en gestation dans l'espace de redaction ; ça peut aussi aider.
C'est la crainte de perdre cette possibilité qui m'avait fait hésiter à aller chez un fournisseur externe, mais j'en ai trouvé un qui :
autorisait la création d'alias (mais en nombre limité) ; finalement, j'utilise cette fonctionnalité assez peu grâce aux trois fonctionnalités suivantes ;
gère le signe + : toto+…@exemple.com se retrouve dans toto@exemple.com, toto pouvant être un alias ;
permet d'associer un autre domaine au domaine principal (…@autre-exemple.org se retrouve dans …@exemple.com) ;
propose un compte catch-all, c'est-à-dire que n'importe quoi en @exemple.com qui ne correspond pas une adresse existante ou n'est pas géré par l'une des fonctionnalités ci-dessus se retrouve dans ce compte ;
Ce qui serait bien comme solution, c'est ce qui existe dans l'édition de partitions musicales.
D'un coté, on a Lilypond, qui serait l'équivalent de LaTeX, et de l'autre, des logiciels comme Frescobaldi, qui serait l'équivalent des logiciels WYSIWYG. Sauf que, dans ce cas de figure, Frescobaldi génère des fichiers au format Lilypond.
Lorsque j'écris une partition musicale, j'utilise dans un premier temps un petit utilitaire de mon cru qui génère des fichiers au format Lilypond, ce qui est facilité par le fait que le format Lilypond est un format texte, que je complète ensuite avec à l'aide de Frescobaldi, et je termine en intervenant directement sur les fichiers Lilypond pour d'éventuels ajustements. Ainsi, j'ai le meilleur des deux monde. Je l'avais d'ailleurs déjà évoqué sur LinuxFR.
Ah ben, ça n'a pas été long. L'encart a disparu, sans que cela m'ai été notifié.
Ceci dit, ce n'est pas encore fini, la contestation étant marquée en cours d'examen.
D’après ce que j'ai compris, YouTube/Google n'intervient pas lors d'une contestation : elle est simplement envoyée au titulaire putatif des droits d'auteur, à charge pour lui de renoncer ou non à ses revendications, à sa discrétion…
Je vais surveiller ça pour voir comment cela évolue…
Voici un extrait de ce qui est marqué dans la section relative aux droits d'auteur de la vidéo concernée :
Même si vous ne participez pas au Programme Partenaire YouTube, des annonces peuvent être diffusées sur votre vidéo. Les revenus générés par ces annonces servent à payer les artistes et les titulaires des droits d'auteurs qui vous autorisent à utiliser leur contenu.
Ce n'est pas explicitement indiqué, mais je suppose, vu le texte, que l'auteur m'autorise à utiliser le contenu qui lui a été faussement attribué.
Donc, je dirais que la réponse est oui.
Par curiosité, j'ai lancé une procédure de contestation, avec pour motif que l'œuvre est dans le domaine public et que j'en suis l'interprète ; je devrais recevoir une réponse sous 30 jours, d’après les indications…
Il y a quelques temps, j'ai publié sur YouTube (et également sur PeerTube, mais ce n'est pas le sujet) une vidéo avec, comme accompagnement sonore, une œuvre du domaine public interprétée par mes soins, cela pour éviter tout problème de droit d'auteur.
En bas de la description de cette vidéo trône, depuis pas mal de temps, un encart, intitulé Musique utilisée dans cette vidéo, qui référence un album contenant une interprétation de la même œuvre. Déjà, l'intitulé est trompeur, car il suggère que l'accompagnement musical de cette vidéo est issu de cet album, alors que c'est mon interprétation de cette œuvre qui est utilisée. Et l'auteur de cet album n'est pas le compositeur de l'œuvre, sinon l'intitulé aurait pu se comprendre.
Ce n'est pas de la publicité intégré à la vidéo, comme celle qui fait l'objet du lien ci-dessus, mais cela reste de la publicité, pour laquelle je ne touche bien évidemment aucune rémunération…
Sans compter mes démêlés avec le Content ID, que j'ai relaté dans ces commentaires.
On peut penser qu'il n'y a pas de différences, à l'usage, entre Visual Studio Code et VSCodium, et que passer de l'un à l'autre ne pose aucun problème. Or, ce n'est pas tout à fait exact, car VSCodium n'utilise pas le même dépôt pour les extensions que Visual Studio Code, et certaines extensions sont absentes de ce dépôt. On peut, certes, corriger cela en modifiant un fichier de VSCodium, mais, même dans ce cas-là, certaines extensions ne fonctionneront pas. Là aussi, il y a moyen de remédier à cela. Cependant, la légalité de ces deux contournements est sujette à caution : https://github.com/VSCodium/vscodium/blob/master/DOCS.md#extensions-marketplace.
C'est vrai que XUL complétait parfaitement HTML4 (ou plus exactement XHTML), lui apportant les composants graphiques permettant à l'utilisateur d'interagir efficacement avec l'application. On basculait facilement de l'un à l'autre avec les espaces de noms XML, et on pouvait utiliser les CSS sur du XUL.
XULRunner était quand même pas mal utilisé à l'époque. Je me rappelle notamment que l'application TomTom Home, une application Windows qui permettait de mettre à jour les GPS de la même marque, était basée sur XULRunner.
Moi-même je l'ai utilisé, quoique de manière atypique (utilisation de C++ à la place de JavaScript). Je m"étais même fendu d'un journal à l'époque : https://linuxfr.org/users/epeios/journaux/xulrunner-et-c (désolé, mais le blog n'existe plus).
J'étais bien embêté quand ils l'ont arrêté. Je me suis rabattu sur HTML5 dés que ce dernier a été standardisé, avec CEF pour commencer, puis avec Electron, mais toujours en C++ (on ne se refait pas…).
S'il refaisait l'équivalent de XULRunner avec le Firefox d'aujourd'hui, je pense que je laisserais tenter…
On peut trouver des membres d'ARN ce soir (comme chaque vendredi) au siège de l'association GEM Aube (97 Avenue de Colmar, 67000 Strasbourg) à partir de 19h (vaut mieux plutôt y aller vers 19h30). Je ne sais pas si ce sera le cas ce soir, mais il y a parfois également le responsable de ReflexLibre.
Officiellement, c'est la Stammtish de la Hackstub, mais comme pas mal de membres de la Hackstub sont également membres d'ARN…
Seule contrainte : venir avec un masque, pandémie oblige…
La plupart du temps, l'utilisation que j'ai de Markdown ne requiert pas de mettre du texte en rouge, ou des notes de bas de page. Mais je m'en sers cependant également pour faire des présentations. Là, il peut être intéressant de pouvoir définir, par exemple, un pied de page, ou effectivement de mettre un texte en rouge. Pour cela, je me sers d'un logiciel spécialisé. Il me permet d'écrire le plus gros de la présentation en Markdown, et propose des directives qui permettent de définir pied de page, format de présentation (4/3 ou 16/9), thème, pagination… Et pour ce qui est de mettre du texte en rouge, il reconnait HTML et CSS…
J'utilise également un logiciel de prise de notes avec une syntaxe Markdown, et même pour mon Wiki, qui s'appuie pourtant sur DokuWiki qui a sa syntaxe propre, en convertissant le document Markdown en document DokuWiki grâce à pandoc.
Pour moi, le format Markdown, grâce aux différents logiciels qui étendent ses possibilités, est vraiment le couteau suisse que j'utilise dés que j'ai besoin d'un document texte avec un minimum de formatage. Ceci dit, un CV est l'un des rares documents pour lequel je n'utilise pas Markdown.
Pour ceux que ça intéresse, le logiciel de présentation Markdown est Marp. À noter qu'on ne dispose pas de toutes les fonctionnalités que proposent habituellement les logiciels de présentations, comme les transitions entre diapositives, mais, en ce qui me concerne, je n'avais de toute manière pas l'intention d'utiliser ce genre de fonctionnalités. Cependant, il me manquait quand même une fonctionnalité, mais comme Markdown est un format texte, un autre de ses avantages pour moi, j'ai pu coder une application qui me transformait ma présentation en ce que je voulais, et que j'avais présenté dans ce journal.
Je profite de ce journal pour évoquer un rapport de bug que j'ai dernièrement ouvert et concernant le non-fonctionnement de la touche Compose dans une application, bug que le développeur de ladite application ne réussit pas à reproduire, d'où évidemment difficulté pour ce dernier de corriger ledit bug.
De fil en aiguille, on est cependant arrivé à la conclusion qu'il y a un problème avec les dernières versions d'Electron, sur lequel s'appuie l'application en question. Du coup, j'ai essayé Chromium, sur lequel s'appuie Electron, et, effectivement, le bug survient également.
Donc, si vous pouviez tester la touche Compose avec Chrome/Chromium et/ou avec des applications qui s'appuient sur Electron, et rapporter ici le comportement en donnant le maximum de détails sur les versions, ça aiderait le développeur en question, voire, si cela se confirme qu'il y a un bug avec Chrome/Chromium, cela permettrait d'ouvrir un rapport de bug circonstancié pour Chrome/Chromium.
Le bug semble se produire sous Linux, mais pas sous Windows, et seulement avec des claviers non-US.
Concrètement, chez moi, sous Kubuntu v18.0.4, avec Chromium v83.0.4103.61, Compose + o + e produit oe au lieu de œ.
Le package de base contient juste le client, le but étant justement d'éviter à l'utilisateur d'avoir à se coltiner le serveur, même s'il est parfaitement libre de monter son propre serveur. Néanmoins, comme indiqué dans le commentaire ci-dessus, le client ne peut fonctionner, du moins à ce jour, sans le serveur, dans la mesure où seul ce dernier est capable de traiter les requêtes du client.
Mais je suis de ton avis, je ne pense pas pour autant que la licence du serveur, bien qu'étant plus restrictive, contamine celle du client. Et comme cela ne contrevient pas en apparence aux licences en question, et que je suis l'unique auteur du client et du serveur, je pense que mon c'est avis qui fait autorité.
La bibliothèque logicielle elle-même, qui est installée sur la machine de l'utilisateur, est, du point de vue code, totalement indépendante du serveur. D'ailleurs, ce dernier est codé en C++, alors que la bibliothèque est codée en pur Python (ou Java, ou Node.js… selon la version). Certes, le client (qui s'appuie sur la bibliothèque) est dépendant du serveur et ne peut fonctionner sans ce dernier dans la mesure où seul ce serveur est capable de traiter ses requêtes, mais je ne pense pas que cela suffise pour que la licence du serveur contamine celle de la bibliothèque.
En tout cas, même si l'interprétation de l'auteur du ticket est envisageable, je pense que la mienne fera autorité, dans la mesure où elle ne contrevient pas aux licences concernées, et que je suis l'unique auteur, et de la bibliothèque, et du serveur.
[^] # Re: Toujours pas convaincu
Posté par Claude SIMON (site web personnel) . En réponse à la dépêche Développer une interface web avec le toolkit Atlas (1/2). Évalué à 2.
Salut !
Ben je ne vais pas l'abandonner alors qu'il connaît un succès croissant :-) …
Le toolkit Atlas n'est pas conçu pour le développement web. Il est conçu pour le développement d'interfaces graphiques. Simplement, au lieu de s'appuyer sur GTK, Qt ou encore wxWidget, il s'appuie sur des technos web (HTML(/CSS) et DOM). Ce qui fait que des applications utilisant le toolkit Atlas sont de facto des applications web, mais ce n'est pas le but premier.
Justement, il n'y a pas de nouvelles notions. Le toolkit Atlas s'appuie uniquement sur des technologies qui ont fait leurs preuves et qui sont ultra-documentées, à savoir HTML(/CSS) et DOM. La particularité du toolkit Atlas est que les manipulations sur le DOM ne se font plus en JavaScript (ou assimilé) dans le frontend, mais directement dans le backend, avec le langage de son choix. De ce fait, il n'y a plus à proprement parlé de backend et de frontend.
De la même manière, le toolkit Atlas ne s'appuie par sur une architecture MVC. Note que je n'ai rien contre le principe derrière MVC, — j'en utilise moi-même un équivalent dans toutes mes applications — mais il y a des situations où elle est inopportune, par exemple dans le cadre d'une initiation à la programmation…
Je n'ai jamais entendu parler de Bottle, mais, après quelques recherches, je suppose que tu parles du framework Python…
Si tel est le cas, à l'instar de Django cité dans un précédent commentaire, il me semble que Bottle ne suffise pas à lui seul pour développer une SPA, donc la comparaison avec le toolkit Atlas est délicate.
J'ai néanmoins tenté d'extrapoler le "Hello World", écrit avec Bottle, que j'ai trouvé ici et qui ressemble à ça :
Voilà un exemple de quelque chose, écrit avec le toolkit Atlas, qui s'en rapproche :
Ce programme va ouvrir un navigateur web et lui passer une page contenant, entre autres, le code HTML
<h1>Hello World!</h1>
.Bon, comme dit, Bottle et le toolkit Atlas n'ayant pas vraiment la même finalité, la comparaison me semble d'un intérêt assez limité.
Ceci dit, si tu as des exemples de SPA, pas trop gros évidemment, réalisées avec Bottle, ou un autre outil, je veux bien écrire son équivalent avec le toolkit Atlas…
Je ne suis pas développeur d'applications web, mais il m'arrive tout de même assez souvent de développer des interfaces web pour mes clients. Et tu penses bien que je me suis renseigné sur ce qui existait en terme d'outils dans ce domaine avant de me lancer dans le développement de mon propre outil, faute de solution qui me convienne… (je sais que certains seront tentés, mais si vous relisez attentivement ce que j'ai écrit, vous vous apercevrez que dégainer le syndrome NIH n'est pas de circonstance…)
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: Perplexe
Posté par Claude SIMON (site web personnel) . En réponse à la dépêche Développer une interface web avec le toolkit Atlas (1/2). Évalué à 3.
C'est très exactement l'idée derrière ce toolkit.
Je ne connais pas Django, mais, pour ce que j'en ai vu, il ne peut, à lui seul, suffire à développer une SPA. Du coup, ce n'est pas vraiment comparable, à moins qu'il n'y ai quelque chose qui m'échappe…
Il existe beaucoup de toolkits ou de frameworks avec lesquels on peut développer des interfaces graphiques. Ces outils sont, pour la plupart, très performants, au prix d'une certaine complexité qui à tendance à rebuter ceux qui aimerait faire de la programmation mais n'ont pas le temps d'apprendre à maîtriser ces outils.
Les bibliothèques logicielles qui, à l'instar du toolkit Atlas, font le choix d'offrir moins de performances au profit de plus de facilité d'utilisation ont généralement pour inconvénient d'être volumineuses par eux-mêmes et/ou de par les bibliothèques qu'elles nécessitent, ce qui peut également constituer un frein à leurs utilisations.
Le toolkit Atlas est très léger (quelques dizaines de Ko tout compris pour la version Python) et sa mise en œuvre est facilitée par son utilisation de technologies ultra-documentées (HTML(/CSS) et DOM). De ce fait, cela incitera peut-être plus de gens à l'utiliser pour développer, pour leurs propres logiciels, en plus d'une CLI, une GUI…
En tout cas, je pense Le toolkit Atlas peut être utilisé dans de nombreuses circonstances, dont quelques-une sont détaillées ici (en anglais). Je répondrais volontiers à toute question concernant ces utilisations…
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: Sécurité ?
Posté par Claude SIMON (site web personnel) . En réponse à la dépêche Développer une interface web avec le toolkit Atlas (1/2). Évalué à 3.
En plus des logiciels dédiés, il faut disposer d'un serveur web qu'il faut configurer pour une utilisation des WebSocket.
Il y a une documentation dédiée, en anglais. Je l'ai déjà remaniée pour clarifier certains points ayant fait l'objet de questions de la part d'utilisateurs, mais je suis toujours preneur de suggestions d'améliorations…
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: Perplexe
Posté par Claude SIMON (site web personnel) . En réponse à la dépêche Développer une interface web avec le toolkit Atlas (1/2). Évalué à 6.
Ils sont échappés lors du traitement de la saisie, avant stockage.
L'élaboration de HTML destiné à être injecté dans le DOM peut se faire de plusieurs manières. La méthode présentée ici est la plus simple et la plus aisément compréhensible, mais nécessite effectivement de prendre quelques précautions.
Sinon, peut utiliser un des nombreux moteurs de template existants, qui prennent normalement en compte ce genre de problématiques.
Concernant le toolkit Atlas, il existe un objet permettant de construire un arbre HTML, ou XML qui est ensuite transformé en HTML à l'aide de XSL, et qui procède aux échappement nécessaires…
Là, c'est un effet de bord qui m'arrangeait, vu que ça fait gagner de la place ; du coup, je l'ai laissé :-).
Les balises
style
ne sont pas ajoutées/retirées, mais activées/désactivées. Activer/désactiver un bouton aurait visuellement comme effet de le griser, et non pas de le faire disparaître, comme c'est le cas ici.C'est exact, je n'y ai pas pensé. Il faudrait probablement revoir le code HTML.
Je n'ai jamais utilisé bootstrap, ou un quelconque framework similaire, mais je pense que son utilisation aurait probablement alourdit le programme. Mais je suis d'accord que l'apparence de ce programme est plutôt rustique, on va dire, mais, n'étant pas développeur web, mes connaissances sont plutôt limitées en la matière. Les contributions sont bienvenues…
Comme je l'ai indiqué plus haut, je ne suis pas développeur web, ce qui explique sans doute que je n'ai jamais eu de demande de la part de mes clients qui ai nécessité des transitions CSS ou de l'infinite scroll (enfin, je ne crois pas, vu que je n'ai qu'une très vague idée de ce en quoi cela consiste). Maintenant, à supposer que ce ne soit pas possible facilement avec le toolkit Atlas en l'état, il est tout à fait envisageable de le modifier pour remédier à cela.
Concernant le routage d'URL, cela me semble être typiquement une fonctionnalité d'application web. Or, il existe quantité de frameworks qui offrent ce genre de fonctionnalités, et bien plus. L'objectif du toolkit Atlas n'est pas d'être un nième framework web, mais d'offrir un moyen simple et rapide de programmer une interface graphique, d'où l'absence de certaines (de la plupart ?) des fonctionnalités que l'on trouvent typiquement avec ce genre de frameworks. Que l'utilisation du toolkit Atlas transforme un programme en application web n'est qu'un effet secondaire…
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: Sécurité ?
Posté par Claude SIMON (site web personnel) . En réponse à la dépêche Développer une interface web avec le toolkit Atlas (1/2). Évalué à 7.
Merci de prendre le temps de s'y intéresser :-) !
C'est précisément pour cela que ce toolkit a été conçu.
À l'image de la philosophie derrière UNIX, le toolkit Atlas ne fait qu'une seule chose, et tente de le faire le mieux possible, à savoir faciliter le développement d'une interface graphique. De ce fait, il n'offre aucune fonctionnalité en terme d'authentification, de gestion d'accès, voire relatifs aux bases de données, comme peuvent le proposer certains frameworks. D'où son appellation de toolkit, et non de framework.
Ce n'est probablement pas évident au premier abord, mais l'ambition du toolkit Atlas n'est absolument pas d'être une alternative aux traditionnels frameworks de développement d"applications web, mais d'offrir un moyen simple et rapide d'ajouter une interface graphique à n'importe quel programme Python (dans le cas de la version Python du toolkit). Par conséquent, l'utilisation du toolkit Atlas dans un programme Python n'a pas plus d'influence sur ce à quoi ce programme Python a accès que s'il utilisait un toolkit comme PyQT. Le fait que l'utilisation du toolkit Atlas transforme de facto le programme en application web n'est, en quelque sorte, qu'un effet secondaire…
Entre le programme et le serveur auquel il se connecte, la connexion n'est, à ce jour, pas chiffrée. Ce qui n'empêche pas le toolkit Atlas d'être utilisé en production, mais c'est clairement dans le cas où les données transitant entre l'application et le serveur ne sont pas sensibles, ou alors c'est avec mise en œuvre de la solution de contournement décrite plus bas.
Actuellement, le toolkit, quelque soit sa version, est très léger et autonome, sans dépendances. Toutes les version du toolkit, même les versions qui peuvent être installées avec un gestionnaire de paquets, peuvent être fournies sous forme d'archive auto-suffisante, ce qui facilite son utilisation notamment dans un cadre éducatif. Ajouter le chiffrement rendrait l'installation du toolkit beaucoup plus compliquée, sans compter le travail que cela représente en matière de développement, tant au niveau du toolkit proprement dit, vu sa disponibilité pour plusieurs langages, que du serveur auquel il se connecte.
Cela ne signifie pas que ce chiffrement ne sera jamais disponible, mais ce sera probablement sous forme d'extension, ou d'une version distincte, peut-être spécialement destinée à un usage professionnel, avec connexion à serveur dédié…
On peut actuellement contourner ce problème en installant le logiciel serveur (qui est diffusé sous licence libre) sur une machine sur laquelle on installerait également le programme Python. De ce fait, les échanges programme/serveur ne sortiraient pas de la machine et ne pourraient donc être que très difficilement interceptés.
S'il y a d'autres points à éclaircir, ne pas hésiter à m'en faire part…
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: Ça ne date pas d'hier…
Posté par Claude SIMON (site web personnel) . En réponse au lien YouTube ajoute des publicités sur certaines vidéos sans rémunérer les créateurs. Évalué à 1.
Le délai de 30 jours est écoulé. Pas de notification, mais plus aucune trace d'une quelconque revendication de droits d'auteur. Aucun historique des échanges n'est présent sur mon compte Youtube, que ce soit concernant les revendications ou mes contestations.
Tout ça m'a l'air d'être automatisé au maximum. À la moindre correspondance détectée par Content ID, on est présumé coupable, c'est-à-dire privé de ses droits d'auteurs au profit du présumé détenteur de ces droits déterminé par Content ID. Si l'on conteste, c'est ce même présumé détenteur qui traite cette contestation. J'ignore ce qui se passe si ce dernier rejette la contestation…
Vu que je suis, du moins à ce jour, reconnu comme étant l'auteur du contenu que j'ai posté, j'ai regardé, par simple curiosité, si je pouvais déclarer ce contenu auprès de Content ID pour qu'il protège mes droits. Pour le coup, la procédure¹ est loin d'être automatisée, et, me concernant, n'a probablement aucune chance d'aboutir…
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: GB Studio
Posté par Claude SIMON (site web personnel) . En réponse au journal framework de jeu vidéo. Évalué à 1.
Je me permet de m'immiscer dans ce fil pour parler du toolkit Atlas, qui peut peut-être répondre à cette problématique.
Ainsi, il peut commencer par « dessiner », en HTML, l'interface d'une application, ou d'un jeux, en utilisant l'un des nombreux éditeurs disponibles en ligne, ou en éditant directement sur son ordinateur un fichier texte qu'il ouvrira dans un navigateur pour voir le résultat. Une fois cette interface « dessinée », il peut, pour rendre les choses plus concrètes, l'ouvrir sur son smartphone (s'il en possède un), ou éventuellement une tablette. Ça se fait très facilement, en quelques lignes de Python, grâce au toolkit Atlas. Ensuite, il peut progressivement aborder les différents concepts de programmation au travers du codage, toujours en Python, des différents gestionnaires d'évènements nécessités par son application, avec la possibilité, toujours histoire de rendre les choses plus concrètes, de voir le résultat sur son smartphone.
Mais c'est peut-être déjà trop compliqué ; en tant que développeur professionnel, j'ai du mal à apprécier le niveau de difficulté que cela représente pour un novice. D'autant que la documentation existante n'est pas vraiment adaptée, même si des efforts sont fait pour améliorer la situation. Cependant, avec l'assistance de quelqu'un qui s'y connaît en programmation, c'est peut-être jouable.
Il y a une sorte de tutoriel en gestation dans l'espace de redaction ; ça peut aussi aider.
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: Meuh non, c'est pas nul !
Posté par Claude SIMON (site web personnel) . En réponse au journal Héberger son serveur de mails, c'est nul. Évalué à 6. Dernière modification le 12 décembre 2020 à 10:34.
C'est la crainte de perdre cette possibilité qui m'avait fait hésiter à aller chez un fournisseur externe, mais j'en ai trouvé un qui :
+
:toto+…@exemple.com
se retrouve danstoto@exemple.com
,toto
pouvant être un alias ;…@autre-exemple.org
se retrouve dans…@exemple.com
) ;@exemple.com
qui ne correspond pas une adresse existante ou n'est pas géré par l'une des fonctionnalités ci-dessus se retrouve dans ce compte ;« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: micro-noyau
Posté par Claude SIMON (site web personnel) . En réponse à la dépêche Redox OS, le prochain système d’exploitation à conquérir le monde ?. Évalué à 6.
À l'époque, il y avait aussi l'AmigaOS…
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: Pourquoi des CV sous LaTeX rendent mieux que sous Word
Posté par Claude SIMON (site web personnel) . En réponse à la dépêche Les doigts dans l’engrenage fatal. Évalué à 3. Dernière modification le 30 novembre 2020 à 16:50.
Ce qui serait bien comme solution, c'est ce qui existe dans l'édition de partitions musicales.
D'un coté, on a Lilypond, qui serait l'équivalent de LaTeX, et de l'autre, des logiciels comme Frescobaldi, qui serait l'équivalent des logiciels WYSIWYG. Sauf que, dans ce cas de figure, Frescobaldi génère des fichiers au format Lilypond.
Lorsque j'écris une partition musicale, j'utilise dans un premier temps un petit utilitaire de mon cru qui génère des fichiers au format Lilypond, ce qui est facilité par le fait que le format Lilypond est un format texte, que je complète ensuite avec à l'aide de Frescobaldi, et je termine en intervenant directement sur les fichiers Lilypond pour d'éventuels ajustements. Ainsi, j'ai le meilleur des deux monde. Je l'avais d'ailleurs déjà évoqué sur LinuxFR.
Et apparemment, ça existe des logiciels WYSIWYG, ou du moins WYSIWYM, qui font du LaTeX…
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: Ça ne date pas d'hier…
Posté par Claude SIMON (site web personnel) . En réponse au lien YouTube ajoute des publicités sur certaines vidéos sans rémunérer les créateurs. Évalué à 4.
Ah ben, ça n'a pas été long. L'encart a disparu, sans que cela m'ai été notifié.
Ceci dit, ce n'est pas encore fini, la contestation étant marquée en cours d'examen.
D’après ce que j'ai compris, YouTube/Google n'intervient pas lors d'une contestation : elle est simplement envoyée au titulaire putatif des droits d'auteur, à charge pour lui de renoncer ou non à ses revendications, à sa discrétion…
Je vais surveiller ça pour voir comment cela évolue…
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: Ça ne date pas d'hier…
Posté par Claude SIMON (site web personnel) . En réponse au lien YouTube ajoute des publicités sur certaines vidéos sans rémunérer les créateurs. Évalué à 6.
Voici un extrait de ce qui est marqué dans la section relative aux droits d'auteur de la vidéo concernée :
Ce n'est pas explicitement indiqué, mais je suppose, vu le texte, que l'auteur m'autorise à utiliser le contenu qui lui a été faussement attribué.
Donc, je dirais que la réponse est oui.
Par curiosité, j'ai lancé une procédure de contestation, avec pour motif que l'œuvre est dans le domaine public et que j'en suis l'interprète ; je devrais recevoir une réponse sous 30 jours, d’après les indications…
« Smart IoT Crafting » : l'IoT pour tous
# Ça ne date pas d'hier…
Posté par Claude SIMON (site web personnel) . En réponse au lien YouTube ajoute des publicités sur certaines vidéos sans rémunérer les créateurs. Évalué à 6. Dernière modification le 19 novembre 2020 à 17:42.
Il y a quelques temps, j'ai publié sur YouTube (et également sur PeerTube, mais ce n'est pas le sujet) une vidéo avec, comme accompagnement sonore, une œuvre du domaine public interprétée par mes soins, cela pour éviter tout problème de droit d'auteur.
En bas de la description de cette vidéo trône, depuis pas mal de temps, un encart, intitulé Musique utilisée dans cette vidéo, qui référence un album contenant une interprétation de la même œuvre. Déjà, l'intitulé est trompeur, car il suggère que l'accompagnement musical de cette vidéo est issu de cet album, alors que c'est mon interprétation de cette œuvre qui est utilisée. Et l'auteur de cet album n'est pas le compositeur de l'œuvre, sinon l'intitulé aurait pu se comprendre.
Ce n'est pas de la publicité intégré à la vidéo, comme celle qui fait l'objet du lien ci-dessus, mais cela reste de la publicité, pour laquelle je ne touche bien évidemment aucune rémunération…
Sans compter mes démêlés avec le Content ID, que j'ai relaté dans ces commentaires.
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: Mais pourquoi donc ?
Posté par Claude SIMON (site web personnel) . En réponse au lien Microsoft Edge est maintenant disponible pour Linux. Évalué à 2.
On peut penser qu'il n'y a pas de différences, à l'usage, entre Visual Studio Code et VSCodium, et que passer de l'un à l'autre ne pose aucun problème. Or, ce n'est pas tout à fait exact, car VSCodium n'utilise pas le même dépôt pour les extensions que Visual Studio Code, et certaines extensions sont absentes de ce dépôt. On peut, certes, corriger cela en modifiant un fichier de VSCodium, mais, même dans ce cas-là, certaines extensions ne fonctionneront pas. Là aussi, il y a moyen de remédier à cela. Cependant, la légalité de ces deux contournements est sujette à caution :
https://github.com/VSCodium/vscodium/blob/master/DOCS.md#extensions-marketplace.
« Smart IoT Crafting » : l'IoT pour tous
# XULRunner… snif…
Posté par Claude SIMON (site web personnel) . En réponse à la dépêche Histoire des systèmes d’extensions de Firefox. Évalué à 4.
C'est vrai que XUL complétait parfaitement HTML4 (ou plus exactement XHTML), lui apportant les composants graphiques permettant à l'utilisateur d'interagir efficacement avec l'application. On basculait facilement de l'un à l'autre avec les espaces de noms XML, et on pouvait utiliser les CSS sur du XUL.
XULRunner était quand même pas mal utilisé à l'époque. Je me rappelle notamment que l'application TomTom Home, une application Windows qui permettait de mettre à jour les GPS de la même marque, était basée sur XULRunner.
Moi-même je l'ai utilisé, quoique de manière atypique (utilisation de C++ à la place de JavaScript). Je m"étais même fendu d'un journal à l'époque : https://linuxfr.org/users/epeios/journaux/xulrunner-et-c (désolé, mais le blog n'existe plus).
J'étais bien embêté quand ils l'ont arrêté. Je me suis rabattu sur HTML5 dés que ce dernier a été standardisé, avec CEF pour commencer, puis avec Electron, mais toujours en C++ (on ne se refait pas…).
S'il refaisait l'équivalent de XULRunner avec le Firefox d'aujourd'hui, je pense que je laisserais tenter…
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: Et la suite ?
Posté par Claude SIMON (site web personnel) . En réponse au journal Logiciels libres dans une association non-informatique. Évalué à 5.
On peut trouver des membres d'ARN ce soir (comme chaque vendredi) au siège de l'association GEM Aube (97 Avenue de Colmar, 67000 Strasbourg) à partir de 19h (vaut mieux plutôt y aller vers 19h30). Je ne sais pas si ce sera le cas ce soir, mais il y a parfois également le responsable de ReflexLibre.
Officiellement, c'est la Stammtish de la Hackstub, mais comme pas mal de membres de la Hackstub sont également membres d'ARN…
Seule contrainte : venir avec un masque, pandémie oblige…
« Smart IoT Crafting » : l'IoT pour tous
[^] # Markdown, c'est bien.
Posté par Claude SIMON (site web personnel) . En réponse au journal Ces quelques modèles de CV. Évalué à 1.
La plupart du temps, l'utilisation que j'ai de Markdown ne requiert pas de mettre du texte en rouge, ou des notes de bas de page. Mais je m'en sers cependant également pour faire des présentations. Là, il peut être intéressant de pouvoir définir, par exemple, un pied de page, ou effectivement de mettre un texte en rouge. Pour cela, je me sers d'un logiciel spécialisé. Il me permet d'écrire le plus gros de la présentation en Markdown, et propose des directives qui permettent de définir pied de page, format de présentation (4/3 ou 16/9), thème, pagination… Et pour ce qui est de mettre du texte en rouge, il reconnait HTML et CSS…
J'utilise également un logiciel de prise de notes avec une syntaxe Markdown, et même pour mon Wiki, qui s'appuie pourtant sur DokuWiki qui a sa syntaxe propre, en convertissant le document Markdown en document DokuWiki grâce à pandoc.
Pour moi, le format Markdown, grâce aux différents logiciels qui étendent ses possibilités, est vraiment le couteau suisse que j'utilise dés que j'ai besoin d'un document texte avec un minimum de formatage. Ceci dit, un CV est l'un des rares documents pour lequel je n'utilise pas Markdown.
Pour ceux que ça intéresse, le logiciel de présentation Markdown est Marp. À noter qu'on ne dispose pas de toutes les fonctionnalités que proposent habituellement les logiciels de présentations, comme les transitions entre diapositives, mais, en ce qui me concerne, je n'avais de toute manière pas l'intention d'utiliser ce genre de fonctionnalités. Cependant, il me manquait quand même une fonctionnalité, mais comme Markdown est un format texte, un autre de ses avantages pour moi, j'ai pu coder une application qui me transformait ma présentation en ce que je voulais, et que j'avais présenté dans ce journal.
« Smart IoT Crafting » : l'IoT pour tous
# 404
Posté par Claude SIMON (site web personnel) . En réponse au journal Deuxième édition du livre d'intro à la programmation avec Python 3. Évalué à 2.
On a un 404 sur le lien vers l'errata 2020 dans le
README.md
du dépôt GitHub…« Smart IoT Crafting » : l'IoT pour tous
# À vot' bon cœur m’sieurs dames…
Posté par Claude SIMON (site web personnel) . En réponse au journal Qu’on pose. Évalué à 3.
Je profite de ce journal pour évoquer un rapport de bug que j'ai dernièrement ouvert et concernant le non-fonctionnement de la touche Compose dans une application, bug que le développeur de ladite application ne réussit pas à reproduire, d'où évidemment difficulté pour ce dernier de corriger ledit bug.
De fil en aiguille, on est cependant arrivé à la conclusion qu'il y a un problème avec les dernières versions d'Electron, sur lequel s'appuie l'application en question. Du coup, j'ai essayé Chromium, sur lequel s'appuie Electron, et, effectivement, le bug survient également.
Donc, si vous pouviez tester la touche Compose avec Chrome/Chromium et/ou avec des applications qui s'appuient sur Electron, et rapporter ici le comportement en donnant le maximum de détails sur les versions, ça aiderait le développeur en question, voire, si cela se confirme qu'il y a un bug avec Chrome/Chromium, cela permettrait d'ouvrir un rapport de bug circonstancié pour Chrome/Chromium.
Le bug semble se produire sous Linux, mais pas sous Windows, et seulement avec des claviers non-US.
Concrètement, chez moi, sous Kubuntu v18.0.4, avec Chromium v83.0.4103.61, Compose +
o
+e
produitoe
au lieu deœ
.« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: !summon antistress
Posté par Claude SIMON (site web personnel) . En réponse au lien Comparaisons de AppImage, Snap et Flatpak (NextINpact, payant pendant un mois). Évalué à 1.
Avec AppImageLauncher, je ne remarque pas de différence, à l'usage, entre applications AppImage et celles installées avec le gestionnaire de paquets…
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: tu livres quoi?
Posté par Claude SIMON (site web personnel) . En réponse au message Interaction licences MIT / AGPLv3. Évalué à 1.
Le package de base contient juste le client, le but étant justement d'éviter à l'utilisateur d'avoir à se coltiner le serveur, même s'il est parfaitement libre de monter son propre serveur. Néanmoins, comme indiqué dans le commentaire ci-dessus, le client ne peut fonctionner, du moins à ce jour, sans le serveur, dans la mesure où seul ce dernier est capable de traiter les requêtes du client.
Mais je suis de ton avis, je ne pense pas pour autant que la licence du serveur, bien qu'étant plus restrictive, contamine celle du client. Et comme cela ne contrevient pas en apparence aux licences en question, et que je suis l'unique auteur du client et du serveur, je pense que mon c'est avis qui fait autorité.
Merci pour ta réponse.
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: je dirais non
Posté par Claude SIMON (site web personnel) . En réponse au message Interaction licences MIT / AGPLv3. Évalué à 1.
La bibliothèque logicielle elle-même, qui est installée sur la machine de l'utilisateur, est, du point de vue code, totalement indépendante du serveur. D'ailleurs, ce dernier est codé en C++, alors que la bibliothèque est codée en pur Python (ou Java, ou Node.js… selon la version). Certes, le client (qui s'appuie sur la bibliothèque) est dépendant du serveur et ne peut fonctionner sans ce dernier dans la mesure où seul ce serveur est capable de traiter ses requêtes, mais je ne pense pas que cela suffise pour que la licence du serveur contamine celle de la bibliothèque.
En tout cas, même si l'interprétation de l'auteur du ticket est envisageable, je pense que la mienne fera autorité, dans la mesure où elle ne contrevient pas aux licences concernées, et que je suis l'unique auteur, et de la bibliothèque, et du serveur.
Merci pour ton éclairage.
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: Ils y sont toujours (du mauvais côté)
Posté par Claude SIMON (site web personnel) . En réponse au journal Compétition : faites exploser les compteurs du trolomètres. Évalué à 1.
On a quand même eu droit aux Universal binaries et à Rosetta…
« Smart IoT Crafting » : l'IoT pour tous
[^] # Re: Ils y sont toujours (du mauvais côté)
Posté par Claude SIMON (site web personnel) . En réponse au journal Compétition : faites exploser les compteurs du trolomètres. Évalué à 4.
Et ils n'étaient pas à leur coup d'essai vu qu'avant de passer au PowerPC, ils étaient sur du M68K…
« Smart IoT Crafting » : l'IoT pour tous
[^] # 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