AngeZanetti.com

Internet et ses usages, développement Web et humeurs diverses

Lifting du HTML embarqué pour Second Life

J’en parle depuis longtemps, sur SL il FAUT du vrai HTML sur les prims pour pouvoir afficher des pages web directement inwolrd. Alors oui, a existe déjà, mais c’est figé impossible de vraiment surfer et en plus beaucoup de fonctionnalité ne sont pas supportées. C’est le cas pour Flash, Ajax etc…
J’en ai parlé à M Linden lors de sa venue à Paris mais il n’avait pas l’air bien décidé… Et puis hier soir je reçoit une notice qui me redonne espoir. Cette notice à été lancée par Gally Young(son blog est ici) sur le -fameux- groupe francophone C&S.

Cette notice annonçait l’arrivée prochaine de fonctions LSL, le langage de programmation de Second Life, permettant d’attribuer une page web par primitives(objets) permettant de convertir ses prims en mini serveurs web. Pas de pages web sur les prims mais une extension des fonctionnalités existantes de communication entre internet & SL (XMP-RPC).
Cette nouvelle fonction est prévue pour la version 1.27 prvue pour Juin 2009!

EDIT : Merci à ssm2017 pour ses correctifs & précisions

Les nouvelles fonctions qui seront disponibles sont :

  • key llRequestURL() => pour demander une URL à la sim
  • key llRequestSecureURL() => pour demander une URL sécurisée (Https / SSL)
  • llReleaseURL(string url) => pour libérer une URL
  • llHTTPResponse(key id, integer status, string body) => pour renvoyer les données de la page à charger
  • http_request(key id, string method, string body) => événement déclenché lorsqu’une requête HTML est reçue par le script.
Et quelques autres fonctions (llGetFreeURLs & llGetHTTPHeader)

Ces fonction sont disponible sur la grille “Beta” de Linden Labs.

Galy nous explique comment faire pour afficher une page sur son prim :

Pour tester, il vous faut :
1/ Rezez une prim dans une sim dont le nom commence par “Http in Sandbox”
2/ Insérez ce script dans une prim (c’est le script le plus simple):

default
{
state_entry()
{
llRequestURL();
}

http_request(key id, string method, string body)
{
if (method == URL_REQUEST_GRANTED)
{
llSay(0,”URL: ” + body);
}
else if (method == “GET”)
{
llHTTPResponse(id,200,”Hello World!”);
}
}
}

3/ Une URL vous est communiquée, vous pouvez la tester dans votre navigateur et retrouver le message envoyé par llHTTPResponse… le fameux “Hello World!”

Comme prévue par Linden Labs, les scripts auront des restrictions. C’est en fait le cas pour TOUS les scripts, cette nouvelle fonction n’échappe pas à la règle…
Gally nous explique :

Durée de vie des URL
——————–
– Les URL sont temporaires, un script perd son URL si la prim est rez/derez, si le script est sauvegardé ou relancé, si la prim change de région ou si la région redémarre.
– si un script perd son URL, il devra en demander une nouvelle au simulateur.

Les limites
———–
– Le nombre d’URL disponible par sim est limité et correspond au nombre de prims autorisées pour la parcelle, sauf que le bonus d’objet ne s’appliquera pas.
– La fonction llGetFreeURLs permettra de savoir combien d’URL sont disponibles sur la parcelle.
– chaque avatar présent pourra avoir jusqu’a 38 URL personnelles (1 par point d’attachement)
– Les véhicules prendront une URL disponible sur la parcelle ou dans la réserve des URLs des résidents.
– Si un résident n’a plus assez de sqm pour couvrir ses besoins en URL, les objets en trop seront renvoyés (même si le nombre max d’objets n’a pas été dépassé)

Limite des requêtes reçues par la prim
– l’en-tête ne pourra pas dépasser 255 bytes
– le corps de la requête ne pourra pas dépasser 2k bytes
– un script pourra avoir jusqu’à 64 requêtes en cours.

Limite des réponses renvoyées par la prim
– il n’y a pas (encore) de limite à la taille du message renvoyé…

