1
0

Nouvelle version du blog

This commit is contained in:
Richard Dern 2024-03-15 17:14:55 +01:00
parent f41462f72e
commit 6144a66517
2 changed files with 125 additions and 0 deletions

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bfec4754fe8434cab70b7ca69c2091c2f20ebbe6d711e0bdd5d6d4085009afe9
size 397596

View File

@ -0,0 +1,122 @@
---
title: "Nouvelle version du blog"
date: 2024-03-15T13:30:46+00:00
cover: "images/DALL·E 2024-03-15 17.11.04 - Create an image that represents the idea of a modern blog renovation with a touch of artificial intelligence collaboration. The scene includes a minim.webp"
cover_credit: "Illustration par DALL·E"
tags: [
"Blog",
"DALL·E",
"ChatGPT",
"Intelligence Artificielle",
"Laravel"
]
---
## From scratch
Je suis parti d'une feuille blanche.
Avec la version précédente, j'ai imité - essayé de transposer - le fonctionnement du générateur de site statique [Hugo](https://gohugo.io/).
Je ne me suis pas forcé à écrire quelque chose de distribuable : le but était justement de faire quelque chose de très personnel (et c'est toujours le cas).
Mais même sans cette contraire, le fonctionnement spécifique de ce genre d'applications ne me convient pas.
Je suis un développeur *web*, et imiter Hugo ne faisait que tendre vers une tentative d'application Frankenstein, à moitié pour la console et à moitié pour le web.
Je me rends compte maintenant à quel point c'est lourd et pénible, alors que, grosso-modo, on prend du markdown en entrée et du HTML en sortie, et j'aime même pas besoin de faire [la conversion](https://commonmark.thephpleague.com) à la main...
Donc, je repars de rien, et j'aboutis à peu près à six fichiers où se trouve l'essentiel de mon code.
J'ai du réduire d'au moins 75% ma base de code, tout en la rendant plus conforme à ce que j'ai l'habitude de développer avec [Laravel](https://laravel.com/).
## Avec de l'aide
Vous n'êtes pas sans savoir qu'en ce moment, j'explore l'[Intelligence Artificielle](/tags/intelligence-artificielle/) Générative, et qu'en plus, [j'ai pris un abonnement payant à ChatGPT](/blog/2024/03/10/j-ai-pris-un-abonnement-a-chatgpt/).
L'occasion de créer un GPT personnalisé, dédié à mon blog.
J'y ai trouvé exactement ce dont j'avais besoin : l'inspiration.
Mieux : ça m'a rassuré sur certains points que je détaillerai plus loin.
### Pour l'esthétique
Comprenez bien que je ne prétends pas avoir réalisé un *beau* site, par contre il me correspond *encore un peu plus* que le précédent.
Et c'est en grande partie à DALL·E que je le dois.
Je disais dans [mes réflexions sur Leonardo.ai](/blog/2024/03/03/reflexions-leonardo-ai/) que l'IA pouvait être considérée comme un pont entre les arts, et avec de la patience et une meilleure compréhension de la façon dont tout ça fonctionne, à force d'essais et d'erreurs, j'ai fini par obtenir de DALL·E un logo qui me convient à la perfection.
Mais je ne dois pas créditer que DALL·E pour ce logo mais aussi mon épouse : c'est elle qui a eu l'idée d'un prompt pour obtenir ce résultat (même si j'ai fait quelques ajustements par la suite).
En tant que logo rond, je vais pouvoir m'en servir comme avatar, et il ne dénote pas trop une fois réduit en favicon.
De plus, ça m'a permis d'essayer une disposition que je n'avais encore jamais tenté, avec les liens autour du logo, et je suis très satisfait du résultat.
En outre :
- On devrait rapidement voir la référence à [*Jurassic Park*](/sagas/jurassic-park/) sans pour autant avoir copié honteusement le logo d'origine
- Le *T. rex* est "réaliste", c'est-à-dire qu'il a le bon nombre de pattes et de doigts...
- Il a exactement l'attitude que je voulais retranscrire : sérieux, concentré, mais jovial malgré tout
- Les couleurs sont exactement celles que je cherchais
- Mes initiales apparaissent correctement ; c'est peut-être contre-intuitif, mais tout ce qui est textuel semble assez délicat à produire dans une image
ChatGPT m'a aussi aidé pour la sélection de couleurs de l'ensemble du site, et quelques règles CSS qui sortent un peu de mon champ de compétence.
Je le répète assez souvent : je n'ai aucun talent pour tout ce qui est graphisme et design, et ChatGPT a été très créatif à ma place.
Là aussi, je suis très satisfait du résultat, même s'il y aura probablement des retouches à faire ici ou là et ultérieurement.
Enfin, j'ai décidé que tous mes articles auront leur propre image d'en-tête.
L'occasion pour moi d'entraîner mon ChatGPT personnalisé, et de m'entraîner *moi* à communiquer avec lui.
### Pour le code
Je suis assez bluffé par les compétences de ChatGPT en ce qui concerne la production de code.
Moyennant quelques informations basiques ("*je développe avec Laravel*", ce genre de choses), il me produit du code totalement approprié, très souvent juste, bien structuré, documenté (mais il faut le lui préciser) et lisible.
C'était assez rare que j'ai besoin de repasser derrière un copier-coller de ce qu'il produisait.
Je lui ai surtout demandé son avis pour des choses un peu complexes, ou pour lesquelles je me doutais qu'il existait une façon de faire sans pour autant parvenir à mettre le doigt dessus.
En détaillant suffisamment mes questions, ses solutions s'avèrent doublement satisfaisantes :
1. Elles sont justes
2. Elles sont *originale*
Grâce à ses réponses, j'ai appris, par exemple que je pouvais travailler assez facilement avec des colonnes qui stockent des données en JSON dans une base PostgreSQL.
Je savais que je pouvais faire des trucs sympas, mais j'ignorais que j'avais cette puissance directement à portée de main avec [Eloquent](https://laravel.com/docs/11.x/queries#json-where-clauses)...
Pour tout dire, je pensais que ChatGPT allait me proposer des solutions basiques, du genre récupérer toutes les pages et tester le JSON pour faire ce dont j'ai besoin en pur PHP, ce qui est très loin d'être optimal.
Mais finalement, la qualité du code proposé est d'un niveau bien supérieur à ce que je craignais, et c'est tant mieux.
Il y a toutefois quelques grandes limitations qui, pour l'heure, me rassurent quelque peu sur le métier de développeur.
Principalement, il n'est pas vraiment envisageable de faire les choses en grand.
Redoutable pour refactorer quelques méthodes, voire une classe complète, ChatGPT semble un peu plus dans l'embarras quand j'essaye de lui demander de refactorer plusieurs classes en même temps, avec pour objectif de limiter les répétitions de code.
Là, il avoue lui-même que c'est une opération trop complexe pour lui (alors que mes classes sont tout à fait modestes).
**Il lui manque une capacité à avoir une vue d'ensemble**.
Ça, pour le moment, cela reste l'apanage du développeur.
Ouf.
Je note aussi qu'il ne gère pas bien les négations ("*je ne veux pas de texte dans l'image*" va immanquablement produire une image avec du texte...).
Au contraire de Leonardo.ai qui a bien prévu le coup avec ses prompts négatifs, ce qui confirme l'intérêt d'utiliser plusieurs outils de ce type afin d'accomplir des tâches spécifiques.
### Pour la rédaction
Afin de faire des liens entre des films et des séries, je rajoute dans le FrontMatter de mes articles les listes d'acteurs et de personnages (mais aussi des dinosaures, quand applicable...).
C'est incroyablement rébarbatif, parce que ça consiste à faire des copier-coller de la Wikipédia, d'abord pour les acteurs, ensuite pour les personnages, etc.
Je pourrais utiliser l'API de Wikidata et faire un truc à moitié dégueulasse, mais je peux aussi demander à ChatGPT de me lister les acteurs du film (ou les voix du jeu vidéo, ou les rédacteurs d'un livre), avec leur personnage, ainsi que les contributeurs tels que les scénaristes, metteurs en scène, etc. le tout formaté en YAML, et il le fait parfaitement bien.
Je ne l'ai pas encore mis en pratique pour différentes raisons, mais maintenant j'ai l'infrastructure de code et esthétique pour le faire, ça fait donc partie de ma feuille de route.
## Quelques détails
Je ne vais pas tout décrire de la nouvelle version du site.
Sachez simplement que :
- Il n'y a toujours pas la moindre ligne de javascript
- Il n'y a toujours pas besoin du moindre cookie
- Je ne génère pas la moindre statistiques : je ne sais pas combien vous êtes à me lire, ni combien de temps vous restez sur le site, ni aucune autre métrique que ce soit
- Je suis toujours aussi respectueux de mes visiteurs qu'avant : je n'ai pas vendu mon âme au diable en voulant monétiser ou en intégrant de l'IA
- C'est toujours moi l'auteur de mes articles, ChatGPT ne me vient en aide que pour des détails, comme la liste des acteurs d'un film, ou pour vous faire part d'anecdotes, ou pour générer des images d'en-tête
- Mon blog ne va pas devenir un ramassis de pubs ou de contenu auto-généré, et ça c'est pas seulement pour vous mais aussi pour ma [réputation](/blog/2024/03/15/les-joies-des-gestionnaires-de-reputation/)
## Feuille de route
- Améliorer l'affichage des collections en permettant de choisir successivement une marque puis une gamme, et en affichant les identifiants des objets collectionnés
- Ajouter des wishlists aux collections, afin d'identifier rapidement ce qui me manque
- Diverses améliorations esthétiques que je juge mineures et qui seront faites au fil de l'eau
## Conclusion
Comme d'habitude : peinture fraîche.
N'hésitez pas à [me faire part de vos commentaires](/contact/) !