AngeZanetti.com

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

Tag: opensource

Vim, un éditeur de texte du 21ème siècle

Je me rends compte que je ne vous ai jamais parlé de Vim sur ce blog. J’ai un vieux brouillon qui date de 2 ans sur le sujet mais je n’ai jamais publié d’articles alors qu’il y a matière !

Vim, pour ceux qui ne le connaissent pas est un “vieil” éditeur de texte en mode texte. J’ai commencé à m’y intéresser il y a 2-3 ans quand je faisais des recherches sur l’ergonomie du poste de travail. En effet Vim à la particularité de ne pas utiliser la souris, vos doigts restent sur le clavier et vos poignets apprécient !

Vim keycap

Vim, un éditeur modal

En deux mots, Vim comporte plusieurs mode de fonctionnement: normal, insertion et visuel. Pour chaque mode la fonction des touches de clavier changent. Alors c’est un peu dur à apprendre mais ça décuple les fonctionnalités d’un éditeur classique! Tout part de là, par défaut, en mode normal, une grosse partie des 105 touches de mon clavier servent à me déplacer dans le texte, sans souris mais de manière très précise, au début du mot suivant, à la fin du mot suivant, au début du paragraphe, de la phrase, à la fin de la ligne etc, etc…

C’est long à apprendre mais c’est redoutable une fois maitrisé, bien plus que les raccourcis Ctrl+Alt+flèches  d’un éditeur type Sublime Text.

Pour creuser un peu allez voir ce lien qui regroupe quelques tutos.

Vim, un éditeur universel

Autre point positif, vi(m) est super léger et présent sur à peu près tous les système d’exploitations sérieux. Je peux donc changer d’OS, me connecter à un serveur en SSH, coder directement sur une VM sans avoir à changer mon workflow, à modifier mes habitudes. Il suffit de copier mes préférences – mon .vimrc – dans ma home et, hop, je suis comme à la maison !

Vim est moderne et extensible !

Dernier point pour les sceptiques, les fonctionnalités des Vim sont largement aussi étendues que celles de votre IDE préféré. Par défaut il embarque la coloration syntaxique, l’auto-complétion, l’indentation automatique et pleins d’autre chose.

Mais Vim c’est surtout un “vieux” logiciel libre avec une communauté énorme de développeurs. Du coup, un peu comme pour WordPress, il y a une multitude de plugins pour faire ce que Vim ne fait pas encore.

Personnellement j’utilise NERDtree qui permet de manipuler et visualiser facilement des fichiers dans un projet et tComment qui permet de commenter les lignes sélectionnées en fonction du langage utilisé, bien pratique pour les **** de commentaires du HTML :)

En ce moment je teste également CtrlP, un équivalent du Pomme T de Textemate pour ouvrir rapidement des fichiers, AcK une alternative à grep pour parcourir le code de tous les fichiers d’un projet et Syntastic qui m’affiche les erreurs de syntaxe directement dans mes fichiers sources.

 Je ne changerais pas  d’IDE

Did you mean: vim?

En plus de deux ans d’utilisation je suis carrément convaincu: Vim c’est bien. La courbe d’apprentissage est longue (je suis toujours entrain d’apprendre) mais ça vaut le coup, plus on code, plus on apprends de nouveaux raccourcis, plus on est productif. Et ce quel que soit la machine, et quand on passe d’un Mac à un PC on est heureux d’avoir fait ce choix !

PS: Il y aura dans les semaines qui suivent un TupperVim d’organiser au Mutualab venez y faire un tour pour découvrir la bête !

Freelances contribuez au libre pendant vos temps morts

Dans la vie professionnelle de tout indépendant il y a des temps morts. Entre deux contrats, avant ou après avoir fait de la prospection commerciale, les moments où l’on est pas forcement débordé sont assez fréquents. Hors ce sont bien souvent ces temps là qui nous permettent de nous former, d’apprendre, de faire de la veille.

Freelances contribuez à l'opensource

Depuis quelques temps déjà j’essaye de consacrer ces temps morts à des projets opensource. Je ne le faisais pas forcement avant, mais clairement c’était une erreur pour plusieurs raisons :

Cela permet de faire de la veille active

Être développeur c’est être curieux, être capable de s’adapter aux nouvelles technologies et donc d’apprendre sans cesse. Alors, bien sur, on peut lire des tonnes de flux RSS mais la meilleure façon est encore de mettre les mains dans le code. “C’est en forgeant que l’on devient forgeron”.

Contribuer à des projets libre c’est donc se confronter à de nouveaux outils, à de nouvelles méthodes de travail mais dans une ambiance moins tendue que dans une relation client/prestataire classique. Cela peut être l’occasion de tester le framework de vos rêves de mettre les mains dans un nouveau langage etc… Le plus souvent vous êtes en plus épauler par les anciens de la communauté qui n’hésitent pas à vous donner un conseil, une astuce, une vraie aubaine quand on apprend une nouvelle techno !

Cela contribue à forger vos références et votre réputation

Mettre son temps libre à profit pour des projets opensource cela permet bien sur d’augmenter le nombre de ces compétences, de monter son expérience sur telle ou telle techno mais cela peut aussi faire une jolie référence à présenter à vos futurs clients. De plus, la réputation d’un développeur passant de plus en plus par son profil Github, contribuer à un projet Github libre, le forker, commiter faire des pull request fera monter votre activité sur le réseau social et permettra à vos clients, ou à d’éventuels recruteurs de vous trouver et de voir la qualité de votre code, vos compétences et votre implication.

Faire du libre c’est surtout aider des projets vraiment cools

Evidemment, et, à mon avis c’est le plus important contribuer au libre c’est aussi aider des projets qui en valent la peine. D’ailleurs à ce propos Github est un vrai vivier de petits projets super cools qui ont besoin d’un coup de main ! Je rappelle d’ailleurs que contribuer ce n’est pas forcement coder. En fait c’est bien souvent le reste qui fait défaut. Il y a souvent plus besoin de graphistes, d’ergonomes et de traducteurs que de développeurs. D’ailleurs contribuer ça peut tout simplement être de remonter les bugs.

Bref, la prochaine fois que vous avez un jour ou deux à tuer, sans activité réelle allez faire un tour sur Github, essayer de rencontrer les gens qui font les petits outils que vous utilisez ou tout simplement allez sur les trackeurs de bugs des géants de l’opensource – Mozilla par exemple facilite vraiment la tâche des ces futurs contributeurs – et traduisez, codez, designez, aidez vous verrez c’est beaucoup plus gratifiant, valorisant et plaisant que d’attendre les futurs clients !

 

Un Boilerplate pour Three.js est sorti !

Je ne sais pas si vous connaissez HTML5 Boilerplate, c’est un outil inspiré de la méthode DRY « don’t repeat yourself ». Pour faire simple c’est un ensemble de fichiers qui constitue une base commune pour vos projets web. On trouve un fichier index.html avec les balises de base comme le doctype, le <head>, les sections etc… De même, on trouve des fichiers JS communs comme la librairie Jquery. Bref, tout ce dont on a besoin quand on se lance dans un projet web.

Et bien Jérôme Etienne, un des développeurs webGL français le plus actif, vient de sortir un « Three.js Boilerplate » — three.js étant un des framework WebGL les plus abouti !

Qualité numéro 1 : il detecte si le webGL est supporté, et dans le cas contraire il bascule tout seul en canvas 2d. Il affiche également les stats et embarque, par défaut, le module d’animation de Three.js et pas mal d’autres petites librairies bien pratiques.

Cela devrait me faire gagner pas mal de temps sur mon prochain projet WebGL !

Vous pouvez retrouver le Three.js Boilerplate sur Github : https://github.com/jeromeetienne/threejsboilerplate
Evidemement c’est du libre donc forkez le, modifiez le à votre sauce, mais n’oubliez pas de partager vos modifs !

Le Kirsten viewer passe au crowdfunding, vers un nouveau modèle de l’opensource ?

kirsten viewer

Hier, le 17 Octobre 2011, Lee Quick le main developpeur du Kirsten viewer , le client alternatif le plus populaire auprès de la communauté, a pris une décision assez intéressante. Il n’a visiblement plus assez de temps pour maintenir son viewer à jour et sollicite l’appui de la communauté pour l’aider.

Ce qui est interessant c’est la façon donc il s’y est pris. Car les viewers de Second Life sont opensource, et dans ce monde du code libre l’aide apportée au(x) développeur(s) est souvent matérialisée sous la forme de ligne de code. Les plus motivés et/ou les plus compétents mettent les “mains dans le camboui” et bossent sur le programme, le design; bref ils font le boulot. C’est de cette façon que ce projet avance depuis 4 ans d’ailleurs et c’est le mode de développement de la plupart des logiciels libres.

Mais depuis hier, Lee à mis en place un système de crowdfunding ici : http://www.crowdfunder.co.uk/investment/the-kirsten. Le but à été fixé à 25 000$ soit son salaire annuel. Tout simplement. En contre partie il assure continuer sur sa lancée : écouter la communauté et implementer les fonctions les plus demandées. Il parle, entre autre, d’un affinage des controles de caméra, l’implémentation du postprocessing, plus de réglages pour avoir de la 3D etc etc… Le tout géré par un système de vote des utilisateurs pour choisir les fonctions à mettre en place.

L’expérience est très intéressante, bien au delà du simple exemple du viewer SL. C’est en effet un modèle assez interessant pour le développement du logiciel libre. On peut imaginer que plutôt que de limiter la participation des utilisateurs au développement du code ils pourraient participer aux salaires du staff, en toute transparence. Un modèle qui pourrait être plutôt viable, payer des gens compétents pour développer, ou maintenir, un logiciel qui répond vraiment à nos besoins.

