Blog

Frankensite – ou comment l’IA a ressuscité un site

Dernièrement, comme beaucoup d’entre nous, j’ai profité de la puissance de l’IA pour mener à bien certaines choses qui étaient plus ou moins en stand-by par manque de temps, le genre de tâches un peu ingrates qu’on repousse toujours au lendemain sans trop y penser, et parmi elles il y avait notamment le fait de changer d’hébergeur et de réorganiser ma constellation de sites épars, avec de vieux trucs qui traînaient sur free.fr, Vercel, Ionos, le tout reposant sur des bases techniques disparates.

Bref, en remuant ces vieux meubles et ces vinyles que l’on garde sans jamais trop savoir pourquoi, j’ai été submergé par une véritable bouffée de nostalgie et propulsé dans le temps. J’en ai profité pour remettre en ligne la toute première version de mon site internet qui, je l’avoue, m’avait rendu très fier : compatibilité avec les navigateurs de l’époque, rendu visuel « artisanal », easter eggs cachés un peu partout et librairie jQuery exploitée à son maximum. Pierre angulaire de ce design : un fond violet au motif assez original, que j’avais peaufiné puis téléchargé via un outil en ligne de l’époque.

En tirant le fil de la nostalgie, je me suis remémoré à quel point cet outil de génération de motifs était génial pour planter un décor à moindres frais. C’était surtout un outil pour les profils visuels et créatifs, un bac à sable aux règles très contraignantes, mais où les possibilités étaient infinies. Le fonctionnement était le suivant : un set de motifs était à disposition, avec de nombreux paramètres comme la taille, les couleurs ou la texture. Comme j’avais mis le lien de cet outil directement sur mon site, dans ma liste de « liens cools », il m’a été aisé de voir ce que le service était devenu plus de quinze ans après.

De plus, s’il m’avait vraiment plu à l’époque, je restais assez frustré de ne pas retrouver cet outil qui mariait, dans son interface, la complexité et la simplicité de manière aussi élégante. Bref, poussé par une curiosité gonflée de nostalgie, je clique sur le lien pour aller voir ce que le site est devenu.

L’URL répond. Mais le site n’a plus rien à voir : ce ne sont désormais que des pages de contenus SEO sans grand intérêt.

Comme tout bon historien d’Internet qui se respecte, la réponse a cette déception étais de passer par web.archive.org. Les dieux des internet sont de mon coté, les archives sont pléthoriques.


Les temps de réponses sont laborieux, les pages archivées manquent parfois de ressources, mais au moins il y a de quoi explorer dans cet océan de cache. mon choix s’arrête sur une archive des années 2008, surement la version qui est la plus proche de ce que j’ai connue et utilisée.


En explorant les différentes versions, je tombe sur la version actuelle du projet, patterninja.com, beaucoup plus complète, plus propre, plus moderne évidemment, mais avec ce décalage difficile à expliquer où quelque chose manquait malgré tout, peut-être la simplicité, peut-être juste le contexte de l’époque, ou alors ce biais un peu trompeur qui embellit tout ce qui est passé. Je retrouve également le nom de la personne qui a tenu ce projet à bout de bras.

Ressusciter d’entre les morts

J’aurais pu m’arrêter là. Mais j’avais envie de refaire fonctionner cet outil ancestral — pas une réplique parfaite, mais retrouver ce « truc » qui génère un rendu vibrant directement à partir d’un motif simple. Facilement, en quelques clics, avec une palanquée d’options intuitives à utiliser. Je le voulais car j’étais passé par ce chemin pour déclencher l’inspiration de mon vieux site. Je ne me souvenais plus si le motif avait été un point d’entrée ou de sortie, mais il avait été une étape essentielle de la composition de son univers graphique. Et c’est parce que je voulais réemprunter le même chemin pour mes nouveaux projets que j’avais à nouveau besoin de cet outil. L’outil d’origine n’existait plus, mais là où j’aurais jeté l’éponge tout seul, j’ai estimé que le temps de le recréer avec l’IA était désormais jouable.

Je suis donc parti de quelque chose de très simple : sauvegarder la page en local, nettoyer tout ce qui n’était pas essentiel et virer les couches inutiles (les restes de fonctionnalités sociales, les frames de la Wayback Machine). Assez vite, je me suis retrouvé face à une série de petits blocages techniques, pas forcément complexes mais nombreux : des miniatures basées sur des GIF plutôt que des SVG, des problèmes de rendu en local avec des images floues, etc.

