Archives pour la catégorie Uncategorized

Un petit coup de main pour traduire mon application Maps Pro pour Windows 8

Salut à tous,

Pour cet article, pas de tutorial mais besoin d’un petit coup de main. Dans le dernier article, je vous parlais de Maps Pro, mon application pour Windows 8:

Maps Pro disponible sur le Windows 8 Store

L’application est déjà traduite en Anglais / Français et j’ai envie de proposer plus de langues. J’ai donc besoin de vous pour me donner un coup de main, si vous maîtrisez une langue telle que l’espagnol par exemple (Java et PHP ne comptent pas).

Microsoft propose un toolkit permettant de traduire automatiquement les textes d’une applications mais les traductions sont parfois hasardeuses, voire fausses. Le but de l’opération est donc de jeter un coup d’oeil à ces traductions et de les corriger si besoin est. Pour la traduction en Dutch de Clouder par exemple, uniquement 25% des textes ont du être corrigé, ce qui n’est pas si mal.

J’ai déjà trouvé des volontaires pour Dutch et German (merci à eux), je cherche donc des personnes qui parlent espagnol, russe, chinois ou même une autre langue. Ce n’est pas un travail de traduction à 100%, il suffit de corriger les traductions automatiques trop approximatives. Si vous parlez la langue, cela ne devrait vous prendre pas plus de 10 minutes.

Si cela vous intéresse, envoyez-moi un email à fnicollet@gmail.com, en précisant la langue que vous maîtrisez et je vous donnerai les droits d’accès en écriture sur un Google Document à corriger:

https://docs.google.com/spreadsheet/ccc?key=0Aou-2njuXGa1dFJyb3RDQTRBSnZ5alBUOUYzY1Nza1E

Si la langue que vous maîtrisez n’est pas encore dans le document, je l’ajouterai avec les traductions automatiques.

En récompense, vous apparaîtrez dans la description / les crédits de l’application :)

Merci à vous!

Fabien

Installation de Windows 8 Consumer Preview sur VMware Workstation 8

Ça faisait longtemps que je n’avais pas écrit un billet alors en voici un petit sur l’installation de la version Consumer Preview de Windows 8. Pour pouvoir obtenir du feedback, Windows fournit une version « alpha » (susceptible de changer du tout au tout) sous la forme d’un .ISO à graver où à faire tourner sur sa machine.

Malgré l’aspect simple de la tâche, je suis tombé sur pas mal de galères donc si vous voulez vous aussi installer cette version Win8 Consumer Preview, suivez le guide :).

Attention, si vous essayez d’installer cet ISO directement sur votre machine, on vous proposera une mise à niveau de votre Windows. Cette version CP n’est pas stable, il est donc conseillé de l’installer dans une machine virtuelle (VM).

Installer VMWare Workstation 8 ou VirtualBox

Sur mon poste, j’avais un VMPlayer 4 et j’ai essayé de l’utiliser pour installer l’ISO. Après installation / boot, un bon vieux BSOD avec l’erreur « DPC_WATCHDOG_VIOLATION ». La solution est d’installer VMWare Workstation 8 (dernière version, la 7 ne va pas fonctionner).

http://www.vmware.com/go/downloadworkstation-fr

J’ai aussi vu que cela fonctionne très bien avec VirtualBox qui a même un preset Win8 dans la dernière version

Télécharger l’ISO 32-bit et pas le 64-bit

En essayant avec la version 64-bit, j’ai eu le BSOD « HAL_INITIALIZATION_FAILED ». Pour pouvoir virtualiser correctement ce Win8 avec VMWare, il faut utiliser les ISO 32-bit

http://windows.microsoft.com/en-US/windows-8/download

Choisir le modèle de machine virtuelle Windows 7

Quand vous allez créer une nouvelle VM à partir d’un ISO, VMWare vous demande le système d’exploitation qui sera utilisé. Bien sûr Windows 8 n’est pas dans la liste et plusieurs tutoriaux proposent de choisir « Other 32-bit ». L’installation a fonctionné comme cela mais impossible d’avoir la connexion réseau. Il faut en fait choisir « Windows 7 » comme type d’installation pour que le bridge / NAT fonctionne correctement

Configuration matérielle

16Go de disque, 1Go de RAM, Accélération 3D. Normalement, tout est ok avec le template Windows 7. Dans la catégorie « Floppy », décocher Connect on Startup pour ne pas utiliser de floppy drive, sinon vous aurez l’erreur suivante

Message d’erreur « Windows cannot read the <ProductKey> setting from the unattend answer file. »

Arrêtez la VM, dans ses propriétés matérielles, catégorie Floppy, décochez « Connect on startup »

Si vos VMWare Tools ne sont pas installés

