English version of this page.
Pour le 1er avril 2019, jâai introduit une animation sur la page Ă propos. Ce type dâanimation sâappelle une DĂMO (vient du mot dĂ©monstration) â il sâagit de techno-art, une association entre la technologie et lâart.
Cette pratique remonte aux annĂ©es 1980, juste aprĂšs que lâapparition des premiers ordinateurs personnels est certainement liĂ©e au manque de logiciels. Les utilisateurs ont commencĂ© Ă Ă©crire des programmes souvent en langage machine (assembleur
) pour afficher des images avec de la musique. Rapidement, les scrollings sont apparus, puis les effets se sont complexifiĂ©s sans nĂ©cessairement avoir des machines plus puissantes, mais en essayant dâexploiter au mieux les ressources des ordinateurs de lâĂ©poque.
Cela a donnĂ© lieu Ă des dĂ©mos-parties (scĂšne) oĂč des personnes se rencontraient pour faire des compĂ©titions sur la base de diffĂ©rents critĂšres techniques ou artistiques. Le langage de prĂ©dilection pour type de performance est lâassembleur
afin dâexploiter au mieux la puissance des machines, une autre raison, et non des moindres, est quâhistoriquement il nây avait pas vraiment de choix.
Concernant la DĂMO par elle-mĂȘme, la partie animation est 100 % en HTML/CSS. Pour le lanceur, je me suis rĂ©signĂ© Ă utiliser du JavaScript car les navigateurs
ont des comportements trop hĂ©tĂ©rogĂšnes entre les diffĂ©rents Ă©diteurs et plateformes. Ceci concerne essentiellement lâaffichage de lâinterface de commande des sons.
Voici Ă quoi sert le code JavaScript dans cette DĂMOÂ :
- Par dĂ©faut la DĂMO nâest pas lancĂ©e, ceci afin dâĂ©viter un dĂ©marrage du son inopinĂ©, le code JavaScript sert Ă attendre une action de lâutilisateur.
- Si on coupe la musique cela arrĂȘte lâanimation, et du coup lâensemble reste synchronisĂ©,
- En fin de musique (au bout troisiĂšme affichage du scrolling horizontal) lâanimation sâarrĂȘte.
- Une petite fonction JavaScript sert Ă injecter du code en dehors de la zone des documents, ce qui permet dâavoir un affichage bien intĂ©grĂ© sans pour autant casser la prĂ©sentation du blog.
- Le code prend aussi en charge lâaffichage de lâavancement du tampon (buffer) de tĂ©lĂ©chargement de la musique ainsi que de la position courante du morceau.
Cette petite DĂMO permet dâexplorer certaines fonctionnalitĂ©s rĂ©centes de CSS (rĂ©centes au sens oĂč elles sont, maintenant, supportĂ©es par les navigateurs
les plus courant).
Les trucs à voir dans la démo
- Fond étoilé avec plusieurs niveaux de scrolling, vous pouvez faire le vÎtre avec cette application,
- La citation de Yoda,
- La musique (OK, ce nâest pas Ă voir, mais Ă Ă©couter),
- Le titre avec un effet de compression,
- Une barre de raster comme il était fréquent dans les « démos » du « C=64 »,
- Scrolling horizontal avec effet de flash,
- Scrolling ping-pong du logo avec effet de flash,
- Scrolling vertical en transparence (câest un vrai code source pour 6510 sur C64),
- Texte â100 % CSSâ avec effet de chemin, une dĂ©formation, des changements dâopacitĂ© et de couleurs,
- 7 Ă©toiles avec des trajectoires indĂ©pendantes : bleutĂ©es (trajectoire rectiligne) â verte (trajectoire circulaire) â violette (trajectoire improbable),
- Effets de rotation sur des caractĂšres,
- âŠ
Le code assembleur
Le texte contenant du code assembleur qui sâaffiche sur la droite, est un vrai bout de code assembleur permettant de lancer un programme arriĂšre plan (en interruption) sur le « Commodore 64 ».
Cet extrait dâassembleur permet dâexĂ©cuter Ă chaque balayage de lâĂ©cran un morceau de code, qui exĂ©cutera par exemple une note de musique â voir le code complet.
Limitations
-
Sur
Firefox
mobile, en verticale la DĂMO ne sâaffiche pas, en fait elle sâaffiche quelques secondes puis disparaĂźt. -
Sur mobile
Firefox
etChrome
cela fonctionne Ă supposer dâavoir un tĂ©lĂ©phone ou une tablette assez puissante et dâĂȘtre capable dâafficher plus de 350 pixels en vertical (taille verticale de la DĂMO). -
Il y a un petit décalage dans la mise en page entre
Firefox
etChrome
ce qui mâa obligĂ© Ă faire des sacrifices de prĂ©sentation pour avoir un rendu raisonnable dans tous les cas. -
Hum, un dernier truc qui ne va pas est que cette DĂMO casse complĂštement la logique du site qui se veut ĂȘtre Ă©conome en Ă©nergie aussi bien sur la partie serveur que cĂŽtĂ© client web, mais bon câest juste pour se(me) faire plaisir.
Crédits / Influences / Remerciements
Pas facile, il y en a un peu partout. Pour commencer :
- Ă Geoff Graham pour son code sur le scrolling Star Wars,
- Ă Donovan Hutchinson pour son code sur un autre scrolling Star Wars â je vous invite Ă©galement Ă voir son site dâanimation CSS,
- Ă Roel Nieskens pour sa DĂMO c64css3 qui reprĂ©sente parfaitement le style de ce que lâon trouve sur commodore 64. Il propose dâexcellents articles de son blog.
- aux rédacteurs de la documentation de Mozilla,
- aux dĂ©veloppeurs de Firefox pour les outils trĂšs pratiques quâils proposent et en particulier dâĂ©diteur de courbe de BĂ©zier sans quoi beaucoup dâeffets auraient Ă©tĂ© beaucoup plus difficile Ă produire,
- aux rédacteurs de la documentation w3schools,
- les codeurs de GrafX2, un programme de dessin bitmap inspiré des programmes Amiga Deluxe Paint et Brilliance. Spécialisé dans le dessin en 256 couleurs, ce logiciel est adapté au pixel art, aux graphiques de jeu et, en général, à tous les graphiques détaillés dessinés à la souris. Disponible sur Linux et Windows,
- Lâexcellent C-64 charset logo generator qui permet de gĂ©nĂ©rer des logos Ă la mode de ce que peuvent produire des ordinateurs 8 bits â code source.
- et plein dâautre que jâai oubliĂ©âŠ
Pour apprendre
Pour vous aider Ă reproduire ces effets, jâai Ă©crit quelques articles que vous pouvez retrouver en suivant le mot clĂ© dĂ©mo.
Vos commentaires et questions sont, comme toujours, les bienvenus.
኿