Alors que les concepts du Web 2.0 ont encore du mal à être digérés, notamment par les services marketing des éditeurs, on parle déjà de Web 3.0 : web sémantique, RIE (Rich Immersive Environment) ? Nul ne peut prédire de quoi sera faite la prochaine génération. Cependant, Second Life préfigure ce que pourrait être l'interface d'un futur Web, un espace-temps entièrement virtuel. Au delà des polémiques sur ses aspects sociaux, politiques, philosophiques ou moraux, Second Life représente aujourd'hui une opportunité économique pour les développeurs. Il existe un véritable écosystème Second Life. Bien que tous les biens et services dans Second Life soient virtuels, l'argent est réel et la propriété intellectuelle revient aux créateurs. Tout ce que l'on crée dans ce monde virtuel peut être converti en argent réel. En 2006, les Résidents de Second Life ont dépensé 200 millions de dollars. Les clients potentiels sont des clients loyaux. On estime que les Résidents passent en moyenne 40 heures par mois dans Second Life, soit 10% de plus que le temps passé par mois devant la télévision par les Américains. Second Life est plus une expérience sociale qu'un environnement de jeu : 50% des résidents sont des femmes. On considère qu'une activité sur le Web qui attire autant les hommes que les femmes est un business prometteur. Du point de vue du programmeur, la plateforme Second Life présente un pouvoir d'attraction énorme. La possibilité de créer des objets qui possèdent un dynamisme crédible est sans commune mesure avec ce que l'on peut faire en Ajax ou dans d'autres applications Web. On pourrait en schématisant définir la plateforme Second Life comme un immense simulateur exécutant un nombre potentiellement gigantesque d'automates finis. L'environnement de scripting contrôlant l'exécution de ces automates finis est un langage ressemblant au langage C, appelé Linden Scripting Language (LSL). Première visite : la page consacrée aux développeurs sur le site de Second Life. On y découvre tout d'abord l'incroyable écosystème des développeurs Second Life : des sociétés proposant des projets clés en main, des consultants, des développeurs individuels, privés... Puis on y découvre les différentes API proposées par Linden : protocoles réseau, documentation REST, change Linden Dollar/devises réelles, etc. Pour développer pour Second Life, il faut bien sûr être un Résident et s'immerger. Un concept intéressant est qu'ici, le développeur évolue à la fois dans l'application et dans l'IDE. En pressant le bouton Build en haut de l'écran, on passe en mode développement et on invoque l'IDE. On ne peut créer des objets qu'en utilisant les outils intégrés à Second Life, bien que des rumeurs circulent sur la possibilité d'importer des modèles externes. Cependant, il est possible de créer des animations externes avec Avimator et de les importer ensuite dans le Second Life. On peut utiliser l'éditeur fourni dans l'IDE de construction des objets, qui permet la colorisation syntaxique, ou utiliser un éditeur de textes externes (des plugins existent pour plusieurs éditeurs populaires). Second Life dispose d'un véritable modèle objet. Le monde virtuel est constitué d'une banque de serveurs, chaque serveur a la charge de gérer les objets, les terrains, les avatars et de s'assurer que les clients connectés au serveur sont mis à jour correctement. Chaque serveur coordonne l'interaction entre les avatars et les objets. Un objet n'a pas la possibilité de réagir tout seul aux autres avatars ou objets, il doit avoir été scripté pour prendre vie. Créer un objet vivant combine deux disciplines : la création d'objet et le scripting d'objet. Il n'y a pas de restriction sur les types d'objets que l'on peut scripter. Tout élément visuel, depuis la forme jusqu'à la texture peut être scripté. Tout objet ou avatar est en fait un ensemble de polygones, simples ou liés entre eux. Un clic droit sur un polygone (un prim en langage Second Life) fait apparaître un menu circulaire avec les différents comportements autorisés ou créés via scripting. Pour se familiariser ou explorer l'API Second Life, on pourra consulter le LSL Wiki. Le magazine américain Dr. Dobbs a créé un site dédié aux développeurs Second Life regroupant news, blogs, forums, etc. : Dr. Dobbs Life 2.0. Une conférence développeurs a même été organisée fin avril-début mai, Life 2.0 Summit. On y a vu notamment Grady Booch d'IBM, cofondateur d'UML, parler de Second Life en tant qu'environnement collaboratif pour le développement logiciel. De toute évidence, Second Life est plus qu'un jeu. C'est un nouveau monde d'opportunités pour créer des objets beaux et utiles. Alors, développeur Second Life, ça vous tente ?