ReLucBlog - SIG, MOZILLA & NTIC

Aller au contenu | Aller au menu | Aller à la recherche

dimanche 30 novembre 2008

Où en est l'OSGeo ?

Ce billet fait suite a un premier billet de ma part à propos de l'avenir de l'OSGeo et à de nouvelles réponse apporter par Joanne Cook et Tyler Mitchell.

Je souhaite tout d'abord rappeller que :

La Fondation Geospatiale Open Source a été créée pour soutenir et construire une offre de logiciels open source en géomatique de la plus grande qualité. Le but de la fondation est d'encourager l'utilisation et le développement collaboratif de projets menés par une communauté.

Joanne Cook ajoute que l'existence même de l'OSGeo permet d'avoir une réponse clair à une question basic sur les projets Open Source :

Où trouver du support et comment savoir si un projet est durable ?

Elle ajoute que :

C'est aussi un moyen de sensibiliser les gens à l'ensemble des concepts et des projets de l'Open Source SIG.

Mais à mon avis, l'OSGeo manque de visibilité et de lisibilité, car même ceux qui connaissent la fondation comme James Fee ont du mal à appréhender les réalisations de l'OSGeo. D'ailleurs la remarque de James est significative : Si la communauté de l'OSGeo dépensait autant d'énergie à rédiger des études de cas qu'à définir un nouveau logo ce serait beaucoup plus utile.

Si je dit ça, c'est que Tyler Mitchell montre assez clairement dans son billet : OSGeo Journal: Case Studies, Local Reports and Project Updates, que la communauté a réalisé et rédigé des études de cas qui ont été publié. De plus la méthode de sélection des projets supportés, l'incubation, offre la garantie que les projets sont durables et de bonnes qualités.

Ce qui veut dire que l'OSGeo est cette marque nécessaire pour rassurer les utilisateurs potentiels, surtout économiques, et cette communauté de promotion des projets Geospatiaux Open Source. Il faut juste qu'elle devienne reconnu au près des spécialistes des SIG, des utilisateurs de solutions Open Source en général et enfin de tout ceux qui travaillent dans l'informatique!

Tyler compte sur les chapitres pour faire avancé l'OSGeo et promouvoir les SIG Open Source. Le chapitre francophone a d'ailleurs été spécifiquement remercié pour son travail. Mais je pense que le chapitre francophone devrait essayer d'être présent aussi bien à des événements spécifiques de la Géomatique comme les Géo-évènements ou les rencontres SIG La Lettre, mais aussi à des évènements plus généralistes dans le domaine de l'Open Source comme les Solutions Linux, les Rencontres Mondiales du logiciel Libre et les évènements locaux (Lyon, Sophia Antipolis, etc). Je ne dit pas que c'est facile, mais si l'on veut faire connaitre les SIG Open Source, c'est nécessaire.

lundi 17 novembre 2008

Après les routes les codes postaux...

Postcode Map

Do it yourself, qui signifie Faites le vous même, est une expression anglaise désignant à la fois :

  • Certains musiciens ou mouvements culturels ;
  • Des loisirs manuels visant à recréer à moindre coût des objets de la vie courante, le plus souvent techniques, par récupération de chutes et de déchets.

(définition wikipedia)

Donc après OpenStreetMap, les anglais remettent ça avec les codes postaux. Et l'article du Guardian présentant l'initiative commence ainsi :

A growing number of organisations are deciding that if the Royal Mail and Ordnance Survey won't free the data that they have collected with public funds, then they will do it themselves.

Un nombre important d'organisations ont décidé que si la Royal Mail et Ordnance Survey ne libéraient pas les données qu'elles avaient collectées avec des fonds publiques, alors elles le feraient elle-même.

Et ça marche! Vous pouvez consulter le site et la carte réalisée à partir de cette collecte libre. Le flègme anglais a du bon des fois.

Via Mapperz

XULRunner, Flash et la mobilité (Platform ARM)

2 annonces concernant des cousins dans le domaine des interfaces riches ont été faites aujourd'hui ou dans les 24 heures précédent ce billet.

  • XULRunner 1.9.0.4 vient d'être publié en même temps que la nouvelle version de Firefox 3.0. Mark Finkle précise que des versions pour mobile sont disponibles.
  • Adobe vient de recentrer sont offre d'interfaçage riche autour de Flash et présente les dernières évolutions de son offre. Frédéric Cavazza, sur interfacesriches.org, précise qu'une version pour mobile est en préparation avec ARM.

Dans son compte rendu des évolutions de la platforme Flash, Frédéric Cavazza indique qu'il ne sait pas quels terminaux sont équipé d'une architecture ARM. Avant cela je savais que Maemo, utilisé par Nokia, était bati pour des architectures ARM. Mais je voulais en savoir plus, et j'ai donc découvert qu'un certains nombres d'objet mobile était basé sur une architecture ARM :

  • des console portables : Game Boy Advance, Nintendo DS, Nokia N-Gage
  • smartphone : blackberry, dell Axim, Palm TX
  • player mp3 : Zune, Ipod, Ipod Touch
  • téléphone portable : Nokia (E90, N93, N95, N82, N800, N810), SamSung HTC TyTN, IPhone

Donc si la concurence fait son travail, peut être qu'un jour nous pourrons faire tourner du Flash mais surtout des applications XULRunner sur IPhone! On peut rêver...

Quelle direction doit prendre l'OSGeo ?

OSGeo logo

Tout à commencer sur le blog de Paul Ramsey qui a relevé une remarque de James Fee :

Open Street Map comes off very “hacker” to many of my clients and they can’t get beyond that. I hope it doesn’t fall into what OSGeo is becoming.

Que l'on peut traduire par :

Open Street Map est perçu par bon nombre de mes clients comme un truc de hacker ce qui n'est pas acceptable pour eux. J'espère que ce n'est pas vers quoi ce dirige l'OSGeo.

James a précisé son point de vue. Pour lui en 3 ans, l'OSGeo n'a pas améliorer la visibilité des projets Open Source et n'a pas rendu ceux-ci plus crédible aux yeux des utilisateurs. Le fait que la communauté soit plus impliqué dans la création d'un nouveau logo que d'étude de cas en est la démonstartion. Il ajoute même :

If people put half the effort they do into logos and open source job lists that they do into case studies, maybe companies would look more at their products.

soit :

Si les gens consacrait la moitié des efforts qu'ils ont investi dans la création de logos et de listes d'emplois Open Source dans des études de cas, peut-être que les entreprises feraient plus attention à leur produit.

Howard Butler a d'ailleurs publier une réponse sur la liste du board de l'OSGeo, en voici des extraits :

Marketing doesn't write software, it doesn't improve documentation, and it doesn't streamline project communication....

Le marketing n'écrit pas de logiciel, il n'améliorer pa la documentation, et il ne rationnalise pas la communication de projets...

et :

IMO, the people using Open Source software are the ones who market it, not the people who make the software.

A mon avis, les personnes qui utilises les logiciels Open Source sont ceux qui les promeuvent, non ceux qui les fabriques.

Le débat est un peu là: est-ce à l'OSGeo de promouvoir les logiciels Open Source de Géomatique, et si oui comment ?

Jody Garnett complète le débat avec son article sur l'image de marque de l'OSGeo. Il pense que l'OSGeo doit permettre de promouvoir les logiciels Open Source Géomatique et être une marque de qualité. Mais pour ce faire, il aimerait que le site de l'OSGeo mette plus en avant les produits et les capacités des projets Open Source. Il a d'ailleurs rédigé un article où il présente ses idées concernant la publication d'exemples dédiés à des cas particuliers.

Pour certain il est indéniable que l'OSGeo est une marque qui permet de mieux vendre des solutions Open Source, mais il est aussi légitime de s'interroger sur le rôle de l'OSGeo dans le monde économique.

lundi 10 novembre 2008

Retourner un JSObject avec un XPCOM en C++

Je me suis lancé dans cette entreprise afin d'alléger l'utilisation de de XPConnect. L'objectif était de retourner un objet JavaScript au lieu d'un objet XPCOM. L'intérêt est de wrapper un objet C++ en JavaScript sans paser par de nombreux composants XPCOM. Le seul problème de cette technique est que l'on ne conserve pas de référence directe à l'Objet C++.

Récupérer le Context JavaScript

La première chose à faire est de récupérer le Context JavaScript, pour ce faire vous pouvez utiliser cette class créer par Paul :

class NativeJSContext {
  public:
    NativeJSContext() {
      if (!gXPConnect) {
        nsresult rv = CallGetService(nsIXPConnect::GetCID(), &gXPConnect);
        if (NS_FAILED(rv)) {
          NS_ERROR("Failed to get XPConnect!");
          return;
        }
      } else {
        NS_ADDREF(gXPConnect);
      }

      error = gXPConnect->GetCurrentNativeCallContext(&ncc);
      if (NS_FAILED(error))
        return;

      if (!ncc) {
        error = NS_ERROR_FAILURE;
        return;
      }

      ctx = nsnull;

      error = ncc->GetJSContext(&ctx);
      if (NS_FAILED(error))
        return;

      JS_BeginRequest(ctx);

      ncc->GetArgc(&argc);
      ncc->GetArgvPtr(&argv);
    }