C’est là que ça devient intéressant parce que j’ai commencé à déléguer ces micro-problèmes à l’IA : demander un script pour aller récupérer des SVG depuis des URLs reconstituées, ajuster des comportements, comprendre pourquoi certaines choses ne marchaient pas, et petit à petit tout s’est remis en place. Pas d’un coup, mais plutôt par itérations successives. Avec ce sentiment assez étrange de voir un système ancien reprendre vie sans vraiment passer par le processus classique de développement. En un week-end, le gros du travail avait été fait ; A l’heure de l’AI, ça peut sonner comme peu efficace, mais malgré tout, j’étais assez content du résultat. Une fois que tout fonctionnait à peu près, je me suis permis de dériver un peu, ajouter deux ou trois fonctionnalités qui manquaient selon moi.

Panique éthique

J’aurais pu garder le site dupliqué en local et ne jamais le repartager. Une question se posait donc : ce que je faisais était-il du vol, un hommage ou du fan art ? Après tout, il y avait des motifs très travaillés que je n’avais pas créés. Le mieux était de prendre le taureau par les cornes : contacter l’auteur original pour lui décrire honnêtement ma démarche. Je m’engageais, lors de mon premier e-mail, à ne pas en faire une version commerciale et à le citer comme auteur original. À noter que, là encore, l’IA m’a aidé à rédiger un message ciselé pour ce besoin relativement unique en son genre.

Le lendemain, il me répondait et me donnait carte blanche.

Phylogénétique des internet

Je l’ai donc mis sur GitHub et j’ai continué à l’améliorer. J’ai ajouté de nouveaux motifs, changé l’identité visuelle en créant un logo, adapté le tout au mobile — parce que forcément, en 2008, ce n’était pas encore une contrainte — et ajouté de petites features absentes du site original ici et là. Déjà, à ce moment-là, le projet n’était plus seulement une restauration ; il devenait un peu quelque chose d’autre, une sorte de version parallèle qui n’aurait jamais existé sans cette dérive. Toute la magie de la mémétique. Au final, j’ai pu utiliser l’outil comme je l’avais fait quinze ans plus tôt, sauf que cette fois, il appartient à Internet et est disponible pour tout le monde.

Je ne peux qu’évidemment vous encourager à le consulter sur https://patternator.200.work :

La puissance

Avant, construire un projet, c’était souvent choisir ses dépendances, accepter leurs contraintes et composer avec des couches qu’on ne maîtrisait pas vraiment, parce que les recréer aurait été trop long et trop coûteux ; on évoluait donc dans un écosystème rigide.

Maintenant, avec ces outils, un développeur seul peut reconstituer ou inventer ces couches intermédiaires presque à la demande. Pour reprendre une image, l’architecte peut maintenant créer ses ouvriers sur mesure. Mieux encore : il peut aussi fabriquer les briques à la taille qui lui convient. Et s’il veut aller plus loin, il peut même fabriquer et rationaliser l’usine qui produira ses briques spécifiques.

Aujourd’hui, cet architecte peut, d’une certaine manière, invoquer directement les compétences dont il a besoin, ajuster les outils en temps réel et créer des passerelles entre des couches qui n’étaient pas censées communiquer. Il réduit surtout cette distance entre l’intention et l’exécution qui était, jusque-là, le vrai point de friction.

Évidemment, cela ne veut pas dire que les développeurs d’aujourd’hui vont réinventer la roue pour chaque détail. Mais le problème de beaucoup de bibliothèques de code n’a-t-il pas été de se positionner sur leur rôle, de définir leur périmètre ? Quelles fonctions doivent-elles remplir précisément ? Pour quels usages ? Définir leur scope a toujours été un élément déterminant, car une bibliothèque qui remplit un maximum de cas gagne en poids et perd en performance la plupart du temps. À l’inverse, une bibliothèque trop précise est très efficace, mais ne va pas forcément remplir le rôle qu’on voudrait lui assigner, ou alors il faudra ajouter des surcouches pour qu’elle s’adapte aux besoins spécifiques du projet.

Avec l’IA, toutes ces problématiques d’arbitrage tendent à devenir caduques. Si une bibliothèque ou un outil ne correspond pas exactement à nos besoins, il devient ridiculement facile d’implémenter le sien, adapté à 100 % à son projet. C’est exactement ce que j’ai fait avec Patternator : recréer un outil sur mesure pour mes besoins très spécifiques.

