jeudi 19 novembre 2015

Fondements

Le mathématicien Temple Bell a remarqué 'The map is not the thing mapped', une notion reprise entre autre par l'artiste belge René Magritte dans son oeuvre célèbre Ceci n'est pas une pipe (La Trahison des Images). Son image d'une pipe n'est pas une pipe, parce qu'elle en est une représentation. Nous avons là une notion pas toujours comprise par les débutants en programmation Web.

Prenons une analogie dans le quotidien: je désire un sandwich aux tomates pour mon repas, et je peux le demander à deux personnes différentes. J'ai des bonnes chances d'avoir mon sandwich, mais les deux versions ne seront pas identiques: le premier sera noyé dans le sel et poivre, le second aura droit à la mayo et sera sans croute etc. L'injonction de produire le sandwich ne couvre pas tous les aspects de la question. Il en sera de même dans le monde de la programmation Web: le jeux d'intructions HTML/JavaScript produira des résultats légèrement différents, car il y aura interprétation par des fureteurs différents, Explorer, MacSafari, Opéra, Firefox etc et des ordis de dimensions différentes. Le 'par défaut' diffère, et nécessairement pour des ordis de taille différente.

La conséquence de ce fait peut sembler bizarre: plus on tient mordicus à une présentation semblable, plus le code se  devra d'être élaboré, pour bien tenir compte des divers aspects.
Ci-bas, j'ai demandé une simple en-tête par le biais du compose de Blogger, un aide visuel à la programmation. Si je consulte le code HTML généré 'par la machine' qui sous-tend Blogger, on me met du nobreakingspace ie des espaces tout autour de mon en-tête, car les programmeurs de Blogger on prévu ma situation.



Internet Explorer et Chrome sur une machine Windows, ainsi que Safari sur Mac me donnent le même résultat. Avec Opéra sur Mac, j'ai droit au message suivant:

Les différences entre fureteurs peuvent venir de la façon d'aborder le système d'exploitation. Aussi, le nombre d'options offertes (correcteur de grammaire automatique?); et finalement certains protocols qui affecteront la vitesse  (download anticipatif) ou encore mesures de sécurité. Et bien sûr, le language de programmation du fureteur-même (JavaScript?). Il est bon de suivre l'évolution des choses.

Aucun commentaire: