Skip to content →

Comment obtenir son numéro DUNS gratuitement ?

Je viens d’avoir un cas particulier pour un de mes clients qui voulait déployer une application iOs sur l’App Store avec son nom.

J’ai donc commencé par créer le compte Apple Développer sur l’Apple Member Center. Rien de bien compliqué lors de la création du compte en lui-même. Le problème est apparu lorsque l’on a voulu s’affilier au programme Apple Développer « Organisation » : compte qui permet d’utiliser la raison sociale comme vendeur sur le store.

L’information manquante était le D-U-N-S® Number: l’équivalent du numero SIREN à l’international. Lorsque l’on cherche DUNS number gratuit sur internet, on tombe sur des sociétés françaises qui s’occupent de récupérer le numéro DUNS pour vous… moyennant une trentaine d’euros.

Qu’est-ce que 30€ lorsque l’on a une société ? Franchement pas grand chose, mais je préfère que mon client me paie un resto plutôt que de payer un tiers à ne rien faire:

Le numéro DUNS peut être récupéré gratuitement auprès de l’organisme américain qui s’occupe de ça. Il suffit d’aller sur le site de Dun & Bradstreet (D&B) :

http://fedgov.dnb.com/webform/displayHomePage.do

Et de remplir le formulaire pour trouver votre société. Si jamais elle m’apparait pas, c’est certainement qu’elle n’est pas encore indéxé ici. Pas la peine de chercher autre part, les sociétés qui s’occupent de récupérer les numéros DUNS passent aussi par ce formulaire. Le numéro DUNS vous sera envoyé gratuitement par mail en moins d’une heure ! Que demande le peuple ?

 

11 Comments

{CSS,iPhone]Comment empêcher l’iPhone de changer le rendu d’une page internet?

Le truc le plus chiant lorsque l’on fait un site internet, c’est de se rendre compte que les mesures qu’on s’est fait $£%%!? à calculer ne sont pas prises en compte par le navigateur web tiers. C’est le cas avec Safari pour iPhone.  Cet idiot réinterprete les données… Donc au lieu d’avoir l’affichage de la page internet identique au navigateur Chrome / IE / Firefox :

On a l’affichage suivant :

La solution pour remédier à ça: ajouter dans la balise body la ligne suivante:

-webkit-text-size-adjust: none;

Et voilà le travail! Ça marche merveilleusement bien maintenant!

Leave a Comment

{Silverlight] Comment définir après déploiement l’adresse d’un endpoint WCF?

Le Silverlight, c’est une technologie vraiment cool, on peut faire à peu près ce qu’on veut mais parfois on se casse la tête sur des petites choses… Par exemple, comment faire pour modifier l’adresse d’un endpoint WCF? Car oui, ces informations sont inclues à la compilation dans le fichier XAP qui regroupe toute l’application Silverlight.

On a beau chercher, il n’y a plus de fichier de configuration de disponible pour modifier les adresses ip du/des serveur(s) WCF. C’est largement ennuyeux lorsque l’on doit débugger ou switcher à la demande l’adresse du service.

Pour résoudre ce problème, il suffit de regarder du coté du projet web qui héberge l’application Silverlight et plus particulièrement dans la balise object de la page ASPX. Il existe de nombreux paramètres que l’on peut transférer à l’application Silverlight dont la InitParams:

<param name= »InitParams » value= »url=http://localhost:12345/ » />

Je n’ai plus qu’à récupérer ce InitParams dans mon application Silverlight. Ce que je fais dans l’Application Startup:

private void Application_Startup(object sender, StartupEventArgs e)
{
  foreach (var item in e.InitParams)
  {
    switch (item.Key)
    {
       case "url":
         Singleton.Instance.URLParam = item.Value;
         break;
       default:
         break;
    }
  }
  this.RootVisual = new MainPage();
}

Ci-dessus, je place dans un singleton la chaine de l’URL passée via les initParams.  Il ne reste plus qu’à initialiser à la création d’un context WCF un endpoint avec la nouvelle adresse!

  public static MonServiceClient getService()
  {
     Uri uriSIC = new Uri(Singleton.Instance.URLParam + "Service_Exemple.svc?wsdl");
     var adrSIC = new EndpointAddress(uriSIC);
     var _SIC = new MonServiceClient("BindingExemple", adrSIC);
     return _SIC;
  }

Et voilà, il ne me reste plus qu’à utiliser cette instance de MonServiceClient afin d’accéder au WCF avec la bonne adresse!

Leave a Comment

{Silverlight] Le chargement de cet assembly produirait un jeu accordé différent des autres instances.

Et hop, une autre erreur à la con dans silverlight: globalement je ne sais pas comment j’en suis arrivé à ce problème. J’étais tranquillement en train de jouer avec le designer de visual studio quand c’est arrivé, en complet, ça affiche ça:

Description : Une exception non gérée s’est produite au moment de l’exécution de la requête Web actuelle. Contrôlez la trace de la pile pour plus d’informations sur l’erreur et son origine dans le code. 

Détails de l’exception: System.IO.FileLoadException: Le chargement de cet assembly produirait un jeu accordé différent des autres instances. (Exception de HRESULT : 0x80131401)

Erreur source: Une exception non gérée s’est produite lors de l’exécution de la requête Web actuelle. Les informations relatives à l’origine et l’emplacement de l’exception peuvent être identifiées en utilisant la trace de la pile d’exception ci-dessous.

Trace de la pile:

[FileLoadException: Le chargement de cet assembly produirait un jeu accordé différent des autres instances. (Exception de HRESULT : 0x80131401)]
System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) +0
System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache) +98
System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache) +241
System.Activator.CreateInstance(Type type, Boolean nonPublic) +69
System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes) +1136
System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes) +111
System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture) +23
System.Web.HttpRuntime.CreateNonPublicInstance(Type type, Object[] args) +60
System.Web.Configuration.HttpModulesSection.CreateModules() +221
System.Web.HttpApplication.InitModules() +28
System.Web.HttpApplication.InitInternal(HttpContext context, HttpApplicationState state, MethodInfo[] handlers) +828
System.Web.HttpApplicationFactory.GetNormalApplicationInstance(HttpContext context) +304
System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext context) +107
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +327

Et là ça fait peur comme erreur. Je cherche un peu sur le net, rien de bien intéressant. Certains topic parlent de changer une valeur dans la Base de registre. Je suis toujours frileux à effectuer ce genre de manipulation. On sait jamais…

Dans le doute, je me fait un petit reboot de la machine et 5 minutes plus tard, tout est OK. Comme quoi l’informatique, c’est parfois pas compliqué.

 

Leave a Comment

{Silverlight] NullReference exception avec le Designer Silverlight dans Visual Studio 2010

C’est fou mais parfois, notre PC fait vraiment des trucs moches. Dernier exemple, la mise à jour vers Silverlight 5 du plugin navigateur. Et là le drame: mon application compile toujours, s’exécute correctement mais ne s’affiche plus design dans l’éditeur, j’ai le droit à une jolie erreur du type:

Une exception non gérée s’est produite

Et en détail:

System.NullReferenceException
La référence d'objet n'est pas définie à une instance d'un objet.
à Microsoft.Windows.Design.Platform.SilverlightMetadataContext.SilverlightXamlExtensionImplementations.<GetXmlNamespaceCompatibilityMappings>d__8.MoveNext()
à MS.Internal.Design.Metadata.ReflectionProjectNode.BuildSubsumption()
à MS.Internal.Design.Metadata.ReflectionProjectNode.SubsumingNamespace(Identifier identifier)
à MS.Internal.Design.Markup.XmlElement.BuildScope(PrefixScope parentScope, IParseContext context)
à MS.Internal.Design.Markup.XmlElement.ConvertToXaml(XamlElement parent, PrefixScope parentScope, IParseContext context, IMarkupSourceProvider provider)
à MS.Internal.Design.DocumentModel.DocumentTrees.Markup.XamlSourceDocument.FullParse(Boolean convertToXamlWithErrors)
à MS.Internal.Design.DocumentModel.DocumentTrees.Markup.XamlSourceDocument.get_RootItem()
à Microsoft.Windows.Design.DocumentModel.Trees.ModifiableDocumentTree.get_ModifiableRootItem()
à Microsoft.Windows.Design.DocumentModel.MarkupDocumentManagerBase.get_LoadState()
à MS.Internal.Host.PersistenceSubsystem.Load()
à MS.Internal.Host.Designer.Load()
à MS.Internal.Designer.VSDesigner.Load()
à MS.Internal.Designer.VSIsolatedDesigner.VSIsolatedView.Load()
à MS.Internal.Designer.VSIsolatedDesigner.VSIsolatedDesignerFactory.Load(IsolatedView view)
à MS.Internal.Host.Isolation.IsolatedDesigner.BootstrapProxy.LoadDesigner(IsolatedDesignerFactory factory, IsolatedView view)
à MS.Internal.Host.Isolation.IsolatedDesigner.BootstrapProxy.LoadDesigner(IsolatedDesignerFactory factory, IsolatedView view)
à MS.Internal.Host.Isolation.IsolatedDesigner.Load()
à MS.Internal.Designer.DesignerPane.LoadDesignerView()