Une fois Win8 installé, dans le menu de démarrage, choisissez « Desktop » pour revenir à l’interface type Win7. Depuis le menu « VM » de VMWare Workstation, choisissez « Install VMware Tools… », ce qui aura effet de monter un lecteur DVD virtuel. Lancez le setup de ce lecteur DVD pour installer les VMWare Tools

Télécharger le SDK Windows 8

Si vous installez Windows 8 pour développez dessus, vous pouvez installer directement le SDK en vous rendant à l’adresse suivante dans Internet Explorer (10 du coup):

http://msdn.microsoft.com/en-us/windows/apps/br229516

Si vous obtenez une erreur « Visual C++ 11 x86 Debug Runtime – 11.0.50214 Fatal error during installation », relancez l’installation et faîtes « réparer »

Lancer Visual Studio 2011 Preview

Retourner dans le menu Start (rollover bas gauche pour retourner à l’interface métro) puis à droite , vous trouverez Visual Studio 2011.

Au passage, je n’ai pas installé Windows 8 juste pour regarder mais pour développer ma première application à destination du futur Windows Store en HTML / JS / CSS. Pas mal de choses à apprendre, dès que je suis assez à l’aise, je ferai quelques tutoriaux sur ce blog :)

Drop-in « Add to home » pour inviter les utilisateurs de webapp iOS à ajouter à l’écran d’accueil

Je profite d’une petite découverte pour blogger un peu (je suis à fond sur le développement de ma première webapp full HTML qui donne de très bons résultats, j’espère pouvoir plus en parler bientôt sur ce blog).

Les applications sous forme de site web tournant dans le navigateur (alias webapp) occupent une place réduite, à cause de la place prise par l’interface du navigateur elle-même (barre d’adresse, signets, …). Sous iOS, on peut faire mieux en ajoutant l’application à l’écran d’accueil. Dans ce mode « standalone » (repéré par window.navigator.standalone), seule le header principal de l’iDevice (avec heure, batterie, signal, …) apparaît, ce qui laisse toute la place à l’application.

Pour cela, il faut tout de même placer un meta-tag dans le head de sa page:

<meta name="apple-mobile-web-app-capable" content="yes">

Bref, vous savez déjà que cela est possible mais peut-être que vos utilisateurs ne le savent pas. Pour cela, Mattea Spinelli (qui a aussi fait iScroll) a créé un petit script nommé « Add to home ». Celui-ci vous permet de proposer automatiquement aux utilisateurs iOS d’ajouter l’application à l’écran d’accueil:

http://cubiq.org/add-to-home-screen

Lors de la consultation de la page, ce script fera apparaître un pop-up comme ceci:

Si vous naviguez sur maps.google.fr avec Safari, vous verrez que GMaps vous propose aussi cette option, un peu de la même manière.

Le script gère automatiquement le positionnement de la pop-up, suivant l’appareil (en haut à gauche pour l’iPad, en bas au centre pour l’iPhone / iPad touch. En plus de cela, pas mal d’options:

  • Timing de l’apparition
  • Effet de l’apparition
  • Gestion de la persistance
  • Contenu personnalisé …

A noter, l’option « returningVisitor » qui permet si activée, de ne proposer la pop-up qu’à la seconde visite de l’utilisateur. En effet, comme il l’indique dans l’article, si vous lui présentez cette option à la première consultation de votre site, l’utilisateur va peut-être directement fermer cette aide, car il ne sait pas encore si votre webapp vaut le coup :). De base, cette propriété est à false, ce qui signifie que l’utilisateur verra la pop-up même à sa première visite. A vous de voir.

Pour l’utiliser sur sa webapp, il suffit d’intégrer le JS et le CSS de Add2Home dans sa page, le script s’occupe du reste.

Voilà, un script très pratique qui m’a personnellement sauvé quelques heures. Si c’est aussi votre cas, faîtes aussi un don Paypal à l’auteur :)

Mon compte-rendu Mix-IT 2012

Je ne pensais pas en faire un mais comme j’en ai vu quelques uns émerger sur Twitter ce matin, au final, pourquoi pas. Pendant que c’est encore chaud, je vais vous parler un peu de la journée d’hier que j’ai passé à Mix-IT 2012

http://www.mix-it.fr/

Contexte

Mix-IT (à prononcer Mixitte / Mixitté / Mixayti selon votre goût) est une conférence organisée à Lyon par le LyonJUG et le CARA (Agilites Rhône-Alpes). J’avais déjà participé à l’édition 2011 que j’avais déjà beaucoup apprécié. Pas de raison donc de rater l’édition 2012.

