mardi 21 octobre 2014

#Android: Le cauchemar de la page blanche avec Google Maps V2

Google Maps V2 sur Android est un sérieux casse tête pour plus d'un en tout cas pour moi ça l'a été plus d'une fois avec cette fameuse page blanche qui s'affiche sans carte alors que vous êtes sûr d'avoir suivi toutes les étapes pour la création de votre MapsActivity mais rien est fait vous avez toujours cette maudite page blanche qui s'affiche et pas une jolie carte à la Google Maps.
Je vais vous dire pour moi ce qui a toujours été mon erreur et qui peut être bien aussi la votre.

Quelques conseils fisrt:

De préference utilisez Android Studio. Créer une Maps Acitvity n'a jamais été plus simple. Il vous suffit de créer une nouvelle activité ensuite vous sélectionner MapsActivity et Android Studio va se charger de tout générer pour vous.
Bon je vais vous demander de suivre ce lien (in English) il vous explique comment créer une activité GMpas V2 sous Android Studio.

En résumé pour créer une Activité avec GMaps vous avez besoin de renseigner une clé qu'on appelle souvent la API_KEY de GMaps sans cette clé votre activité ne fonctionnera pas. Vous devez renseigner cette clé dans les deux dossiers debug et release qui ont été générés par Android Studio sous le répertoire src. Vous devez aussi renseigner cette clé dans le manifest comme suit



Ce qui est hachuré en rouge c'est ma API_KEY pour utiliser GMaps. Comme vous le voyez elle commence toujours par AIza..... TOUJOURS!!! 

Ok si vous êtes toujours là c'est que vous voulez toujours savoir comment régler le problème de la page blanche. Alors je vais vous le dire. Si vous avez suivis toute la procédure correctement tout devrais fonctionner à merveille mais l'erreur que moi j'ai souvent commise est au niveau du nom de package.
En effet lors de la génération de la API_KEY on vous demande de renseigner le nom du package mais ne vous trompez pas il ne s'agit pas du package ou sous-package dans le quel se trouve votre MapsActivity mais plutôt de votre package de base celui de votre projet, celui là même qui vous servira pour Google Play Store.

Ainsi si vous ne vous trompez pas avec ce fameux package name et que vous faites tout dans les règles comme dans les tutos, vous devriez avoir une magnifique GMaps dans votre activité du style:


Bonus: Explication d'un ami à moi, Souleymane Sidibé (développeur Android)

Chaque app est identifié par son packagaName et quelques autres infos et Google Maps fait un binding entre ce packageName et la API_KEY que vous générez. S'il n'y a pas correspondance ça ne marchera pas.
En général le package name de l'app est identique au package de base de votre application mais ce n'est pas toujours le cas.
Avec gradle vous pouvez avoir un package name différent en fonction que vous soyez en mode de debug ou en mode release c'est d'ailleurs ce qui est conseillé.


lundi 7 juillet 2014

Quelques bugs rencontrés avec symfony2



Hello world!! Je vous présente dans cet article une liste de bugs que j'ai rencontré en travaillant sur symfony2. Bien sûr c'est une liste de bugs avec leur corrections sinon à quoi ça sert? :P

Attention!

Je Tiens à préciser que je travaille sur une machine linux Ubuntu 14.04LTS, j'utilise symfony 2.4.5,  PHP 5.5.9 et j'utilise Lamp au lieu de Xampp. En fonction donc de votre configuration vous pouvez ne pas avoir les mêmes bugs ou la même manière de les corriger.

Let's go

  • Edit the composer.json file and register the bundle namespace in the "autoload" section
Correction: il s'agit d'un problème dans la destination de votre bundle. Par defaut le terminal vous propose certainement quelque chose comme ceci: Target directory [/var/www/Symfony/app/cache/dev/../src]. Vous devez donc le modifier en mettant:  /var/www/Symfony/src

  • Il possible d'avoir une erreur du style: "page non trouvée" lorsque vous essayer d'accerder à localhost:8000/ ou localhost/Symfony/app_dev/, etc..