Voila vous en savez à présent un petit plus, il ne tient qu’a vous d’aller faire vos tests et préparer vos scripts sur le beta grid en attendant que la fonction arrivent dans la grille principale…

Vivement la 1.27 !!!

Plus d’infos :
————–

Le projet :
http://wiki.secondlife.com/wiki/LSL_http_server

Des exemples :
http://wiki.secondlife.com/wiki/LSL_http_server/examples

Le groupe C&S :
http://www.constructeurs-scripteurs.org/

Merci à Gally Young pour son accord de publication sur mon blog ;)

7 Comments

  1. salut
    je ne souhaite pas te faire redescendre mais ces fonctions n’affichent pas de html sur une prim.
    ces fonctions permettront a une prim de devenir comme un serveur web
    ces fonctions pourront etendre l’actuel xml-rcp qui ne fonctionne que dans un sens et qui est helas trop limité
    sinon, les limites de ces fonctions ne sont pas encore fixées et j’espere qu’ils ne vont pas brider le truc comme ils ont fait pour xml-rpc ( une requete toutes les 3secondes.. 256octets par transfert… )
    cependant c’est une belle avancee qui va permettre beaucoup de choses et faciliter les liaisons entre sites web et sl

  2. Salut ssm!

    Merci de tes précisions, j’ai modifié le billet en conséquence. Hésite pas si je dit des bêtises à me corriger :)

    Pour ce qui est des limites, je ne doute pas que cette fonction sera bridée. Linden Labs fait la chasse au lag, et leur choix est de limiter les scripts, malheureusement…

  3. Lena Franciosa

    May 6, 2009 at 17:18

    Salut,
    en fait tu peux déjà vraiment surfer sur le web depuis un prim en utilisant un script LSL couplé à un proxy, j’ai déjà vu ça mais ça demande évidemment beaucoup de ressources au niveau de la partie RL.

  4. Ange Zanetti

    May 7, 2009 at 09:29

    @Lena : oui il existe toujours des moyens de contourner le système mais en natif ce serait vraiment bien !!
    Quand on voit que Solipsis, qui est développé par 2 personnes, permet déjà la navigation. Et que ce navigateur permet d’afficher du flash et de l’Ajax on se dit que c’est plus une volonté de LL qu’autre chose…
    Parce que qui dit web sur les prims dit plus d’import de textures, plus d’import de son non plus etc etc…

    Et ce type de revenu représente beaucoup d’argent…

  5. Wolden Avro

    May 9, 2009 at 08:49

    “Alors oui, a existe déjà, mais c’est figé impossible de vraiment surfer et en plus beaucoup de fonctionnalité ne sont pas supportées. C’est le cas pour Flash, Ajax etc…”

    Bonjour

    Si c’est tout à fait possible, à part Flash. J’avais l’an dernier monté un webviewer pour SL qui permet de scroller, zoomer, garder l’historique de nav, enregistrer ses favoris, soumettre des formulaires, agrandir les polices, etc. (et même afficher les codes sources)le tout piloté par IM. Un chat Ajax lui était couplé,ainsi que des fonctions CMS (création/gestion de contenus) et un outil SMS ;-)

  6. Ange Zanetti

    May 11, 2009 at 08:30

    J’avais pas vu passer l’info à l’époque Wolden ! Pourrais tu me faire une démo?
    est ce que ce viewer est en accès libre sur SL? Si c’est le cas n’hésite pas à me donner le surl que je me ferais un plaisir de publier dans le corps du post :)

    C’est génial SL ya toujours des génies qui comblent le vide laisser par LL :)

  7. Wolden Avro

    May 11, 2009 at 12:20

    Bof des génies faut pas exagérer ;-) du bricolage, oui. Mascottus avait fait un article cet automne : http://mascottus.free.fr/index.php?2008/11/16/672-second-life-envoyer-des-sms-surfer-et-cliquer-sur-le-web-chater

    On se fait une démo SL un de ces 4,ok.

Répondre

© 2017 AngeZanetti.com

Theme by Anders NorenUp ↑