13 points par prunusnira 2025-06-02 | 2 commentaires | Partager sur WhatsApp

Résumé

(Résumé par Gemini puis partiellement modifié)

  • Conversion du moteur de Portal 2 en serveur web

    • Une expérimentation a été menée pour héberger directement des pages web dans Portal 2 en utilisant la fonctionnalité TCP cachée de la console du moteur Source (option -netconport).
  • Traitement des réponses HTTP via la console développeur

    • Un serveur TCP s’ouvre bien dans le jeu, mais la console développeur interprète les requêtes utilisateur comme des commandes de console.
    • Pour faire accepter les requêtes HTTP comme des commandes de console du jeu, la commande alias du moteur Source et VScript (le langage de script créé par Valve) ont été utilisés afin de permettre l’affichage d’une réponse à la chaîne saisie.
  • Implémentation d’un routage multiple

    • Comme la console du jeu ne peut pas distinguer les chemins d’URL, l’auteur reproduit un semblant de routage différent à l’aide des méthodes HTTP (GET, POST, etc.) et d’en-têtes HTTP personnalisés.
    • Cela permet aussi, via JavaScript, de mettre à jour les données provenant du jeu en temps réel.
  • Mapping des objets du jeu vers le DOM HTML et le CSS

    • Des objets du jeu comme les cubes sont associés à des balises et attributs HTML, de manière à « empiler » réellement le site web pour le construire.
    • De la même façon, les informations de style (CSS) sont elles aussi associées, attribut par attribut, à un cube pour composer visuellement la page web.

2 commentaires

 
cosine20 2025-06-09

Ça me rappelle la façon dont, dans des BD ou des jeux, on représentait parfois l’intrusion dans un serveur comme le fait d’errer dans un espace virtuel.

 
prunusnira 2025-06-02

C’est déjà surprenant d’avoir eu l’idée de créer un serveur web avec un moteur de jeu, mais c’est une vidéo intéressante aussi parce qu’elle explique très bien, au moins sur le plan conceptuel, plusieurs notions de base du développement web. J’ai trouvé vraiment excellente la partie où l’on empile les cubes de Portal pour construire le DOM/CSS.