Ce qui donne un truc incompréhensible. J’ai passé de nombreuses heures à tenter de réparer ça. Dans l’ordre:

  1. Réinstallation de Silverlight: FAIL
  2. Réinstallation de Silverlight toolkit: FAIL
  3. Réparation de Visual Studio: FAIL
  4. Réinstallation de Silverlight et réinstallation suite à la demande de visual studio: FAIL
  5. Prier le Dieu du .NET: FAIL
  6. Désinstallation de Visual Studio 2010, de Silverlight et compagnie et réinstallation dans l’ordre: OK
Voilà, comme quoi on revient aux sources: ça ne marche plus, on désinstalle tout, on reboot et on réinstalle tout comme il faut. Si j’avais fait ça, j’en aurais eu pour 4h, là j’ai perdu 2 jours. Allé salut.

 

 

Leave a Comment

{C#] Echec du fournisseur sous-jacent sous open avec SQL Server Compact 3.5 et Entity Framework, comment faire?

Le bug de la semaine est dédié à cette erreur: l’Echec du fournisseur sous-jacent sous open, une erreur barbare pour de nombreuses sources de problèmes. En effet, l’Echec du fournisseur sous jacent sous open ou dans la langue de Shakespeare « The underlying provider failed on Open. » est une erreur générique qui globalement signifie « Je n’arrive pas à me connecter à la base de données ».

Mais ça m’arrange pas plus que ça… Mon programme fonctionne très bien sous Windows 7, mais pas sous XP. Alors là faut m’expliquer, normalement le Framework .NET est fait de telle façon à ce que sur les plateformes équipées du Framework, ça marche. Enfin du moins, c’est ce que je croyais.

En regardant un peu plus loin dans stacktrace, on remarque que l’erreur est bien liée l’ouverture de connexion: « OpenStoreConnectionIf« . Mais rien n’aide à comprendre sur la source de l’erreur.

Après quelques recherches, j’ai trouvé mon problème: le mot de passe sur le fichier SQL Server Compact était vide. Pour une raison encore obscure, il faut mettre un mot de passe à la base de données, sinon la connexion n’est pas possible avec Entity Framework. Et ça, uniquement sur Windows XP!

Leave a Comment

{Visual Studio] La version de clr.dll figurant dans la cible ne correspond pas à celle pour laquelle mscordacwks.dll a été généré.

La petite erreur sympa de la semaine lors de la compilation d’un de mes projets:

Alors pour faire simple, il s’agit d’un message qui apparaît d’un coup. Cinq minutes avant tout fonctionnait. Le redémarrage habituel du Visual Studio n’y change rien…

Car il s’agit d’un problème lié à une mise à jour en cours du système. Et oui c’est à cause de la mise à jour du Framework en fond via Windows UpdateLa solution est alors très simple, on laisse la mise à jour se terminer et on reboot l’ordinateur!

 

Leave a Comment

{C#] Comment sauvegarder un mail sur le disque au lieu de l’envoyer par SMTP?

Lors des développements, on est souvent confronté au problème du mail de validation client à envoyer… Seul problème, lorsque l’on se branche sur la base de production avec des vrais données, on ne veut surtout pas que les mails partent… La solution est d’intercepter le mail avant qu’il ne soit envoyé sur le serveur smtp… Il suffit pour ça de modifier le fichier de configuration de l’application:

<system.net>
  <mailSettings>
    <smtp deliveryMethod="SpecifiedPickupDirectory">
      <specifiedPickupDirectory pickupDirectoryLocation="C:\Temp"/>
    </smtp>
  </mailSettings>
</system.net>

Et voilà, dorénavant, les mails ne seront plus expédiés, mais sauvegardés dans C:/Temp. Pas besoin de modifier le code (SmtpClient ou MailMessage )

2 Comments

Microsoft Search Server, Sharepoint et autres subtilités…

Dernièrement, il m’a été donné de travailler sur Search Server 2010, le service de recherche de Microsoft destiné à sa suite Sharepoint. Mais un problème apparaissait en debug à l’appel du service web de recherche:

Microsoft.Office.Server.Search.WebControls.SrhdcNoInternalUrlException

Ce qui est assez compliqué avec les erreurs Sharepoint, c’est qu’elles sont rarement compréhensibles…

Microsoft.Office.Server.Search.WebControls.SrhdcNoInternalUrlExceptionSoit en détail:

<ResponsePacket xmlns= »urn:Microsoft.Search.Response »><Response domain= »QDomain »><Status>ERROR_SERVER</Status><DebugErrorMessage>

Microsoft.Office.Server.Search.WebControls.SrhdcNoInternalUrlException

</DebugErrorMessage></Response></ResponsePacket>

Rapidement, on voit qu’on a un problème d’URL Interne, kesako? En attendant, je vais quand même essayer d’accéder à la page internet de recherche de Sharepoint:

L’application Web est introuvable à l’adresse http://search/. Vérifiez que l’URL a été correctement entrée. Si l’URL doit héberger un contenu existant, l’administrateur système devra peut-être ajouter à l’application concernée un nouveau mappage pour l’URL de demande.

Bon ça m’aide pas plus, je me rends compte qu’il n’arrive pas à accéder au service de recherche en passant par http://search/… Ce qui peut paraitre normal car mon serveur windows se nomme http://search-1/. Mais pour une raison obscure lié à l’architecture, je dois continuer à passer l’URL suivante: http://search/.

La solution se trouve être le mappage d’accès de substitution. Pour corriger le problème, il suffit d’aller dans Administration Centrale > Gestion des Applications > Configurer les mappages d’accès de substitution et on ajoute une url interne ce qui donne :


Et une fois modifié, ma recherche est accessible de n’importe où sur mon réseau! Et surtout via l’URL personnalisée!

Leave a Comment

Bewise Day Conference 2011 – Faites vos jeux!

Ça fait maintenant 5 ans que je travaille dans le milieu .NET, cette technologie de Microsoft a bien évolué depuis ses balbutiement il y a une dizaine d’année. Sur Toulouse, le leader dans ce domaine, c’est bien entendu Bewise, le rassembleur de talents de la région.

Et comme tous les ans depuis 6 ans (à vérifier), ils proposent les BDC, les Bewise Developpeur Conference. THE PLACE TO BE quand on aime les technologies Microsoft.

Cette année la conférence se plaçait sous le signe du jeu et du casino. Un lieu à forte signification : avant c’était le Stade, pas n’importe quel Stade, le Temple du Rugby Toulousain, l’endroit où des valeurs nobles se retrouvent. Le casino, dans un sens c’est plus chic mais la connotation est toute autre… Argent et jeu… Finalement ça correspond bien : nous ne sommes finalement que des grands enfants qui vendent chers nos services

Nous avons retrouvé cette année les stands habituels qui mettent en avant les différentes prestation que peuvent mettre en place Bewise. Cette année, je me suis plus particulièrement intéressé à la gestion de projet en assistant au présentations sur le Team Foundation Server et les techniques d’intégrations continues.

Je sens que je vais mettre ca en application dans les semaines qui viennent sur mes projets, ce sont mes petits travailleurs qui vont pas apprécier :)

Concernant le reste de la présentation, le XAML et le Silverlight me plaisent toujours autant… normal quand on connaît ma passion pour ces technologies, si je devais développer actuellement une application, ca sera obligatoirement dans ces langages là – mais on en reparlera en temps voulu !

La plénière comme chaque année met en avant de nouvelles technologies Microsoft, cette année le focus a été mis sur Microsoft Azure, la solution Cloud de Microsoft… Je suis plutôt dubitatif à propos de ce service et surtout vis à vis du public visé, en effet de nombreuses personnes présentent aux BDC font partis d’une entreprise qui vend la prestation d’hébergement de site / application et croyez moi, c’est pas donné comme service !

Que dire de plus ? Que finalement le HTML 5 c’est bien mais que c’est un peu Bisounours Land : tout est beau, tout est joli mais finalement, on ne peut pas vraiment se fixer sur la bête avant 2014 !!! Je me vois bien dire à mon client:
« Boby, on fait un site web, c’est super comme truc mais en fait en 2014, il faudra peut être le refaire… »

J’ai de nouveau vu le Windows Phone 7, rien à faire, je peux pas m’y mettre, je trouve l’interface vraiment ragoutante, je suis un fan boy Apple et je l’assume :)

Ce que je retiendrai de cette session:

  1. L’intégration en continue sur le TFS est indispensable
  2. Même les meilleurs peuvent avoir un IIS qui merde, hein Viko :p
  3. L’HTML 5, c’est bien mais pas suffisant

Bref encore un grand merci à l’équipe de Bewise pour leur accueil et à l’année prochaine !

Leave a Comment