Informations sur les Scripts ...
Arc-en-ciel :

[util] les composantes RVB d'une couleur peuvent être calculées à partir des paramètres de "luminosité" et de "saturation", et d'une position angulaire.
Pour un angle nul (ou 360°), la couleur obtenue est le bleu. Quand l'angle croît, la couleur varie, comme pour l'arc-en-ciel, en passant par le vert, le jaune, ... jusqu'au violet, tendant au bleu.
Pour obtenir des tons "pastel", on utilisera des valeurs "luminosité" et "saturation" faibles (autour de 0.5).
Le résultat est édité sous la forme d'un tableau dont les cellules sont colorées selon les valeurs calculées apparaissant en complément dans les cellules. Les colonnes de droite fournissent les couleurs complémentaires (par échange des "0" et "1" de la valeur binaire".
L'option "Lister" produit seulement l'instruction Javascript de déclaration d'un tableau de ces couleurs, à insérer dans un programme par copié/collé.
[ <<< ]

Test Ascii :

[util] cette table donne tous les caractères correspondant aux valeurs décimales de 0 à 255 (soit 00 à FF en héxadécimal).
certaines valeurs ("caractères" de service en particulier) n'ont pas de correspondance, ou peuvent donner lieu à une représentation sous la forme d'un carré.
pour l'édition des caractères Ascii, c'est la représentation "& # nnn ;" (code ISO) qui est utilisée dans le code JavaScript.
Les caractères affichés dépendent évidemment de la police spécifiée dans la page Html, où s'exécute le script.
[ <<< ]

Couleurs :

[util] en jouant sur des boutons, ce script permet de juger de la couleur obtenue (fond de page) en faisant varier les composantes RVB. La valeur initiale est neutre (gris : #808080).
Les valeurs de ces composantes (ou combinaisons) varient de "+1" (">"), de "-1" ("<"), de "+16" (">>") ou "-16" ("<<").
On peut agir sur chaque couleur de base (boutons du centre), sur les deux couleurs complémentaires (boutons intermédiaires) ou sur les trois composantes (boutons extrêmes : plus clair, ou plus foncé).
Si la case "à chaque clic" est cochée, chaque action fait varier la couleur. Dans le cas contraire, la nouvelle couleur n'apparaîtra que lors d'un clic sur le bouton "Changer". Le bouton "Gris" permet de ré-initialiser la couleur à sa valeur initiale.
[ <<< ]

Avec ou sans cadres :

[utilitaire] il arive qu'un visiteur accède à une page signalée par un moteur de recherche ou autre annuaire, alors que l'auteur du site en avait prévu l'affichage dans un cadre (frame), un autre cadre affichant généralement un menu. Les autres pages du site restent alors invisibles.
Pour que cette page puisse être réaffichee, il est nécessaire de passer par une solution [re]définissant le jeu de cadres, soit automatiquement, soit à partir d'un lien.
La maquette proposée permet d'opérer de manière dynamique, où le nom de la page concernée est un paramètre du processus, évitant de fournir un "framset" différent pour chaque page.
[ <<< ]

Qualification :

[jeu] pour se qualifier pour le tour suivant, il faut éliminer toutes les briques de la grille, en cliquant sur une brique qui a au moins une voisine arborant le même symbole.
A chaque suppression, chaque colonne est tassée vers le bas, puis éventuellement adossée à une colonne non vide, placée à sa gauche.
A chaque niveau, une nouvelle grille est proposée automatiquement, un nouveau symbole s'ajoute aux précédents, ce qui complique l'élimination des briques. Si les briques d'un niveau ne sont pas toutes éliminées, le jeu redémarrera au niveau le plus bas. [jeu inspiré d'une "applet" Java, mais en version simplifiée]
[ <<< ]

Langue de bois :

[hum] comme quoi, avec 4 morceaux de phrases, et 10 variantes pour chacun d'eux, on peut former 10000 phrases aussi creuses que passe-partout.
A l'usage de toute personne n'ayant rien à dire, mais tenue d'en faire un discours.
Un clic dans le texte permet de changer de phrase.
(adapté d'un article d'un vieux numéro de la revue "L'Entreprise")
[ <<< ]

Dates :

[util] donne l'écart en jours entre deux dates ("date_1" et "date_2") au format "jj/mm/aaaa". Si la zone "date_2" est vide et si "nb_jours" n'est pas vide, le résultat est une date correspondant à "date_1" + "nb_jours", avec indication du jour de la semaine. Le bouton "Itérer" effectue le même calcul, en proposant pour "date_1" le résultat précédent.
L'algorithme passe par une conversion des dates en un nombre de jours écoulés depuis une origine fixée au "31/12/0000", en tenant compte des années bissextiles, mais sans tenir compte des jours ignorés par le passage à l'actel calendrier. La décomposition s'opère par groupes de 4 siècles, puis par siècles, puis par groupes de 4 années, et enfin de l'année.
[ <<< ]

Horloge :