La madeleine

Cette recréation veut sûrement dire autre chose également. En psychologie cognitive, on sait que la récupération d’un souvenir est facilitée si l’on se trouve dans le même état ou contexte que lors de l’encodage. Généralement, on parle de contexte environnemental (un lieu, une odeur). Mais dans mon cas, il s’agit d’un contexte dit « opératoire ». En reconstruisant l’interface et en récupérant les motifs, j’ai sûrement recréé l’écosystème technique qui avait permis à mon « moi » de 2008 de créer. L’outil a donc un rôle psychologique : c’est un stimulus, un déclencheur pour essayer de retrouver mon état d’esprit de l’époque. Cet élément clé porte un nom en psychologie cognitive : c’est un indice de récupération (retrieval cue).

Configurer le PATH sur Windows 7

Vous aussi vous êtes nul en informatique (et donc sur Windows) et vous souhaitez modifier votre Path ?

A quoi ça sert ?

Le PATH est juste une liste d’adresse, de chemin (path), vers des programmes que vous avez installé ou qui y étais déjà. L’intérét, c’est que si les adresses des programmes sont stockés dans le PATH, alors ces programmes peuvent être exécutable de n’importe où dans windows. Par exemple en ligne de commande, mais aussi pour tous les programmes qui le nécessitent.

Comment rajouter une adresse dans le path ?

C’est là que ça se complique. Il y a la possibilité de le faire en ligne de commande (ici), mais aussi en utilisant l’interface de Windows. Windows 7 en l’occurence dans mon exemple. Attention, c’est laborieux, raison pour laquelle j’ai mit toute la procédure en screenshots !

Voir l’article dans sa totalité…

Créer sa typo entièrement et gratuitement

Aujourd’hui, intégrer un jeu de typographie particulière sur une page web est devenu facile. La tentation, pour de multiples raisons, de créer sa propre typo, est forte. Dans mon cas, disons le tout net, c’est parti d’un bon ego-trip, l’égo trip de voir sa propre écriture manuscrite utilisable à souhait, sur tous les logiciels que je voulais, comme ça ! On pourrais épiloguer longuement sur les raisons de créer sa propre typo, car il en existe heureusement bien d’autre, mais là n’est pas le sujet. Créer sa typo est à la porté du premier(ère) imbécile venu(e), puisque j’y suis arrivé ! Et ceci peut se faire gratuitement. Et c’est cette expérience que je vais partager sur cet article !

Créer votre propre typo !

Créer votre propre typo !

Voir l’article dans sa totalité…

« Why Scrolling is the New Click » – Pourquoi scroller remplace le clic !

Cet article n’est que la traduction de l’article original en anglais présent sur le site uxMovement :
http://uxmovement.com/navigation/why-scrolling-is-the-new-click/
Cet article date du premier octobre 2012, mais l’essentiel des idées sont là.
Bien qu’étant loin d’être un expert de la langue française…, je me suis permit quelque néologismes du cru, comme le verbe « scroller » ou « tracker » en lieu et place de « faire dérouler » ou « suivre/analyser/rapporter ».

Voir l’article dans sa totalité…

Initiation a Google Map API V3

Vous aussi, vous avez probablement eut envie de tripoter l’API de google pour faire des cartes personnalisées !
En tout cas, c’est ce qui m’arrive régulièrement. C’est suite à ce pénible constat de devoir toujours refaire les mêmes recherches que je vais ici décrire les techniques de bases pour se plonger dans l’API, avec l’exemple d’une petite application qui permet d’obtenir facilement la longitude et la latitude d’un marker qu’on peut drag’n’dropper sur une carte Google. Exemple ici.

Les pré-requis :
– Connaissance (au moins superficielles) du JavaScript. On utilisera pas de bibliothèque type jquery dans cet exemple, car inutile.
– Connaissance HTLM et du CSS en général.
– Un compte Google.

Obtention de la clé

Pour commencer, il va vous falloir obtenir une clé qui permettra à Google de savoir qui appellera les scripts pour déployer son application, et… vous faire payer au delà d’un certain quota (25 000 requêtes / jours). Pour ce faire, rendez-vous sur cette page .

Voir l’article dans sa totalité…

KP : Le KorvusPad !

Alala, Quelle serait ma joie si j’avais des crédits illimités, et autant de bras et de cerveaux pour réaliser toutes mes envies, mes créations, mes folies !

