Comments on Le JavaScript, le DOM et les petites crottes de ragondins

JML (2018-04-27T23:20:26Z)

Tu pourrais faire clic-pour-amener-au-centre, au lieu d'un cliqué-déplacé qui ne fait pas ce à quoi on est habitué. C'est comme l'échelle, on est habitué au zoom qui fonctionne dans l'autre sens. Enfin, ça c'est si tu fais du grand public.

Merci de ne pas nous envoyer chez Google, qui sauraient, je parie, en tirer profit.

Frambert (2018-04-27T15:08:45Z)

@Ruxor :
Je comprends.

Il est vrai que 400 lignes de JS, c'est analysable en un temps raisonnable, et tu pourras sans doute t'en inspirer pour faire un code plus robuste et bien adapté à ton canevas.

Je suis heureux en tout cas que ce lien t'ait été un peu utile.

Ruxor (2018-04-27T09:22:51Z)

@Frambert: Il n'y a pas d'inconvénient très grave à utiliser une bibliothèque de ce genre, bien sûr, mais il y a plein de petites merdouilles, essentiellement liées à la question de savoir où je mets le code de la bibliothèque : copié-collé dans mon propre code ? dans un fichier à part ? hébergé par mon propre serveur ? référencé chez GitHub (ou, dans le cas de jQuery, Google) ? Chacune de ces solutions apporte ses petites crottes de ragondin : dans un cas ça pollue ce que mon éditeur me montre (et les recherches dans le code, voire dans le texte HTML si je fusionne tout), dans un autre ça m'oblige à maintenir un fichier de plus (décider comment le mettre sous Git, maintenir des liens pérennes…), dans un troisième ça me rend tributaire de sites externes.

Globalement, j'aime vraiment bien l'idée d'avoir « tout en un fichier » : j'écris presque toujours mon JavaScript directement dans du HTML (dans du CDATA dans une balise script), comme ça il y a un fichier qui contient tout, c'est beaucoup plus simple à recopier sur une autre machine ou sous un autre nom pour tester plein de variantes, ou de dire à un lecteur « faites "view page source" et regardez, ou sauvegardez, éditez et ouvrez ». Avoir du JavaScript externe complique nettement ce modèle ; l'inclure directement complique nettement le fichier. Bref, rien de grave, mais j'ai vraiment une aversion à la complexité.

Ce que je peux faire, en revanche, c'est lire comment ils font le calcul, décider si c'est mieux ou plus robuste que ce que je fais, et reprendre juste le bout pertinent. Je vais sans doute explorer ça.

Frambert (2018-04-27T03:49:16Z)

Je comprends que ce soit gênant pour l'esprit d'avoir autant de lignes pour calculer les coordonnées de la souris que pour le calcul de l'image lui-même, mais en pratique, est-ce si ennuyeux si on met les 400 lignes dans un fichier à part pour ne pas avoir à les voir ?

Je me place évidemment dans l'hypothèse où la très courte fonction que tu as écrite ne ferait pas parfaitement le boulot, car autrement, c'est inutile, bien sûr.

Par ailleurs, sur le fond, je suis d'accord qu'il devrait y avoir un moyen plus simple d'obtenir ça, mais en attendant…

Ruxor (2018-04-26T21:46:08Z)

@Anne: C'est le comportement attendu. Montrer l'image en même temps qu'on déplace serait à la fois assez pénible à coder et trop lent à l'exécution si je le fais de la façon la plus évidente.

@Frambert: Ça fait quand même un moment que canvas existe et sert à plein de choses. Quant à ce projet "canvas-mouse", je vois que le code du fichier principal est un peu plus long que la totalité de mon petit programme d'affichage de pavages quasipériodiques, donc il y aurait une certaine absurdité à inclure l'un dans l'autre (alors voilà, on a 400 lignes pour tout faire et 400 lignes juste pour convertir le système de coordonnées de la souris…). C'est le genre de choses qui fait que je n'aime vraiment pas utiliser de bibliothèques ou de frameworks JavaScript : j'aime que les choses soient simples et courtes. Mais en l'occurrence je persiste à penser que ça devrait vraiment être aux navigateurs de faire le boulot de conversion (ou de fournir tout ce qui est nécessaire pour le faire de façon très simple).

Frambert (2018-04-26T20:49:28Z)

@Anne : c'est pareil sur mon Firefox sur PC.

@David : il faut reconnaître que c'est compliqué mais c'est sans doute parce que c'est encore en développement. Tu essuies donc les plâtres.
Il semble que quelqu'un se soit attaqué au problème
<URL: https://github.com/epistemex/canvas-mouse >

Anne (2018-04-26T16:40:29Z)

Sur tablette tactile, le déplacement fonctionne mais l'image est actualisée seulement lorsque le doigt quitte l'écran. Je m'attendais à un comportement du type Openstreetmap (l'image suit le doigt). Je ne sais pas si c'est ce qui était prévu, c'est un peu surprenant.


You can post a comment using the following fields:
Name or nick (mandatory):
Web site URL (optional):
Email address (optional, will not appear):
Identifier phrase (optional, see below):
Attempt to remember the values above?
The comment itself (mandatory):

Optional message for moderator (hidden to others):

Spam protection: please enter below the following signs in reverse order: 3bbfd1


Recent comments