fermer
CloudDéveloppementOutils - Conseils

Eclipse annonce la plate-forme Orion, une distribution « cloud computing »

Le 11 Janvier 2011 Mike Milinkovich d’Eclipse, a annoncé le lancement de la plate-forme Orion, un outil de développement basé sur le Web. Cet article va nous permettre de poser les bases du système Orion, ainsi que les raisons qui pourraient vous pousser à choisir un IDE intégré dans un navigateur.

Orion

Le code initial disponible est sensé être embryonnaire. Il annonce qu’aujourd’hui Orion est un éditeur de code rapide et évolutif qui fonctionne sur tous les principaux navigateurs, possède également un système de navigation sur les fichiers et dossiers d’un projet, et un moteur de recherche sur les fichiers du projet ou des projets. C’est un début modeste, les choses primaires sont réalisées. À plus long terme, leur vision est de permettre l’intégration entre toutes sortes d’outils du Web.

Vous pouvez jeter un œil sur les pages wiki si vous voulez en savoir plus sur Orion.

Mais attendez … “Pourquoi voudrais-je lancer un IDE dans un navigateur ?”

Vous ne savez probablement pas. Un IDE, par exemple Eclipse, prend un certain temps à se charger, utilise un maximum de ressources sur votre ordinateur, et est doté de fonctionnalités dont vous ignoriez l’existence. Croyez-moi, j’en ai testé plusieurs et je fais toujours le même constat…
Bien que la plate-forme n’est pas vraiment à blâmer, ce sont les centaines de plugins qui utilisent toutes les ressources. Quoi qu’il en soit, vous ne voudriez pas surcharger tout cela dans une seule page Web ou un onglet du navigateur.

Eclipse annonce la plate-forme Orion, une distribution 'cloud computing' - IDE de bureau

Généralement ce que vous voulez faire en utilisant votre navigateur Web, c’est accéder aux fonctionnalités importantes pour vous en tant que développeur de logiciels ou de sites Internet. Il y a des chances que vous le fassiez déjà aujourd’hui ! Par exemple :

  • Utiliser un système de détection et de suivi des bugs sur le Web comme Firebug
  • Outil d’intégration continue, consistant à vérifier à chaque modification du code source que le résultat des modifications ne produit pas de régression de l’application en cours de développement, en utilisant un outil basé sur le Web comme Hudson
  • Système de revue de code, facilitant la révision des lignes du code, comme Gerrit
  • Lire de la documentation et effectuer des recherches sur des fragments de code en utilisant un navigateur
  • Avoir un référentiel de service Web d’hébergement et de gestion de développement de logiciels, comme GitHub

Tout ceci pour dire que vous déplacez la quasi totalité des activités de développement de logiciels restantes au navigateur. À long terme et même à très long terme si vous voulez, ce sera selon moi une évidence d’utiliser un système 100% cloud.

Si vous travaillez sur un projet donnant beaucoup de valeur ajoutée à un IDE “de bureau”, vous allez probablement continuer à l’utiliser pendant quelque temps, voire pour toujours. Dans le cas d’Eclipse, les dix dernières années ont vu une quantité importante d’investissement des outils fonctionnant sous forme de plugins au sein même de l’IDE, et je ne recommanderais pas de tout jeter par la fenêtre.

Mais si votre valeur ajoutée est très faible, par exemple si vous faites du développement Web côté client, il vous suffit en plus des outils listés ci-dessus, de nouveaux basés sur le navigateur :

  • Un éditeur de code décent,
  • une manière de naviguer dans vos fichiers et dossiers,
  • un moyen de contrôler la version de vos fichiers,
  • et un débogueur.

C’est exactement ce qu’Orion essaie de proposer. Ce dernier est composé d’un éditeur de code et un moyen de naviguer dans les fichiers et dossiers d’un projet. Ils ont commencé à travailler sur une intégration de Git pour la gestion de versions, et pour le débogueur ils prévoient d’intégrer Firebug. Excellent non ?

Afin que le développement d’un logiciel sur un navigateur ait un sens, il est nécessaire que tous les outils travaillent ensemble au sein du navigateur. Idéalement, ce que l’on souhaite, nous développeurs, c’est quelque chose de semblable à l’intégration d’un IDE classique, mais sans réelle construction d’un autre IDE. L’utilisation des outils existants sur le Web est très importante, il n’est donc pas envisageable de demander aux développeurs Web d’utiliser un nouveau modèle de programmation que les développeurs d’Eclipse pourraient inventer.

Par conséquent, l’approche d’Orion a été basée sur des architectures Web connues, utilisées et ré-utilisées – même les liens hypertextes pour naviguer entre les différents outils et les ressources ont été utilisés, rendant les données accessibles de manière RESTful, et en utilisant les technologies du Web comme : HTTP, JSON, OAuth, OpenID, et d’autres.

Et ça marche comment ?

Je vais vous présenter dans les grandes lignes de comment se servir d’Orion :

Note : La suite de cette partie supposera que vous travaillez sur un environnement Mac OS X (Je pense que le principe est le même sur toutes les plateformes)

  • 2 – Dé-zipper le fichier téléchargé et lancer dans un terminal l’application : ./eclipse
  • 3 – Rendez-vous sur la page http://localhost:8080, vous devriez voir un écran semblable à celui-ci :