    ~NativeJSContext() {
      JS_EndRequest(ctx);
    }

    nsAXPCNativeCallContext *ncc;
    nsresult error;
    JSContext *ctx;
    PRUint32 argc;
    jsval *argv;
};

Que vous exploiter ainsi :

 NativeJSContext js;
 if (NS_SUCCEEDED(js.error)) {
   /* Ici le code de création d'objet Javascript */
 }

Le Context JavaScript est nécessaire à la création de tout objet JavaScript et il est accessible ainsi :

 js.ctx /* tout simplement */

Créer un objet JavaScript

La première méthode consiste à créer un nouvel Objet JavaScript :

 JSObject *nJSObj = JS_NewObject(js.ctx, NULL, NULL, NULL);

Les méthode suivantes permettent de modifier l'objet en définissant ou ajoutant une propriété :

 jsval propval;
 JS_DefineProperty(js.ctx,nJSObj,"NewProp",propval,NULL,NULL,JSPROP_ENUMERATE);
 JS_SetProperty(js.ctx,nJSObj,"NewProp",&propval);

Créer un tableau JavaScript

La première méthode consiste à créer un nouveau tableau JavaScript :

 JSObject *nJSArray = JS_NewArrayObject(js.ctx, 0, NULL);

Les méthodes suivantes permettant d'ajouter un élément à notre tableau :

 jsuint len;
 JS_GetArrayLength(js.ctx, nJSArray, &len);
 jsval eleval;
 JS_SetElement(js.ctx,nJSArray,len,&eleval);

Créer des valeurs JavaScript

Comme vous avez pu le constater il faut créer des valeur JavaScript, jsval, pour pouvoir modifier vos objets JavaScript, objet et tableau.

La première méthode permet de transformer un objet ou un tableau en valeur JavaScript :

 jsval objval = OBJECT_TO_JSVAL(nJSObject);
 jsval arrayval = OBJECT_TO_JSVAL(nJSArray);

La seconde permet de transformer un entier en valeur JavaScript :

 jsval intval = INT_TO_JSVAL(100);

La troisième permet de transformer un nombre, double ou float, en valeur JavaScript :

 jsval numval;
 JS_NewNumberValue(js.ctx,10.50,&numval);

Enfin les méthodes suivantes permettent de transformer des chaines de caractères en valeur JavaScript :

 jsval strval;
 /* Pour un LITERAL ou une chaîne de caractères se finissant par null */
 strval = STRING_TO_JSVAL(JS_NewStringCopyZ(js.ctx,"une string"));
 /* Pour ne copier qu'un certains nombre de caractères */
 strval = STRING_TO_JSVAL(JS_NewStringCopyN(js.ctx,"une string",4));
 /* Pour créer une chaîne de caractères */
 strval = STRING_TO_JSVAL(JS_NewString(js.ctx,"une string",10));

Retourner l'Objet JavaScript créer

Voilà comment finir et faire en sorte que du côté JavaScript vous récupérier le réultat :

 jsval *retvalPtr = nsnull;
 js.ncc->GetRetValPtr(&retvalPtr);
 *retvalPtr = OBJECT_TO_JSVAL(featcol);
 js.ncc->SetReturnValueWasSet(PR_TRUE);

Conclusion

Maintenant vous avez tout ce qu'il faut pour créer vos premiers Objets JavaScript. Bien sûr Mozilla vous permet de faire plus comme créer des Class JavaScript ou des Fonctions JavaScript!

Voici le liste des références :

dimanche 9 novembre 2008

Participer à OpenStreetMap avec votre IPhone

Une nouvelle application disponible dans l'App Store, vous permet de participer à OpenStreetMap : OSMTrack. Cette application vous permet d'exploiter la fonction GPS de votre IPhone 3G pour enregistrer des trajets et des points d'intérêts et des les uploader sur les serverus d'OpenStreetMap directement à partir de votre IPhone.

Hormis le prix de l'IPhone, c'est l'outil le plus simple, user friendly, pour participer à la constitution d'une carte libre mondiale! Espérons qu'une version pour Android est en préparation.

L'auteur d'OSMTrack a publié un guide d'utilisation en 4 partie :

N'ayant ce téléphone haut de gamme, je n'ai pu tester cette application, mais vous qui l'avez, avez-vous tester OSMTrack et qu'en pensez-vous ?