A découvrir d'urgence : Ekioo, le blog de ma société

mardi 8 septembre 2009

Nouveau blog, nouveau thème, nouveau sujet

Cette fois ci, c'est décidé, je change de formule et je refais une beauté à ce blog.

D'abord, passer à Joomla et créer un thème un peu plus attractif que ceux fournit par defaut. Ensuite, changer les sujets abordés :

Avec VeryHardCode, j'ai voulu traiter de problèmes de programmation très technique et assez difficile à résoudre. En pratique, j'ai assez peu de temps pour écrire des articles complets comme je le voudrait.

Le journal de développement de Links of Power était moins technique mais manque cruellement d'intéret sans communauté qui suive le développement du jeu. Et puis il faut dire que le projet en lui même n'a pas beaucoup avancé ces derniers temps.

Et L'appel du Ruligon, qui est très cher à mes yeux, n'est pas plus mis à jour parceque j'ai un peu tendance à me dispercer ces derniers temps.

Il y a d'autres thèmes sur lesquels j'ai envie de blogger, mais qui n'entrent pas vraiment dans le cadre de tout ces blogs.

Alors voici ce que j'ai décidé :
- Je vais réunir tout les blogs en un seul tite : WeAreSync.net
- Le site sera divisé en thèmes ayant tous un liens avec mes travaux
- Les billets seront court et moins techniques

J'espère que cette nouvelle formule sera plus adapté et vous plaira.

mardi 4 août 2009

Travailler avec Collada




Aujourd'hui, je travaille sur un plugin d'import/export de fichiers Collada. J'en avais entendu parler il y a quelques temps sans vraiment y prêter attention car j'ai plutôt l'habitude de travailler avec des .XSI et des .X.

Pourtant, Collada existe maintenant depuis presque 5 ans et je dois bien avouer qu'en lisant les spécifications, j'ai été conquis !

A l'origine, Collada à été conçut comme un format intermédiaire pour transférer des données graphiques d'un format vers un autre, ce qui est fait un format d'une très grande souplesse.

