Le langage CSS (en anglais Cascading Style Sheets, qu'on peut traduire par feuilles de style en cascade) sert d’habitude à gérer l'aspect visuel d'une page web. En d'autres termes, le langage CSS gère la présentation d'une page web : la couleur du texte, l'utilisation de telle ou telle police, les images ou couleurs d'arrière-plan, les espaces et marges des différents éléments, le positionnement des éléments, etc. Ce dernier est donc d’abord connu comme un langage pour le web. Certains intervenants de la filière sont néanmoins d’avis que c’est limiter le CSS qui est un langage de programmation à part entière. Et pour cause : il existe toute une niche de jeux vidéo mis sur pied en s’appuyant uniquement sur le CSS. « CSS est un langage de feuille de style personnalisé et ne fonctionne pas comme un langage de programmation. CSS définit l'apparence du balisage plutôt que la manière de mettre sur pied une application », soulignent des intervenants de la filière d’avis que le CSS n’est pas un langage de programmation à part entière.
C’est un positionnement sujet à contradiction quand on sait qu’un langage de programmation peut être défini de façon simple comme un code de communication entre un humain et une machine. L’humain s’appuie sur le code pour donner des instructions à la machine qui les exécute. Et la disponibilité de jeux vidéo comme The Mine, mis sur pied en s’appuyant uniquement sur le CSS, l’illustre. Les trois grandes étapes de la programmation informatique sont respectées : l’analyse qui décrit le problème rencontré de façon claire ; l’algorithme qui décrit la solution au problème sous une forme très simple compréhensible par tous ; le programme qui traduit l’algorithme sous une forme numérique compréhensible par un appareil numérique.
« La logique sous-jacente est en fait relativement simple et utilise une technique vieille de plus de 7 ans. En cliquant sur une flèche (dans ce cas un label), il vérifie l'entrée pertinente et en utilisant le pseudo-sélecteur : checked, nous pouvons parcourir le DOM le nombre correct d'itérations et déplacer l'ensemble de la fenêtre de visualisation d'un "segment" entier. Les ascenseurs fonctionnent de la même manière, sauf que lorsque nous cliquons vers le bas, nous vérifions le segment du dessous.
En ce qui concerne la logique de jeu, nous utilisons à nouveau le même concept. La pioche, par exemple, est une étiquette pour une case à cocher. Lorsque nous cliquons dessus, la case est cochée, puis, lorsque nous cliquons sur le rocher, nous demandons à css de vérifier si les entrées du rocher et de la pioche sont toutes deux cochées », indique l’auteur de The Mine à propos de certains aspects algorithmiques du jeu dont le code source est disponible....
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.