Je ne sais pas si cela existe déjà sous cette forme, et si ça tient sur le long terme, mais je vais suivre l’expérience de près !

 

 

Retour sur la présentation des nouveautés de VastPark 1.5

Hier à la Cantine se tenait une présentation de VastPark 1.5. VastPark, pour ceux qui connaissent pas encore, est un monde virtuel opensource Australien assez peu connu en France. Il est peu connu car il est très orienté développeur et que la communauté des utilisateurs est assez faible.

Ceci étant, VastPark est incroyablement bien pensé et commence petit à petit à grappiller des places de marchés à ses concurrents.

Une des forces de VastPark est de s’appuyer sur des standards libre et ouvert comme le XML et le COLLADA. Autrement dit, pour créer une scène 3D, un monde virtuel, vous avez le choix entre le construire dans l’éditeur de monde – VastPark Creator – ou le faire en ligne de commande. Pourquoi c’est une force? Simplement parce que votre monde final est une suite de ligne de code, lisible et incroyablement léger. Avec VastPark vous pouvez échanger votre monde en fichier PDF, par mail directement. Le player de VastPark s’occupera d’interpréter ces lignes en interface 3D !

Et ça c’est tout simplement génial, du code c’est facile à sauvegarder, à modifier, ça ne prends pas beaucoup de place c’est lisible et ça peut se générer depuis n’importe quel parseur ! Une fois que l’on a dit ça on commence a comprendre la puissance de ce monde virtuel.

Si l’on rajoute à cela les plugins qui permettent de rajouter des fonctionnalités facilement et les widgets qui permettent d’embarquer en quelques lignes de codes n’importe quelle scène 3D préalablement construite dans une autre, comme on embarque une vidéo Youtube dans une page web, on arrive à un produit final bien plus puissant qu’un OpenSim par exemple.

VastPark est très puissant et l’équipe de dév est entrain de mettre en place plein d’outils parallèles qui augmentent encore l’intérêt de la plateforme. Ainsi MetaForik est un système de métadonnées qui permet de moduler le contenu à afficher en fonction de la machine sur laquelle s’affiche le monde, openavatar est un outil pour créer des avatars exportables dans différents mondes 3D, TeamFlex, lui, se veut une plateforme sociale pour organiser les meetings immersifs etc etc… Les fonctionnalités sont nombreuses, expérimentales pour certaines, mais vraiment bluffante. La totalité de mes notes est disponible ici  : http://piratepad.net/vastparkpresentation

Reste tout de même une question de taille, la puissance du serveur et la capacité d’accueil maximum. Craig explique à ce propos que c’est totalement dépendant de la machine et de la taille de la bande passante. Peu de crash tests ont été fait en grandeur nature, cela mérite donc de s’y pencher. A ce propos, VastPark peut très bien focntionner en Peer 2 Peer, donc avec une capacité théorique d’acceuil infinie.

Enfin, pour finir cette présentation, deux briques majeures sont en préparation. Une adaptation du code serveur pour lui permettre de tourner sur un serveur Linux – actuellement il faut un serveur Windows. Et un client léger dans le navigateur développé par @DimitriLarue.

Assurément VastPark est un monde virtuel à considérer et à tester si vous cherchez une solution technologique pour des dispositifs immersifs ou pour votre seriousgame !
 

Teleplace lance un produit opensource de réunion immersive : OpenQwaq

Teleplace, un monde virtuel dédié aux entreprises à sorti hier une version opensource de son code serveur.

Ce changement de stratégie à un but précis : augmenter leur base d’utilisateurs. La version opensource est donc totalement identique à la version propriétaire exception faite des codecs propriétaires. Et c’est une très bonne nouvelle car la plateforme de Teleplace embarque des fonctionnalités intéressantes : import de meshs, outils d’édition inworld, drag & drop de documents MS Office depuis le bureau directement dans la 3D et un accès depuis le navigateur !

Pour les utilisateurs de Second Life ou d’OpenSim quelques différences notables puisque l’on est sur une logique de “room” et non plus de “sim”. Autrement dit, installer un serveur OpenQwaq ne vous donnera pas le célèbre carré de pelouse vide propre au monde de LindenLabs mais une salle que vous pourrez customiser. Pas d’hypergrid non plus, ni de monnaie intégré.

OpenQwaq est donc clairement dédié aux professionnels qui veulent se réunir, se former ou collaborer dans une interface immersive. Un concurrent d’Assemblive ?

Je n’ai pas encore eu le temps de tester mais je vous avoue que je ne devrais pas tarder :)

 

Le code source et la plateforme communautaire du projet est ici : http://code.google.com/p/openqwaq/

Je vous laisse avec une vidéo qui expose un environnement de développement agile basé sur Teleplace, le tout dans IE.

Ca fait envie non ?

© 2016 AngeZanetti.com

Theme by Anders NorenUp ↑