Ça c'est de la journée productive. Levé sur les coups des midi, vadrouillé un peu... et d'un coup je me suis dit "tiens j'aimerais bien jouer au démineur de façon rigolote". J'ai pensé aux différentes solutions possibles de fabriquer un démineur pas trop traditionnel: SVG + javascript, voire Jabber... puis je me suis dit que c'était sûrement faisable en CSS.
Quelques heures plus tard, un résultat rigolo, sans une seule ligne de javascript (en vrai il y a une ligne, mais rien à voir: c'est parce que j'ai insisté pour faire du HTML5, par pur caprice, donc il faut faire reconnaître les balises HTML5 à Internet Explorer). La génération de la grille elle-même est en PHP, mais le code HTML/CSS produit est autonome.
Quand on clique sur le bouton bien connu, ça commence une nouvelle partie, et si on rappelle l'URL d'une partie terminée ou laissée en cours de route, ça la reprend telle qu'on l'a laissée. On peut filer l'URL de sa partie en cours à d'autres personnes pour qu'elles l'essaient. Si on veut vraiment recommencer une partie déjà terminée, il suffit de l'enlever de l'historique du navigateur.
Il reste encore quelques problèmes non-résolus :
impossible d'enlever un drapeau déjà posé.- pas de
comptage des mines restantes, ou dedétection que la partie est gagnée. pas d'ouverture automatique des cases qui n'ont pas de mines autour- bien sûr, on n'a pas la fonctionnalité bien pratique de milieu-cliquer sur un numéro pour gagner du temps quand on a trouvé toutes ses mines.
pas de compteur de temps.on peut jouer avec les paramètres d'URL pour changer le nombre de cases, mais la CSS ne suit pas (largeur de l'élément "article"). J'ai hésité, parce que le coup de la fenêtre qui ressemble à Windows c'est vraiment pas crucial, mais je me suis dit que j'avais le droit de privilégier le ridicule sur le fonctionnel.
Mais si quelqu'un a des idées pour corriger tout ça, je prends. :)
Il reste aussi des babioles marrantes à faire comme la possibilité de séparer la CSS de présentation à la windows et la CSS de mécanisme des cases, bombes, drapeaux, pour proposer d'autres thèmes que ce cher Windows 95.
Ah, je préviens, j'ai testé sur à peu près aucun navigateur autre que le mien (Firefox 3.5.6).

