Votre CV sur votre site perso grâce à l’API LinkedIn

Il y a encore quelques semaines, j’utilisais l’API de Viadeo pour générer une page CV sur mon site perso. J’avais même développé un plugin pour WordPress pour que chacun puisse afficher son CV sur son blog facilement. Cependant, comme vous le savez peut-être, Viadeo a fait le choix de restreindre l’accès à son API à ses partenaires stratégiques.

Etant donné que je n’envisageais pas de maintenir une page CV statique sur mon site perso, il a donc fallu trouver une alternative. La solution a rapidement été trouvé chez LinkedIn qui expose une API très complète.

Si vous souhaitez également générer votre page CV sur votre site perso, vous pouvez trouver le code source de mon script PHP sur gist.

Avant de pouvoir utiliser le script, vous devez créer une application dans l’interface LinkedIn Developer afin d’obtenir vos clés API. Remplissez uniquement les informations obligatoires et dans les conditions d’utilisation OAuth, vous pouvez sélectionner uniquement r_basicprofile, c’est suffisant pour l’utilisation que l’on a.

Une fois que vous avez vos clés d’API, il suffit de les insérer dans le script PHP et vous devriez voir apparaître votre CV.

Cependant, Il se peut que votre serveur ne soit pas configuré pour utiliser l’objet OAuth présent dans le script PHP. Si, c’est votre cas, voici la démarche à suivre pour une distribution Ubuntu.

sudo apt-get install php-pear
sudo apt-get install php5-dev
sudo apt-get install libpcre3-dev
sudo pecl install oauth

Il faut ensuite éditer votre fichier php.ini :

sudo gedit /etc/php5/apache2/php.ini

Et ajouter dans Dynamic Extensions :

extension=oauth.so;

Il suffit enfin de redémarrer votre serveur Apache :

sudo service apache2 restart

Et voilà, vous avez un CV toujours à jour sur votre site perso.

3 Secondes Chrono et Google Play Games Services

01_home_fr_framedDepuis longtemps nous avions envie de développer un jeu pour Android et aussi de tester Google Play Games Services. Le concept du jeu est assez simple, il s’agit d’un nouveau genre de quiz où vous avez seulement 3 secondes pour répondre à une question de culture générale ou scientifique ! Le but est de réussir à enchaîner un maximum de bonnes réponses sans dépasser le temps.

Un certains nombre de questions s’articulent autour de la géographie, reconnaître un drapeaux, retrouver la capitale d’un pays ou encore associer un pays à sa capitale. Pour générer notre jeu de données, nous avons exploité l’API Geonames. Nous vous la recommandons si vous avez besoin de données géographiques, elle est incroyablement complète et entièrement gratuite.

Pour ce qui est des Google Play Games Services, il s’agit d’une API qui permet de rendre son jeu plus social en ajoutant notamment des classements de joueurs et des réussites (comme le fait déjà Steam, Playstation Network ou même Apple avec son Game Center). Pour l’utilisateur, la connexion à Google Play Games se fait très simplement grâce à son compte Google+. Une fois connecté, son classement et ses réussites sont automatiquement mis à jour et partagés avec les autres joueurs.

Screenshot_2014-03-30-13-36-29_framed

Pour ce qui est de l’intégration technique, c’est un jeu d’enfant. Google fournit un BaseGameUtils qui se charge quasiment de tout. Finalement, la plus grosse partie du travail est la configuration de son jeu dans la Google Play Developer Console. A noter qu’une fois le jeu publié, Google fournit tout un tas de statistiques sur l’utilisation du jeu, nombre de joueurs, fidélisation des joueurs, nombre de scores, nombre de réussites déverrouillées, etc.

Rendez-vous sur le Google Play Store pour télécharger l’application ou scannez le QR Code.

On parle intégration continue au Paris Android User Group

Le 12 décembre, j’ai eu la chance de prendre la parole pour une session un peu spéciale du Paris Android User Group axée sur les retours d’expérience de développeurs. J’ai donc présenté trois outils que nous avons mis en place chez Viadeo dans une démarche d’intégration continue. J’aborde HockeyApp, Robotium et Jenkins.


Pour que votre smartphone ne nuise plus à votre sommeil

Screenshot_2013-10-02-13-11-04Nous venons de développer une petite application que va permettre à votre smartphone de ne plus nuire à votre sommeil. En effet, cette application désactive automatiquement la LED de notification lorsque votre téléphone est branché !

Comme beaucoup, vous rechargez votre téléphone ou tablette toutes les nuits à proximité de votre lit. Et comme beaucoup, vous recevez mails, SMS et autres messages qui provoquent le clignotement de votre LED de notifications et nuit à la qualité de votre sommeil.

Grâce à cette application, dès lors que vous branchez votre terminal au secteur, la LED de notifications se désactive, et dès que vous le débranchez, la LED s’active de nouveau.

Vous n’avez rien à faire pour que cela fonctionne, l’application détecte automatiquement le branchement et débranchement de votre téléphone ou tablette.