Correction: pour regler ce problème et obtenir la page d'accueil de symfony2 vous devez taper la commande: php app/console server:run.
En considérant évidement que vous vous êtes au préalable déplacé dans le dossier /var/www/Symfony/
En fait cette commande permet de lancer le demon (service) symfony2.

  • The target-entity Apps\RctBundle\Entity\Rct_ingr cannot be found in 'Apps\RctBundle\Entity\Recette#rctingrs
Correction:  Si vous remaquer bien le nom de mon entité, vous vous rendrez vite compte que celle ci est du style ...\Rct_ingr . C'est donc là le problème car les underscores (_) dans le nom d'une entité sont interprétée comme des répertoires par le Class loader de Symfon2. La solution est donc de renommer l'entité Rct_ingr en Rctingr. Et le tour est joué :)



Au cas où vous aurez quelques petits problèmes, vous pouvez toujours laisser un petit commentaire.


lundi 28 avril 2014

L'internet des objets: l'internet de demain


Internet des objets kezako?

L'internet des objets ou internet of things (IoT) dans la langue de Shakespeare est de plus en plus décrit comme une évolution d'internet. En effet, de nombreux experts la considèrent comme une innovation très prometteuse au même titre qu'internet.

C'est quoi un objet?

Avant de définir l'internet des objets, il est primordial de savoir ce qu'est un objet. Les objets sont tout simplement tous les objets du quotidien (lunettes, montres, vêtements, chaussure, etc) avec lesquels nous sommes en contact. Ces objets sont généralement des appareils électroniques (le cas des montres), des appareils électriques (comme les appareils électroménagers), des capteurs (détecteurs d'incendies etc).

Tu va nous le dire à la fin?

L'internet des objet est encore une notion complexe à définir, il n'existe pas une définition standard à proprement dite car certains la définissent en se basant sur ses fonctionnalités et son usage dans le quotidien tant dis que d'autres se concentrent sur ses aspect techniques. Selon Wikipedia, "L'Internet des objets représente l'extension d'Internet à des choses et à des lieux du monde physique".
Néanmoins  ce que l'on peut retenir de ce terme barbare c'est que l'internet des objets représente l'ensemble des dispositifs (objets) du monde réels connectés aux réseaux internet.

Les enjeux et domaines concernés

L'internet des objets pourra révolutionner considérablement internet selon certains experts qui pensent que cela changera radicalement notre mode de vie car ces derniers lui associent des enjeux sociaux, économiques, et même politiques. Cependant d'autres préfèrent y émettre des incertitudes.

L'internet des objets va jouer un rôle important dans différents secteurs de notre environnement:
  • Dans les entreprises: logistique cycle de vie des objets;
  • Dans les transports: suivi des acheminements;
  • Dans les espaces urbains: surveillance, circulation;
  • Dans services publics: communications, énergie, santé;
  • Dans les domiciles: confort, économies d’Énergie, domotique.

Application actuelles de l'internet des objets

Voici quelques applications que l'on peut associer à l'IoT:
  • suivi de l'acheminement des objets (courriers postaux, transport routiers, maritimes et aériens)
  • connaissance de la composition des produits, en particulier des produits sensibles (pharmaceutiques);
  • suivi de l'utilisation et de l'état des objets après leur acquisition par le client;
  • sécurité des transfusions sanguines (contrôle de compatibilité).

En Conclusion

L'internet des objets représente un potentiel énorme qui est encore à ce jour à peine exploité sans doute parce que cette technologie n'en ai encore qu'à ses balbutiements. Mais compte tenu de la vitesse à laquelle évoluent les nouvelles technologies, on peut donc se poser la question si ce "changement radical de notre mode de vie" n'est pas pour bientôt voir même pour très bientôt.