Présentation du projet
Le site koi.rest met à disposition un petit étang numérique où des poissons koi évoluent en continu. L’interface propose un bouton de mute pour couper le son ambiant et un sélecteur de minuteur (10 min, 15 min, 30 min, 60 min) permettant de limiter la durée de la session. L’auteur, Paul Glushak (alias hxii), décrit le service comme un « coin zen » destiné à aider les visiteurs à retrouver leur équilibre mental.
Architecture et génération de code par IA
Paul indique qu’il ne maîtrisait pas JavaScript au moment du développement et a recours à une IA générative pour produire le code. Cette approche implique que le front‑end a été créé à partir de prompts, sans intervention manuelle importante. Le résultat est un site statique hébergé probablement sur un CDN, avec HTML, CSS et JavaScript générés automatiquement. L’absence de serveur back‑end dédié limite la surface d’attaque mais empêche également l’ajout de fonctionnalités dynamiques complexes.
Fonctionnalités et expérience utilisateur
Les options de minuterie sont implémentées via des boutons qui déclenchent un setTimeout JavaScript, arrêtant la lecture vidéo ou l’animation après le laps de temps choisi. Le bouton Mute désactive le flux audio en modifiant la propriété audio.volume. Une section « About this pond » fournit le contexte personnel de l’auteur, incluant son statut de développeur en recherche d’emploi, ce qui montre que le site ne requiert pas d’authentification ni de collecte de données personnelles.
Analyse des limites et perspectives
Le recours à une IA pour générer le code accélère le prototypage mais peut introduire du code redondant ou des pratiques non optimisées, comme des dépendances inutiles ou des fonctions non utilisées. L’absence de mécanismes de sécurité (CSP, sanitisation) n’est pas mentionnée, ce qui pourrait exposer le site à des injections si le contenu était dynamique. Enfin, la simplicité du service, sans backend, empêche l’ajout de fonctionnalités communautaires avancées (chat, partage de scores) sans refonte majeure.