[gadget] donne l'heure avec des chiffres représentés par des matrices de 7 x 5 points, à l'aide de deux images (point visible, point vide).
L'astuce de l'algorithme réside dans le fait que le changement d'image d'un point n'est effectué que s'il passe de "vide" à "visible" ou inversement. (l'image n'est pas recalculée à chaque changement de l'heure).
[ <<< ]

Conversions :

[util] Ce script combine un additionneur (limité à 16 digits) et un convertisseur pour les bases 2, 3, 8, 10 et 16.
Les additions peuvent être effectuées "pas à pas", ce qui permet d'en illustrer le mécanisme (avec report).
En binaire, les opérations "Ou", "Et" et "Ou exclusif" sont également disponibles. Dans le cas d'une addition (ou d'une soustraction), il y a propagation du signe (en décimal, cette "propagation" se traduit par l'apparition de chiffres "9", ce qui n'a guère de rapport avec la manière traditionnelle d'effectuer ces calculs !!).
Le bloc inférieur permet d'entrer une valeur dans une base quelconque, et d'obtenir la conversion dans toutes les autres bases, par le bouton "Conv" correspondant. Si toutes les zones d'entrée sont vides (ou après "RàZ"), c'est la base "10" qui est affichée dans la zone "saisie" de la ligne correspondante. La valeur courante peut être modifiée par multiplication ou divison (entière) : les facteurs disponibles correspondent à toutes les bases. Elle peut aussi être modifiée par incrémentation ou décrémentation de "1". Ces options permettent d'entrer une valeur sans passer par le clavier.
Un "clic" dans la zone "message" (à droite de la zone "hexa") provoque la conversion "hex --> ascii" (de "00" à "7F : sur 7 bits).
Entre les deux modules, apparaissent différents boutons, permettant l'échange des valeurs d'un bloc à l'autre. A vous d'essayer les possibilités de ce script, en cliquant sur les différents boutons.
De très bonnes explications, données sur un site signalé par un intervenant du forum CCM.
[
<<< ]

Chiffres et lettres :

[jeu] Ces deux scripts séparés, mais disposant de liens réciproques, sont évidemment inspirés des jeux télévisés.
Pour le jeu des chiffres, le joueur ne dispose que de boutons, aussi bien pour les nombres que pour les opérateurs. Il dispose aussi d'un bouton permettant d'annuler la dernière opération, et d'un autre permettant d'annuler l'ensemble des opérations déjà effectuées.
Pour jouer en même temps que le jeu télévisé, il faut cocher la case ad'hoc (à droite du bouton "Jouer"). En cliquant sur ce dernier bouton, une boîte de dialogue standard permet d'entrer les six valeurs et le résultat à obtenir, séparées par des espaces. Sinon, le jeu propose un choix aléatoire des valeurs.
[ <<< ]
Pour le jeu des lettres, le principe est à peu près identique. Le choix manuel selon "consonne" ou "voyelle" ne peut être annulé pour la dernière, point de départ de la réflexion (et du chronomètre associé, si cette option est choisie). Si vous apportez des améliorations à ces jeux, faites m'en part !
[ <<< ]

Tableau :

[util] affiche un tableau de données numériques et/ou alphabétiques, avec les possibilités suivantes :

  • donner les informations (d'une ligne), selon un critère appliqué à une colonne,
  • réafficher le tableau selon les valeurs croissantes (tri) d'une colonne (viable si le nombre de données est raisonnable : < 50)
  • calculer la moyenne des valeurs numériques d'une colonne.
L'exemple fourni affiche les résultats des élections cantonales des Ardennes, pour les cantons à renouveler, les 21 et 28 mars 2004. Il sera complété après les élections des 9 et 16 mars 2008.
D'autres exemples, non disponibles ici, incorporent des fonctions (ex : "=age(ncol)", en valeur arrondie par rapport à une date de naissance). [ <<< ]
Ouvertures :

[gadget] la page est initialement masquée par un rectangle opaque, composé en fait de rectangles juxtaposés en matrice qui disparaissent petit à petit. La version initiale "Boxing-away Script-By Dynamic Drive" (www.dynamicdrive.com) utilise une matrice monochrome de 5 x 6 cellules.
Cette version comporte les options suivantes :

  • nombre variable (impair) de lignes et de colonnes,
  • couleurs identiques, ordonnées, ou aléatoires (80 couleurs, selon Arc-en-ciel),
  • ouverture aléatoire, en balayage télé, en balayage alterné, en rideau, en spirale, en losange, en diagonale, en damier,
  • en ordre direct (en partant du haut ou de l'intérieur) ou inverse.
Le script est exécuté en boucle, avec nouvelle combinaison des options, jusqu'à ce que l'on change de page, ou que l'on clique dans le cadre, ce qui fait disparaître les derniers rectangles.
[ <<< ]
Mosaïques :

[gadget] le script a simplement pour but de dessiner une matrice (18 lignes x 32 colonnes) dont les cellules sont colorées de manière aléatoire. Pour chaque composante RVB, les limites de la gamme sont choisies de manière aléatoire, ce qui peut donner, pour l'ensemble, une dominante claire ou foncée de rouge, jaune, verte, ... ou non.
A cette matrice initiale sont superposés un nombre aléatoire de rectangles, de dimensions aléatoires, dont les couleurs sont évaluées selon le même principe. Une partie seulement de ces nouvelles cellules, choisies au hasard, sont effectivement "recoloriées".
Une nouvelle mosaïque est dessinée en boucle, jusqu'à abandon du script.
[ <<< ]

Rota13 ... etc :

[gadget] Rota13 est un script qui permet de changer le contenu d'un texte, par rotation de 13 positions dans l'alphabet, le texte original pouvant être rétabli selon le même principe. C'est le mode de fonctionnement obtenu en cliquant sur le bouton "Rota13". Ici, le décalage est de 1, par défaut, pour le premier caractère, de 2 pour le second, etc. En cochant la case appropriée, le décalage est constant. La traduction inverse s'obtient en donnant un décalage négatif de même valeur.
(la valeur du décalage initial peut être modifié par le bouton "Incr").
Les espaces et autres signes de ponctuation sont conservés, les caractères accentués sont remplacés par des caractères sans accents (non restituables), sauf si la case "accents" est cochée.
La casse est respectée.
[ <<< ]

Tester vos réflexes :

[gadget] le jeu consiste à cliquer sur le bouton "ici", le maximum de fois pendant les 30 secondes allouées.
Vous pouvez choisir le temps pendant lequel le bouton sera accessible, avant de changer de position dans la grille. Ce temps, constant pendant toute la partie, peut prendre les valeurs 0.75s, 1.0s, 1.25s, 1.50s ,1.75s ou 2.0s, pour lesquelles la note sera respectivement de 6, 5, 4, 3, 2 et 1 point(s).
Etes-vous capable d'atteindre les 100 points ?
[ <<< ]

Le jeu du Su-Do-Ku :

[gadget] le jeu consiste à placer les chiffres de 1 à 9 dans chaque ligne, chaque colonne et chaque zone d'une grille 9 x 9, partiellement remplie.
Les aides apportées ici s'appuient sur 3 règles de base :
1) une case vide (0) peut être remplie, si un chiffre et un seul est candidat en cette position (absent ailleurs sur la ligne, la colonne ou dans la zone), selon 2 stratégies :
..... [ Auto ] résolution de toutes les cases possibles, selon plusieurs modes, jusqu'à "Blocage".
..... [ P à P ] recherche des cases "0" avec un seul chiffre candidat jusqu'à ce qu'une case soit résolue,
..... [ LC3 ] applique la stratégie 2, pour les groupes de lignes, tant qu'une case au moins est remplie, puis la même chose pour les groupes de colonnes,
2) quand un chiffre est présent sur 2 lignes (3 zones voisines), il est solution sur la 3ème ligne (et la 3ème zone) si :
..... une seule case est libre parmi les 3 cases de la zone,
..... une seule case se trouve sur une colonne ne contenant pas ce chiffre.
>> Utiliser les boutons [ Lig ].
3) idem pour les colonnes, en utilisant les boutons [ Col ].
>> Utiliser ces méthodes alternativement.

Pour jouer "manuellement" : 1) cliquer sur une case "0" de la grille.
>> le script calcule les chiffres candidats, et propose le premier.
* choisir le chiffre suivant avec le bouton [ -> ],
* poser le chiffre choisi avec [ Pos ].
!!! En cas d'erreur, supprimer le chiffre avec [ Sup ].
2) cliquer sur une case autre que "0" de la grille.
* masquer les cases où le chiffre choisi ne peut être placé, en cliquant sur le bouton [ ## ],
* sélectionner une case à "0", unique sur la ligne ou sur la colonne, (marquée d'un "#", ou dans une zone (non signalée),
* placer le chiffre avec le bouton [ Pos ] voisin.
!!! le bouton [ Ràz ] ou [ ## ] libère la grille des "#")

Pour résoudre un problème quelconque :
* remplir la zone de saisie (à gauche, selon le modèle affiché),
* la transférer à droite avec le bouton [ ---> ].
[ <<< ]

Texte animé :

[gadget] un texte coloré selon les couleurs de l'arc-en-ciel, prend naissance quelque part dans la fenêtre, pour venir prendre, lettre par lettre, une position, centrée dans la fenêtre.
Le texte peut avoir la forme d'une simple ligne, d'un cercle ou d'une sinusoïde, puis s'anime sur la figure ainsi dessinée, chaque lettre prenant la place de la précédente, la première occupant la place de la dernière.
Le texte prend successivement les trois formes, avec, à chaque changement de figure, une redistribution aléatoire des lettres dans la fenêtre.
[ <<< ]

Coloration de cellules :

[essai] un court exemple montre comment on peut colorier le fond d'une cellule d'un tableau (par Style/CSS ou par fonction JS) selon le passage de la souris.
L'exemple montre aussi, par le changement de couleur et le message affiché dans la barre d'état, que la souris n'est plus "sur la cellule" quand elle passe sur le texte contenu dans celle-ci.
Si le comportement vous semble parfois anormal, n'oubliez que les "objets" sont imbriqués, et donc que des priorités sont appliquées.
[ <<< ]

... Informations sur les Scripts.