Cette fois-ci, Mix-IT a eu lieu dans les locaux de SupInfo Lyon. Au passage, un grand bravo pour le Wifi qui a tenu le coup avec une excellente connexion en permanence toute la journée. Vu qu’il n’y avait pas de 2G / 3G dans le bâtiment, tout le monde était dessus et je pense que l’on a tous vécu la conférence où le wifi s’écroule parce que 30 pélos se connectent en même temps. Petite attention mais grosse satisfaction!

Au niveau des chiffres:

  • 400 personnes
  • + ou – 25 sessions
  • 5 salles
  • 30€ tcc
  • 5 thèmes (Agility Techy Trendy Gamy Weby)

… et 1 super équipe d’orga puisque tout s’est bien déroulé dans la journée, pas de « bouchons » (répartition de la distribution des repas à midi) et pas de retards dans les sessions.

Voilà pour le contexte, je vais maintenant parler des sessions que j’ai vu.

Disclaimer

Le choix était parfois difficile entre de nombreuses sessions intéressantes et je dois avouer que j’ai parfois fait le mauvais choix (j’ai un profil plutôt technique et le reste passe un peu à la trappe). Mais ça, c’est de ma faute :).

Keynotes

Début de la journée avec les Keynotes. La salle de la keynote étant trop petite pour contenir les 400 participants, la keynote était retransmise dans 2 autres salles. Etant un peu en retard, j’ai donc vu la retransmission. Organisation impec, son + vidéo ok.

Première keynote avec Martin Gömer (de chez Google France) qui au lieu de faire la « keynote d’entrée un peu philosophique » a choisi de nous parler directement de Chrome Beta pour Android pendant 30 minutes. Une présentation de produit pure et dure qui n’avait donc rien à voir avec la choucroute. Seule chose que j’ai apprécié, il s’est excusé pour la qualité très mauvaise du navigateur des versions Android 2.x. C’était la moindre des choses :).

Deuxième keynote avec Claire Blondel, un profil non technique (ingénieur qualité), qui venait parler des problèmes qu’on les développeurs avec le contrôles (ex. les code review). Bon perso, ce genre de discours, c’est pas du tout ma tasse de thé. Il faut échouer pour apprendre, c’est dans la culture ricaine mais pas dans la française, oui oui oui mais j’ai l’impression d’avoir entendu 100x ce genre de talk « inspirationnel » à-la-TED. Là encore, c’est vraiment les goûts et les couleurs, j’ai vu certains personnes qui ont vraiment adoré ce genre de talk.

Play 2.0

J’ai commencé ma journée avec Play 2.0:

http://www.playframework.org/

Le sujet m’intéressait puisque j’avais vraiment apprécié Play 1 (même si je n’ai pas assez eu de temps pour vraiment l’utiliser depuis cette découverte). Play 2 arrive avec sa dose de nouveautés donc certains choix qui ont lancé pas mal de polémiques (Scala anyone?) mais selon ses créateurs, c’est pour préparer l’avenir avec de nouvelles fondations plus solides (Scala, Akka, SBT, Closure Compiler).

Début de session, premier sondage dans la salle pour savoir qui a déjà utilisé Play 1. Trois quarts des mains se lèvent, je pense donc que je n’étais pas le seul à vouloir connaître les nouveautés. Pourtant une grosse moitié de la session a été passée à revenir sur des concepts déjà présents dans Play 1 (REST, compilation à la volée, Routes, etc.) afin d’aboutir sur un Hello World bien classique. Au passage, j’ai pu voir de mes yeux le temps de rechargement d’une application Play 2 (celui qui fait grincer les dents des devs Play 1) et effectivement, c’est pas autant qu’un redémarrage de Tomcat mais cela n’a rien à voir avec la v1.

Bref, avec autant de temps passé sur le Hello World, le tour d’horizon a été assez trop rapide. Akka a été survolé, SBT a été mentionné, les modules / la persistance n’ont pas été évoqués. Avec un peu plus de préparation et un adaptation au public, je pense que cela aurait pu être abordé en 1h.

Play 2, cela fait rêver sur certains points (tenue en charge énorme, websockets, temps réel & co) mais cela commence à sortir un peu de la « réalité » de ce que font la plupart des développeurs dans leur travail quotidien (lève la main si tu traites des flux de réseaux sociaux temps réel dans les applications de ton client). Bref, je crois que je resterai sur Play 1 qui est suffisamment mature / puissant pour le genre de choses que je veux faire.

DevOps @ Kelkoo

J’avais le choix avec Backbone et je suis finalement allé voir cette session, ce que je n’ai pas regretté! Présentation impeccable sur l’organisation de Kelkoo pour la préparation de nouvelles machines, de mises à jour, de gestion du déploiement… Avec quelques centaines de machines et le rachat par Yahoo il y a quelques années, ils ont du adapter une organisation assez « artisanale » pour une automatisation des tâches afin de ne pas avoir à aller demander aux « ops » de préparer une machine de dev par exemple.

Lire la suite