Je vais vous parler d’une de mes idées parmi d’autres, mais que j’ai décliné en image, histoire de la partager plus facilement !

Une nouvelle tablette ?

Alors que Microsoft vient de sortir sa nouvelle tablette Surface, au design épuré et propre, j’ai été relativement impressionné par le système du clavier.

Surface, de microsoft

Surface, de Microsoft

Voir l’article dans sa totalité…

Police à taille fixe

Peut-être comme moi vous êtes vous posé la question : Comment peut-on déterminer le nombre de caractères maximum ou minimum pour occuper une largeur et une hauteur prédéterminée en CSS a l’avance (et là ou les min-height et max-height sont inefficaces ou hors contexte) ?
Rapidement, on se rend compte que les polices engendrent des largeurs différentes en fonction des lettres ! Légitime, un M ne prend pas la même largeur qu’un l !

Et pourtant ! Saviez-vous qu’il existe des polices dédiées qui répondent parfaitement à ce genre de problèmatique ? Les polices à chasse fixe, ou monochasse (monospacefixed-pitch ou non-proportional font en anglais) présentent des caractères à la largeur strictement identique, quel que soit le caractère ! La « courrier » est la plus connue d’entre elles, par exemple ! Les polices ne rentrant pas dans ce jeu là sont dites à chasse variable, ou à espacements proportionnels.

Polices a taille fixe

Voir l’article dans sa totalité…

Logo en CSS

Je travaille actuellement pour Twenga, comparateur de prix.

Comme la plupart des entreprise, elle possède une identité visuelle forte, marquée par un logo identifiable par une cible, marquée d’une flèche.
Pour le fun et par mode, je me suis piqué au jeu de refaire le logo en CSS pur, sans image ni javascript !

Exercice aussi laborieux qu’amusant et inutile, je m’y suis confronté, curieux de voir si j’allais me confronter à une quelconque difficulté inattendue ou découverte !

 

Le cercle bleu principal, extérieur.Par dessus le cercle bleu, le premier cercle interne, blanc.Le petit cercle bleu du centre de la cible.Le cercle blanc quasi transparent qui permet de donner l’effet de reflet a l’ensemble de la cible.Pointe de la fleche blanche qui se détache.Masque blanc.Pointe de la flêche marron.Partie blanche gauche de la flêche, qui passe par dessus le cercle extérieur.Partie marron gauche de la flêche, qui passe par dessus le cercle.Partie droite / supérieur marron de la flêche.Cache du bas de la partie précédente, du même fond que le cercle bleu.Cache du cache (!) qui permet d’atténuer le bleu du cache du dessous de la même manière que le fait le span.circle4.

Voir l’article dans sa totalité…

meta négative

Malgré l’hallali, contre les <méta> desc et keyword, décrété par les autoproclamés maîtres du SEO, j’y reste fortement attaché :

  • Elles ne coutent rien et sont très simple à mettre en œuvre.
  • Quoi qu’on en dise, ce sont souvent mes <meta desc> qui remonte dans les résultats pour nombre de mes sites sur google (oui, encore aujourd’hui en 2011).
  • De nombreux crawlers autre que google les utilisent (combien d’annuaires ou autres outils se basent sur les meta, vous facilitant bien souvent la tache).
  • Elles peuvent certes servir de fourre-tout et être détournées de leur utilisation, mais c’est à l’image de tout et n’importe quel élément dans la page. Une personne qui souhaite biaiser google le fera dans les meta comme il le fera pour toutes les autres recommandations.

C’est en nourrissant cette réflexion pour les meta que je me suis dit que, bien souvent, on n’avais peu réfléchit par la négative* dans le web ! Je m’explique ; Si il est effectivement bienvenue de proposer des mots qui correspondent au contenu de notre site web, ne serait-il pas tout autant pertinent de pouvoir proposer également des méta qui signifierait des « anti-mots » ? Par exemple, si mon site traite de maladies du cochon (oui, je sais, c’est très pointu), je n’aurais pas spécialement envie qu’un utilisateur cherchant des renseignements sur les cochons d’inde, ou, pis, sur des scènes « cochonne » tombe sur mon site ! Je ferais donc :

<meta name="Keywords" content="cochon, porcin, élevage, maladie, traitement" />
<meta name="NegaKeywords" content="Inde, cochonne, sexe" />

Qu’en pensez-vous ?

*Ceci nourrira un prochain article 😉