Eclipse annonce la plate-forme Orion, une distribution 'cloud computing' - Fenêtre de connexion

  • 4 – Créer un utilisateur et connectez-vous. Ainsi, vous arriverez sur la page d’accueil d’Orion. Là s’affiche sur la gauche dans Favorites. A droite le listing des projets et des dossiers et fichiers vous permettant de parcourir l’arborescence des différents projets.

Eclipse annonce la plate-forme Orion, une distribution 'cloud computing' - Listing des projets

Eclipse annonce la plate-forme Orion, une distribution 'cloud computing' - Listing des fichiers

  • 5 – Dès lors vous pourrez créer / supprimer de nouveaux dossiers et fichiers, effectuer des recherches dans arborescence et enfin éditer un fichier.

Eclipse annonce la plate-forme Orion, une distribution 'cloud computing' - Édition d'un fichier CSS

Eclipse annonce la plate-forme Orion, une distribution 'cloud computing' - Recherche des fichiers

Note : Malheureusement la coloration syntaxique n’est pour le moment pas prise en compte pour les fichiers HTML. De plus, les fichiers PHP ne peuvent être édités.

Il y a encore un manque certains de fonctionnalités dans le développement du projet pour être véritablement utilisé. Seules les possibilités de bases d’un développement Web sont permises.

Ce que j’en pense

Premièrement je pense qu’Orion n’est pas destiné à remplacer le traditionnel Eclipse (Eclipse en tant que bureau tel que nous le connaissons aujourd’hui) sur le cloud. Il s’agit d’un développement entièrement nouveau. De fait, il ne vise pas nécessairement les communautés existantes d’Eclipse (du moins pas la partie importante de cette communauté centrée sur le traditionnel développement Java) et à l’heure actuelle il n’existe pas de voie de migration afin de déployer les efforts d’Eclipse à Orion. Ainsi, la communauté d’Orion va s’imposer comme une nouvelle communauté à part entière, axée très fortement sur le Web et centrée sur le cloud.

Mais Eclipse est à l’origine de la création d’Orion afin d’acquérir une certaine souplesse et un isolement des dépendances avec la plate-forme Eclipse traditionnelle. L’accent est clairement mis sur le langage Javascript, mais d’autres langages dynamiques suivront rapidement. Au fil du temps (comme Java lui-même continue à migrer vers le cloud) je m’attends à ce que les développeurs demandent le support de Java et de l’ensemble de son cycle de vie du développement (SDLC). Par conséquent, les deux plates-formes se croiseront naturellement de la même manière qu’Orion mûrit. Espérons que nous verrons un certain niveau d’interopérabilité des plugins apparaissant au fil du temps qui permettra de réduire sinon d’éliminer complètement les imbrications et la duplication des efforts.

Deuxièmement, les efforts actuellement faits dans Orion ne font pas réellement progresser le projet. Ce que nous avons aujourd’hui est à peine plus d’une preuve de concept – juste assez de substance pour alerter l’imagination des développeurs et de la communauté, ainsi que des éditeurs de logiciels potentiels (qui pourraient intégrer la technologie dans leurs propres solutions). Contrairement à la plate-forme Eclipse d’origine qui a été développée en interne par IBM dont le rendu est plus ou moins complet et intact, Orion demande un effort collectif pour son développement.

Conclusion

Au cours des quelques prochaines semaines et des mois, les développeurs d’Orion espèrent que d’autres personnes voudront travailler avec eux sur la vision, les principes de développement, l’architecture, et le code.
L’objectif annoncé est de démarrer bientôt un nouveau projet à eclipse.org – voir aussi le blog de Mike Milinkovich et son article sur Orion pour plus d’informations sur l’aspect de la création du projet.

Aujourd’hui, le projet Orion n’est pas officiel, le code est actuellement caché dans le projet E4 mais on s’attend à ce qu’il y ait un effort d’IBM pour permettre à Orion de s’imposer comme un projet officiel au cours des prochains mois. Il est intéressant qu’IBM ait fait le travail initial sur Orion et je suppose qu’il continuera à diriger l’effort quand il deviendra un projet officiel. Espérons que le projet prenne de l’ampleur et que de fortes communautés de développeurs participent à son développement. En tout état de cause c’est un projet à surveiller en 2011.

Actuellement il suffit de demander l’accès au projet E4 pour participer au développement d’Orion. Je ne vous cache pas que je suis très intéressé par ce développement et pourquoi pas y participer… Je vous tiendrais au courant.

Seriez-vous prêt a abandonner votre IDE de bureau pour un IDE 100% cloud ? Que pensez-vous d’Orion ?

Tags : cloud computingeclipseIDEorion
Yohann Poiron

The author Yohann Poiron

J’ai fondé le BlogNT en 2010. Autodidacte en matière de développement de sites en PHP, j’ai toujours poussé ma curiosité sur les sujets et les actualités du Web. Je suis actuellement engagé en tant qu’architecte interopérabilité.