Les fichiers Collada ont souvent l'extension .dae (pour digital asset exchange ). En fait, il s'agit de fichiers XML dans lesquels on retrouve une scène, des librairies ( de géométries, d'animations, ...) et une hiérarchies de nodes qui possèdent des instances vers les objets de la librairie.

Pour l'écriture des plugins, il existe une librairie C++ qui s'appelle Collada-DOM, actuellement en version 2.2 pour Collada 1.5, qui est complète et très facile à utiliser.

Téléchargez la dernière release officielle, ensuite allez voir ici pour bien paramétrer votre projet. Vous allez peut être avoir quelques erreur à la compilation et au linkage (ils ont oublié d'inclure daeZAEUncompressHandler.cpp dans le projet, même si le fichier est bien présent), mais ces indications permettent de s'en sortir rapidement.

Bon code !

lundi 29 juin 2009

10.000$ pour créer un accès internet mobile crypté, anonyme et imblocable


Nova Spivack, fondateur de Twine viens de lancer un défi intéressant : Il offre 10.000$ à celui qui parviendra à développer un accès internet qui échappe à la censure des gouvernements autoritaristes.

Les récents évennements au Tibet, en Iran et en Birmanie ont montrés que des efforts considérables étaient déployés pour priver les peuples de leur liberté d'expression.

Nous avons tous vu les récentes mobilisations sur Internet des peuples qui veulent relayer l'informations, mais les technologies actuelles ont leur limites et les gouvernements comprendre de plus en plus l'enjeux d'une censure d'Internet.. et parviennent petit à petit à l'appliquer. A cause de cela, il est important d'aller plus loin et de développer de nouvelles solutions, encore plus efficaces.

Si vous aussi vous voulez soutenir l'effort qui est lancé, rendez vous sur cette page pour plus d'informations.

lundi 27 avril 2009

Lancement d'Ekilink, l'annuaire collaboratif rémunéré


Comme certains d'entre vous le savent déjà, cela fait tout juste un mois que ma société, Ekioo, à mise ligne Ekilink. Il s'agit d'un annuaire d'entreprise thématique dédié à faire des recherches de proximité qui innove sur plusieurs points :

- Ekilink est doté d'un moteur de recherche qui suggère des critères de recherche et accompagne l'utilisateur pour que ses résultats soient plus précis. Ce moteur de recherche est développé en partenariat avec le laboratoire du LIRMM à Montpellier, dont les travaux de recherche en folksonomie et en fouille de données nous permettent de développer un outil à la pointe de la technologie.
- L'annuaire est collaboratif, tout le monde peut apporter des informations et des commentaires sur les entreprises référencées. Les informations qu'on peut trouver sur Ekilink ont une dimension sociale très prononcée.
- Les participants sont rémunérés en fonction de leurs apports grâce au revenus publicitaires généré par le site. Ils peuvent également parrainer des entreprises et touchent ainsi un pourcentage de leur souscription pendant toute la durée de l'abonnement.

Ekilink est en phase béta pour encore quelques mois et nous nous focalisons essentiellement sur la thématique des loisirs sportifs pour le moment. D'autres thématiques viendront s'ajouter d'ici quelques mois, comme "beauté/santé" et "bio/éco/durable".

Alors, n'hésitez pas à vous inscrire sur cette plateforme et à tester ces outils.

samedi 24 janvier 2009

WCF et IIS avec les sites web qui ont des identités multiples

Je profite du dernier post de Cyril Durand pour finaliser un petit article que j'avais entamé sans jamais vraiment le finir. Il concerne le problème du binding des services WFC sur un IIS qui gère plusieurs identités pour le même site web :

This collection already contains an address with scheme http. There can be at most one address per scheme in this collection.
Parameter name: item


où pour les francophones :

Cette collection contient déjà une adresse avec le schéma http. Une adresse tout au plus par schéma est possible dans cette collection.
Nom du paramètre : item

Voici ce qui se passe lorsque vous avez un site web configuré avec plusieurs identités ( ex: www.siteweb.com et siteweb.com ) lorsque vous tentez d'accéder au fichier Service.svc de votre service WCF.

Pourquoi ? WCF ne supporte pas les identités multiples sur le même site. Comment faire dès lors pour résoudre cette épineuse situation ?

De nombreux blogs proposent des solutions, qui si elles ne résolvent pas réellement le problème, ont le mérite d'aider à comprendre comment tout cela fonctionne :

Sur developpez.net, un premier échanges m'a permit d'identifier que le problème venait effectivement des identités multiples. Les serveurs mutualisés qui n'y font pas attention sont les premiers touchés.

Une première solution est donnée par Rob Reynolds : Il faut dériver la classe ServiceHostFactory comme suit :

using System.ServiceModel;
using System.ServiceModel.Activation;

public class CustomServiceFactory : ServiceHostFactory
{

private int baseAddressIndex = 0;

protected override ServiceHost CreateServiceHost(System.Type serviceType, System.Uri[] baseAddresses)
{
return new ServiceHost(serviceType, baseAddresses[baseAddressIndex]);
}
}
Puis, dans le fichier *.svc :

<%@ ServiceHost Language="VB" Debug="true"
Service="Organization.Services.TempService"
Factory="Organization.Services.CustomServiceFactory" %>
Premier problème, comment connaitre l'indice de l'adresse qu'on souhaite utiliser ?
Deuxième problème, que se passe t'il si notre service WPF est instancié pour le nom de domaine www.siteweb.com une première fois (là ça marche) et qu'on tente d'y accéder ensuite via siteweb.com (là, ça marche plus).

L'idée n'était pourtant pas si mal et venait d'ici à l'origine.

Deux autres échanges ici et m'ont finalement menés à une solution qui semblait prometteuse. Mais voila, la solution du filtre permet en pratique de faire fonctionner WCF avec une seule identité. Or, je ne souhaite pas choisir en www.siteweb.com et siteweb.com, je veux que la solution marche dans tout les cas !

Je n'ai pas testé la solution de Cyril qui semble avoir réussit à gérer les différentes identités en se passant du fichier de configuration WFC. Pour des raisons de performances, j'avais déjà décidé de laisser de coté les services WCF pour faire communiquer Silverlight avec mes services webs.

Actuellement, j'utilise une solution à base de javascript, de serialisation json en ayant implémenté quelques fonctions génériques qui simplifient bien la vie. Si j'ai un temps de temps, je décrirais cette méthode en détails dans un prochain article.

samedi 3 janvier 2009

LuaNet ne connait que l'ANSI

J'aime bien les scripts LUA. C'est rapide à mettre en œuvre, la syntaxe est claire, souple et ils remplissent très bien leur rôle dès qu'on souhaite séparer le coeur de l'application et d'une partie du code métier qui varie en fonction des postes, des clients, des installations, des configurations. Les scripts de manière générale permettent d'avoir un peu de souplesse sans avoir à recompiler tout le projet et LUA est vraiment la réponse que je préfère pour répondre à cette problématique.

Mais, LuaNet, qui est l'implémentation que j'utilise pour C#, est incapable de traiter les fichiers encodés en Unicode, ou en UTF-8, ou en quoi que ce soit d'autre que l'ANSI. La fonction DoFile qui parait si pratique retourne systématiquement un joli "unexpected symbol near 'ï'" et nous voila dans l'obligation de convertir obligatoirement tout les nos fichiers lua au format ANSI. Tout de même, je ne sait pas comment est écrite cette fonction, mais il serait si facile de gérer l'UTF-8 que je me demande pourquoi cela n'a pas déjà été fait.

jeudi 18 décembre 2008

AG_E_UNKNOWN_ERROR avec Silverlight

AG_E_UNKNOWN_ERROR [Line: 7 Position: 34]

Voici une bien drôle d'erreur qui a surgit dans un de mes projets en SilverLight. Après avoir fait de nombreuses recherches, il reste difficile à déterminer pourquoi survient cette erreur.

Voici une liste non-exhaustive des symptomes observés :
- La compilation se déroule sans problème
- Tant qu'on affiche pas l'aperçut graphique il n'y a aucun message d'erreur
- L'aperçut graphique d'un l'UserControl qui en contient un autre que vous avez créé est altéré et inutilisable
- Ne pas imbriquer les UserControl fait disparaitre le problème
- Ne pas utiliser de style definit dans App.xaml dans l'UserControl enfant fait disparaitre le problème
- Le message AG_E_UNKNOWN_ERROR indique une ligne où rien ne semble anormal
- Lorsqu'on lance l'application, tout se déroule sans problème


Il s'agit clairement d'une gène lorsqu'on effectue le design de son application avec visual studio 2008. Bien sur, il est toujours possible de faire avec et de valider son travail lors de l'execution, mais cela reste vraiment contraignant. De plus, le message d'erreur en lui même n'est pas du tout explicite et j'adresse par avance tout mes remerciements à celui qui me trouveras une note constructive à ce sujet dans la msdn.

Voici un récapitulatif non exhaustif des causes de ce message :
- Vous essayé d'insérer un UserControl que vous avez créé dans un autre UserControl
- L'UserControl inséré ne possède pas de constructeur publique
- Vous avez entrer du code dans le constructeur de L'UserControl inséré
- L'UserControl inséré utilise des styles en StaticResource déclaré dans App.xaml
- Il y a des erreurs ou des doublons dans les styles d'App.xaml

Des causes un peu différentes à mon avis peuvent également provoquer le message, en rapport avec les media elements ou avec le passage de la version 1.1 à 2.0 du framework. Si le message est le même, je ne pense résolument pas qu'il exprime le même problème.

A l'heure actuelle, je n'est pas encore trouvée de solution qui permette de corriger cette erreur. Espérons que l'équipe de développement de SilverLight ou de Visual Studio soit à l'écoute et nous publie un correctifs prochainement !