L’écran de l’application sert uniquement à tester la comptabilité de votre terminal avec l’application. En effet, étant donné que l’on édite les paramètres du téléphone, on ne peut pas garantir le fonctionnement de l’application sur tous les terminaux étant donné que les constructeurs peuvent redéfinir les paramètres. Si vous avez un téléphone non-compatible, merci de nous le signaler.

Rendez-vous sur le Google Play Store pour télécharger l’application ou scannez le QR Code.

Nouvelles versions de « Toilettes à …. »

Au mois de novembre 2012, nous avions déjà entamé un gros chantier de modernisation de l’application Toilettes à Paris. Mais comme vous le savez, avec Android, les choses évoluent très vite. Nous avons donc procédé à une nouvelle phase de mises à jour. Etant donné l’ampleur du travail, nous avons estampillé cette version 2.0 ! Et comme une bonne nouvelle n’arrive jamais seule, la version Toilettes à Toulouse a subi les mêmes évolutions.

Utilisation de Google Maps API v2

Tout d’abord, nous avons abandonné la première version de Google Maps API que l’on avait améliorée à l’aide de la librairie Polaris. Google Maps API v2 a comblé beaucoup de manques et l’utilisation de Polaris n’est donc plus obligatoire. Google Maps API v2 est distribuée aux utilisateurs à travers les Google Play Services. La version minimale d’Android est donc maintenant fixée à Android 2.2 au lieu de 2.1 à cause des Google Play Services.

Localisation plus rapide et moins consommatrice en batterie

Lors de la Google IO 2013, Google a annoncé une nouvelle API plus rapide, plus fiable et moins consommatrice en batterie pour faire de la géolocalisation. Nous avons donc opté pour cette nouvelle API. Le point négatif de celle-ci est qu’elle est distribuée à travers les Google Play Services. Donc, la version minimum d’Android supportée est la 2.2 et tous les terminaux ne possédant pas Google Play ne peuvent plus utiliser l’application.

Remplacement de ActionBarSherlock par AppCompat

Vous connaissez très certainement ActionBarSherlock, il s’agit de la librairie de rétrocompatibilité la plus utilisée afin d’afficher une ActionBar dans les versions d’Android inférieure à Honeycomb. Bien entendu, elle était présente dans Toilettes à Paris. Mais voilà que Google a enfin sorti sa propre librairie de rétrocompatibilité nommée AppCompat. Cette librairie fonctionne exactement comme ActionBarSherlock, nous n’avons pas du tout été perdu pour faire le portage. Vous pouvez alors vous demander à quoi bon faire le portage si rien ne change entre ActionBarSherlock et AppCompat ? Et bien, à vrai dire, pas à grand chose. Nous avons fait ce portage uniquement dans une optique de test technique. D’ailleurs, Google conseille de ne pas faire de portage et d’utiliser AppCompat uniquement dans le cadre d’une nouvelle application.

Remplacement de la SearchDialog par une SearchView

Depuis la première version d’Android, il existe la SearchDialog que nous utilisions jusqu’à présent. Il s’agit d’une Activity qui passe par dessus l’activity courante pour lancer une recherche. Depuis la création de l’ActionBar, cette SearchDialog est devenue dépréciée au profit de la SearchView. La SearchView est une vue extensible qui s’intègre à l’ActionBar. Grâce à AppCompat, nous avons donc pu intégrer la SearchView sans difficulté sur toutes les versions d’Android, y compris pré-honeycomb. De plus, le portage de la SearchDialog à la SearchView est véritablement simple puisque les deux systèmes utilisent la configuration par xml. Nous n’avons donc eu aucunement besoin de redévelopper le module de recherche.

Mise à jour de la base de données des toilettes

Une des critiques récurrentes que nous avons sur le Play Store est le manque de fiabilité de la base de données de Toilettes à Paris. Pourtant, cette base de données provenait de OpenDataParis. Heureusement, la ville de Paris a créé une nouvelle API avec des données à jour : Paris is {API}. On vous laisse d’ailleurs lire notre article concernant cette bizarrerie d’avoir 2 OpenData… Nous avons donc développé une petit script java qui exploite cette API, et 8 secondes plus tard, nous avons un CSV tout beau tout propre. En ce qui concerne Toilettes à Toulouse, nous avons également mis à jour la base de données grâce à ToulouseMétropole.data qui semble être fiable.

Industrialisation

Comme indiqué au début de cet article, nous avons mis à jour en même temps, Toilettes à Paris et Toilettes à Toulouse. Ceci a été possible en modifiant la structure de nos projets. Nous avons maintenant un shared library project commun entre les 2 projets qui contient tout le code java. Les 2 projets ne contiennent alors que les ressources et les assets qui divergent. Nous pouvons donc mettre à jour en même temps les applications à chaque fois et si nous souhaitons créer une application pour une autre ville, c’est un jeu d’enfant !