mercredi 5 juin 2013

Linux : Réparation du boot loader Grub avec Boot Repair


L'installation d'une configuration en multi-boot sur son PC est toujours une démarche risquée source de mauvaises surprises dans pas mal de cas.

Je décidé de rédiger cet article suite à un problème que j'ai rencontré suite à l'installation de Ubuntu 13.04 en dual-boot avec Windows 7.
L'assistant d'installation de Ubuntu est assez complet, permettant de refaire le partitionnement de disque et de choisir la partition cible, ainsi que le choix de préserver les OS existants par l'installation du boot loader Grub qui permet de sélectionner l'OS à chaque démarrage.

La mauvaise surprise : après l'installation de Ubuntu avec succès et démarrage sur celui là sans problème, impossible de démarrer mon Windows 7, erreur : Unknown filesystem. Grub bascule sur un utilitaire de dépannage en ligne de commande Grub rescue.

En recherchant sur les forums j'ai trouvé certaines démarches assez compliqués qui permettent de réparer le boot en utilisant cet outil. Evidemment pas sans risque d'empirer encore la situation. 
Le but de cet article c'est de vous montrer une manière beaucoup plus simple pour réparer le Grub dans des cas similaires et sans avoir besoin de connaissance techniques poussées.

Le problème dans la plupart de cas viens de la perte du boot loader du Windows 7 après l'installation de Linux, celui-ci deviens non utilisable ou non accessible depuis Grub.

C'est en cherchant encore sur le Net que j'ai trouvé ce petit outil vraiment génial : Boot Repair.

Il s'agit d'un utilitaire menu d'un assistant graphique, très simple a utiliser, il permet de réparer Grub, récupérer le MBR, recréer les programmes de démarrage défectueux des OS ainsi que reconfigurer Grub dans un mode de configuration avancé.

Installation :
Si vous pouvez démarrer sur Linux (comme c'était le cas pour moi) il suffit de télécharger et installer le package à partir d'un Terminal via les commandes suivantes :

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

Sinon, si vous ne pouvez pas démarrer sur Linux, il est toujours possible de créer un CD bootable contenant l'outil.

Utilisation :
Il n'y pas plus simple, il suffit de cliquer sur le bouton "Réparation recommandée (répare les problèmes les plus fréquents)", l'outil détectera les éventuels problèmes et fera les réparations nécessaires. Il est possible de choisir le mode avancé pour personnaliser les opérations qu'on souhaite effectuer par l'outil.

Liens utiles :
Téléchargement sur Sourceforge : http://sourceforge.net/projects/boot-repair/
Topic en français expliquant d'avantage l'utilisation de Boot Repair : http://forum.ubuntu-fr.org/viewtopic.php?id=509791

C'est tout ! Comme cet outil m'a fait gagner beaucoup de temps et m'a permis de ne pas perdre mon Windows 7. Je vous le recommande vivement en espérant que cet article vous sera très utile.

jeudi 30 mai 2013

Problèmes de l'architecture Windows 8


Windows 8 s'est démarqué principalement des précédents OS de Microsoft par sa nouvelle interface Metro qui a introduit une nouvelle manière de visualiser et lancer les applications. Cette évolution un peu forcée par Microsoft n'a pas été au goût de la plupart des utilisateurs de Windows, ce qui a obligé Microsoft de remettre le bouton démarrer classique dans le service pack 8.1 prévu pour bientôt, afin de conquérir les utilisateurs non adeptes de l'interface Metro. Cependant, le petit détail qui a été dévoilé dernièrement c'est que la nouvelle UI de Windows 8.1 n'aura du menu démarrer classique que le bouton qui ne fait rien d'autre qu'afficher l'interface Metro ! Étonnant non ?


Tout ça n'est pas de pure hasard, et c'est pas non plus de l'obstination de la part de Microsoft ou un manque de compréhension des besoins des utilisateurs, mais l'origine de ce choix s'agit tout simplement des problèmes de conception dans l'architecture de Windows et les API utilisées, ces problèmes commencent à apparaître dès la création du framework .Net par Microsoft, je m'explique :

MFC était le framework de développement le plus utilisé pour développer des applications Windows avant l'arrivée de .Net, son point fort est la performance qui est due à l'utilisation du langage C++ natif et l'API Win32.
Etant donnée que C++ n'était pas le plus simple des langages, le framework .Net à été conçu principalement pour faciliter la vie aux développeurs, en supportant des langages de développement plus simples notamment C# très inspiré du langage Java. 
Lors de la conception du framework .Net, Microsoft à commis certains erreurs qui ont fait qu'on arrive là où on est aujourd'hui :

  • Le framework .Net été totalement basé sur de nouvelles technologies, donc Microsoft n'a pas donné une possibilité de rétro-compatibilité avec l'API Win32, donc porter des anciens applications MFC vers la nouvelle architecture .Net été quasiment impossible.
  • Le framework .Net avais plusieurs avantages notamment l'environnement de développement Visual Studio riche en fonctionnalités et supportant plusieurs langages, mais l'architecture .Net était relativement loin en terme de performance de ce que donné les l'API Win32. A savoir que lors du développement de Windows 7, Microsoft était partie pour développer une nouvelle couche graphique basée sur l'API .Net, sauf que les résultats médiocres en terme de performances on obligés la firme a laisser tomber le projet pour re-développer la couche graphique en utilisant le vieux framework MFC qui été utilisé depuis plus que 20 ans.
  • Lors du développement de Windows 8, Microsoft a cherché une nouvelle solution : il n'est plus possible de continuer à utiliser un framework vieux de 20 ans, mais il n'est pas possible non plus d'utiliser .Net vu son manque de performance, donc Microsoft a été amenée a développer un troisième framework qui permet de regrouper les avantages des 2 précédents, il s'agit de WinRT, et c'est en utilisant cette API que Microsoft a développé la couche graphique de Windows 8 notamment la fameuse interface Metro.

Revenant au problème du bouton démarrer sur Windows 8, l'explication aux choix de Microsoft c'est qu'ils ne peuvent plus utiliser l'ancien menu démarrer développé avec l'API Win32, parce qu'il ne sera pas compatible avec le reste de la couche graphique Windows 8 développée en utilisant le framework DirectUI de l'API WinRT.
Par contre l'API Win32 est encore présente dans l'architecture Windows 8, ce qui permet d'exécuter les veilles applications développées en utilisant cette API.

Vous comprendrez mieux en lisant cet article que je trouve fort intéressant, et qui explique en détail les évolutions des API Windows et schématise leurs architectures, je vous invite à le lire :

jeudi 25 avril 2013

Développement de jeux mobile multi-plateformes : les frameworks



J'ai tenté l'expérience de développement de jeux Android il y'a plus que 2 ans, Pour développer mon idée j'ai utilisé à l'époque AndEngine, un framework Java de développement de jeux 2D pour Android.

Dans cet article je vais présenter quelques frameworks gratuits de développement de jeux pour mobiles, après une bonne recherche et comparaison de ce qui existe aujourd'hui.


AndEngine :

AndEngine est un très bon framework, qui offre tout ce qu'il faut pour  développer un jeu complet sans être forcément un pro du développement du jeu vidéo.

Les inconvénients majeurs que je trouve pour AndEngine :
  • la non portabilité, vous pouvez développer seulement pour Android
  • les tutoriels et documentations fournis ne sont pas suffisants pour maîtriser tout les aspects de développement d'un jeu.

En tant que développeur Java, je me suis posé la question : "Peut-on trouver un framework Java qui tire profit de l’interopérabilité du langage pour permettre le développement pour plusieurs plateformes ? "

Dans ce sens j'ai pas trouvé plusieurs solutions gratuites, mais il existe une : c'est LibGDX !

LibGDX :

LibGDX est une librairie 100% Java, open-source et gratuite pour le développement pour Android, Desktop (Windows et Linux) et Web via GWT.
Le seul hic, pour porter son projet sur iOS il faut compter 399$, mais bon d'après ma recherche je trouve aucune solution permettant de développer gratuitement pour iOS.
LibGDX est basé sur OpenGL, mais ne vous inquiétez pas vous aurez besoin que de peu de connaissance de l'API pour pouvoir développer avec LibGDX qui implémente la plupart de fonctionnalités nécessaires pour le développement de jeux.

Les points forts de LibGDX :
  • Génération automatique des projets Java pour les plateformes à cibler
  • Code open-source
  • Grande communauté de développeurs
  • Riche en documentation, tutoriels et exemples
  • Le framework a prouvé son efficacité sur des jeux à grand succès : Notamment le fameux Ingress et Appartus
  • Accompagné des outils comme la génération des packs de textures.
  • Intègre le framework de physics Box2D porté en Java.
Je vous laisse faire un tour sur le site pour voir quelles sont les possibilités offertes par la librairie, mais je vous assure qu'en tant qu'utilisateur je suis pas déçu !

Pour le développement mobile, il est important de prendre en compte la rareté  des ressources matérielles, et je pense qu'en terme de performance LibGDX s'en sors plutôt pas mal face aux autres frameworks concurrents, regardez ce benchmark :



CG DevKit :

Si vous êtes plutôt un développeur web et que vous maîtrisez bien JavaScript, je pense que CG DevKit vous conviendra parfaitement :
CG DevKit est une librairie de développement mobile multi-plateforme, entièrement en JavaScript, ce qui permet l’interopérabilité avec tout les OS.

Les points forts :
  • Open-source
  • 100 % JavaScript
Points faibles :
  • N’intègre aucune librairie "physics", par contre il est possible d'utiliser à coté la librairie Box2DJS qui est l’homologue en JavaScript du framework Box2D développé à la base en C++.

J'espère que cet article vous aidera a faire votre choix. A bientôt !

mardi 9 avril 2013

Ça vous dit un petit tour dans l'univers ?



Dans cette 
impressionnante animation, vous pouvez voyager dans l'univers d'une manière interactive et bien instructive. D'ailleurs je pense que les écoles doivent plutôt utiliser ces manières pour apprendre aux enfants d'une manière amusante les bases de l'astronomie.

Je vous laisse commencer votre voyage ici : The Scale of the Universe 2

mercredi 3 avril 2013

Apps Menu Widget : disponible maintenant sur plusieurs sites d'applications Android


Le site FILEDIR viens d'ajouter Apps Menu Widget Pro à sa liste d'applications Android.
Le lancement de l'application a commencé avec a peu près une vingtaine de téléchargements de Apps Menu Widget Free et un tout premier téléchargement de Apps Menu Widget Pro !
Par contre quelques modifications s'imposent pour améliorer la visibilité de l'application sur Google Play, qui pour le moment reste quasiment introuvable via la recherche...

Voici le lien vers Apps Menu Widget Pro dans FileDir :

Download Fast Launcher Pro / Android

Edit :

05-04-2013 :
Apps Menu Widget a été publié par le site français AndroidPIT, l'application est disponible ici, merci à eux !
06-04-2013 :
Apps Menu Widget a été publié par le site appszoom, la version Free est disponible ici, la version Pro est disponible également ici. Merci à eux !

lundi 1 avril 2013

Bitcoin : la monnaie virtuelle qui monte en flèche


Je me suis intéressé dernièrement à ce phénomène qui prospère sur le net depuis 3 ans : la devise des geeks Bitcoin.

Bitcoin est une devise électronique, qui comme n'importe quelle autre devise permet d'acheter des produits mais uniquement sur le net, il est possible également d'échanger les Bitcoin contre les autres devises courantes tels que l'Euro ou le Dollar. Il existe plusieurs sites qui acceptent les Bitcoin comme moyen de règlement, tels que le fameux Mega de Kim Dotcom.

Les Bitcoin sont sujettes au lois de marché de l'offre et de la demande, donc leur valeur change régulièrement.
Ce qui est impressionnant c'est la montée très rapide ces derniers mois de la valeur de Bitcoin d'une valeur inférieur à 10€ pour dépasser les 70€ ce mois ci (Aaaaaah quel occasion ratée !)
Sachant qu'à l'apparition des Bitcoin ça valeur était égale a quelque centimes d'Euro, voici l'évolution depuis 2011 :
DateCours en euros
7 février 20114,15 €
9 août 20115,36 €
2 octobre 20113,76 €
25 novembre 20111,83 €
10 décembre 20112,30 €
25 janvier 20124,34 €
3 août 20128,51 €
15 août 201210,84 €
22 octobre 20128,94 €
15 janvier 201310,97 €
15 février 201320,31 €
6 mars 201336,56 €
21 mars 201350,782 €
29 mars 201369,922 €

La différence la plus importante de Bitcoin par rapport aux devises connus c'est la décentralisation, il y'a pas une banque ou aucun organisme financier qui gère les Bitcoins, qui sont distribués via le réseau internet et P2P en reposant sur un protocole robuste.

Surement vous êtes entrain de se poser la question : Mais c'est quoi concrètement ces Bitcoin ?

Concrètement, il s'agit de blocs de données traités avec des systèmes de cryptographie, un Bitcoin est identifié avec une adresse sous le format suivant : 31uEbMgunupShBVTewXjtqbBv5MndwfXhb
Le protocole permettant de gérer les transactions en Bitcoin est basé sur un logiciel libre écrit en C++.
Les transactions sont basées sur des traitements volumineux de procédés cryptographiques réalisés d'une manière distribuée par les ordinateurs représentant les noeuds du réseau Bitcoin.

Comment les Bitcoins sont créés ?
Chaque jour des Bitcoins sont crées, jusqu'à ce que le nombre maximum de 21 millions de Bitcoins sera atteint.
La création de Bitcoins est réalisée par les membres du réseau et se base sur le concept "proof of work" ou "preuve de travail" : 
Il s'agit de participer au traitement de blocs de données en utilisant des algorithmes de cryptographie, ces traitements nécessitent une puissance de calcul colossale ! D'où le principe de preuve de travail...

Ce procédé s'appelle le Bitcoin mining, qui intéresse de plus en plus du monde  d'après ce que j'ai remarqué sur les forums. Mais il est loin d'être à la portée de tout le monde pour la simple raison qui pour faire de Bitcoin mining assez productif il faut avoir une configuration musclée.

Le matériel couramment utilisé pour faire le Bitcoin mining s'agit des GPU, qui permettent d'exécuter les algorithmes de hashage beaucoup plus rapidement que les CPU.
Il existe des logiciels pour débutants qui permettent de faire de mining sans trop bidouiller tels que BitMinter.

Alors en utilisant la GeForce GT 525M de mon laptop, j'arrive à faire environ 15 Mhps (Million hash per second), ce qui permet de générer approximativement 0.0011 Bitcoin/jour ! 


Donc en faisant un simple calcul si je laisse mon ordi allumé et je laisse BitMinter tourner toute la journée (GPU qui tourne a fond), en se basant sur la valeur actuelle du Bitcoin je génère une valeur d'environ 7 centimes (une somme négligeable non !).

Pour faire du Bitcoin mining rentable il faut construite une configuration basée sur plusieurs GPU tout en minimisant la consommation électrique, ce qui n'est pas forcément évident, vu la puissance que nécessite les GPU haut de gamme quand ils tournent en plein régime...
Voilà a quoi ça ressemble une configuration qui permet de générer environ 8 Bitcoins/jour (d'après son possesseur Chinois) :


Par contre je suis pas sûr que cette configuration est suffisante pour faire tourner Crysis 3 en ultra settings :P

mercredi 27 mars 2013

Battlefield 4 : 17 minutes de gameplay !


Depuis l'annonce officielle de Battlefield 4, on s'attendait à un petit trailer de 2 minutes nous présentant une belle cinématique du jeu, mais on s'attendait pas du tout a voir 17 minutes de gameplay de la compagne solo !

Alors j'écrit ce post juste après avoir regardé cette vidéo, et je suis agréablement surpris ! Je pensais que le contexte changera beaucoup par rapport à Battlefield 3 et que ça se passera dans un environnement futuriste, mais finalement dans Battlefield 4 on restera dans notre époque actuelle, où une guerre (déclarée ?) ce déroule entre les USA et la Chine, le jeu est réalisé avec la version 3 du fameux moteur graphique Frostbite où tout est amélioré par rapport a ce qu'on connais déjà dans Battlefield 3 : effets graphiques plus travaillés, destruction des décors, explosions et effets de particules améliorés, les sons encore plus réalistes, le tout rend le jeu plus jouissif et immersif !

Sans plus de blabla je vous laisse regarder la vidéo, et en plein écran 1080p svp !


Reste qu'à voir le multijoueur, notre prochain défouloir !

lundi 25 mars 2013

Apps Menu Widget : ma première application Android est en ligne

J'ai mis en ligne hier Apps Menu Widget un organisateur et lanceur d'applications qui se distingue parmi tout les autres lanceurs pour Android par sa légèreté et l'accès rapide aux applications Android par un seul clic sur le widget bouton.

L'idée de faire ce lanceur est à l'origine née d'un besoin personnel, quand je cherchais pour mon téléphone un lanceur d'applications simple et efficace permettant d'utiliser rapidement mes applications. Donc j'imaginais un widget ou un menu (du même genre que les menus d'applications dans Windows ou Linux) qui me permet d'afficher des catégories offrant un accès direct aux applications, et le top ça serai d'avoir la possibilité de modifier ces catégories et classifier mes applications moi même.

Aucun lanceur parmi ceux que j'ai testé sur Google Play ne répond à ce besoin, la plupart permettent seulement de changer le thème de la page d'accueil sans vraiment répondre aux besoin que j'ai évoqué.

Donc je me suis lancé dans le développement de mon propre lanceur d'applications Apps Menu Widget qui permet de répondre à ces besoins. Et je le met en ligne pour tout les gens qui ont le même besoin que moi !

samedi 23 mars 2013

Apps Menu Widget : Apps organizer with a widget menu launcher for Android


You need a simple and lightweight apps launcher ? An app that allow you to organize installed apps and make finding them easy ? You're tired of launchers who changes everything in your home screen and consumes a lot of space and battery life ? Apps Menu Widget is what you're looking for ! The best apps organizer with a very simple to use launcher widget for your Android phone.

Apps Menu Widget allows you to organize your Android apps and access them quickly through a menu that pops up on the home screen by a one click widget button. The advantage of Apps Menu Widget over other launchers is that it allows you to keep your favorite theme while offering the possibility of a full customization of the style of the widget.

Free version features :
Organize installed apps by categories using the apps organizer tool.
One click access to your apps through the menu widget in the home screen : up to 8 apps per category.

Pro version additional features :
Unlimited apps number per category in the menu widget.
Fully customizable categories : add, delete, rename and change icons.
Fully customizable menu widget : custom backgrounds color, text and transparency.

Please get Apps Menu Widget Pro version to support the developer. Thank you in advance !

For more information and user guide visit the Apps Menu Widget web page :
http://geek-playground.blogspot.fr/2013/03/fast-launcher-best-way-to-organize-and.html



Need Help ? Fast Launcher user guide


Facebook fan page : 

Demonstration video :




Screenshots :


 

 

Enjoy the simplicity !

Apps Menu Widget : User guide

You have downloaded and installed Apps Menu Widget Pro in your phone, there some tricks how to use it :

1- The first thing to do is to run Apps Menu Widget, then add the widget to your home screen, it's a small button that does not take much place :


When you tap on the widget button, the category and app list menu will appear allowing you to launch applications, if you change your mind just tap outside the menu to make it disappear.



2- There is 5 default categories created the first time you run Apps Menu Widget you can add, delete, rename and change the icons of this categories by long click on the category you want to edit.


3- Organize your applications by category, you can add and delete applications by long click on the category name you want to edit, check or unchek your applications then tap on save button to validate.


4- To change categories icons, long click on the category, you have to select a PNG icon from your Android file system, if you don't have any Android icons I suggest you :

  • Metro Station : This is a very good Android application allow you to create your own custom icons, i used this application to create icons for default categories.
  • 30 gorgeous icon packs : You can also download many free icon packs from this page, for the demonstration video and screenshots i used Blawb icon pack, i like this one !

If you have a mounted SD Card, the used icons will be stored in AppsMenuWidget directory.



5- To change the style of the menu widget, tap on menu button -> widget settings. You can change the widget backgrounds, selection and text colors and transparency. You can also enable or disable displaying category names on the widget.





















For more help you can also watch the demo video :




I hope this guide will be useful for you, I am at your disposal if you have questions or any suggestions, contact me on : ab.meher@gmail.com

mardi 12 mars 2013

Astuces Android : API de compatibilité Support v4

Parmi les questions essentielles dont on se pose lors de développement de notre application Android, est la question de compatibilité : comment faire pour que notre application fonctionne sur la plupart des versions Android ?

Dans cet article, vous trouverez un petit guide vous permettant de développer une application supportée par Android 1.6 ou plus !


1- Configuration du projet :


Lors de la création de votre projet, vous devez sélectionner les API Android ciblés, les correspondances entre API level et versions Android sont listées ici : Android API levels
Vous pouvez modifier ces paramètres a tout moment dans AndroidManifest.mf :

Exemple :
<uses-sdk
        android:minSdkVersion="7"
        android:targetSdkVersion="17" />

avec :
minSdkVersion : API de niveau plus bas supportée (ici il s'agit de API level 7 correspondant à Android 2.1)
targetSdkVersion : API de référence utilisée par l'IDE lors du développement du projet.

2- Importer l'API de compatibilité :


Si vous voulez bénéficiez des possibilités offertes par les nouvelles API Android, sans que vous sacrifiez la compatibilité de votre application avec les anciennes versions, la solution est l'utilisation de l'API de compatibilité support v4.

Voici comment importer l'API :




Vous verrez ensuite que android-support-v4.jar c'est ajouté à votre projet :




3- Utilisation de l'API Support v4 :


Plusieurs classes et méthodes sont apparus avec les nouvelles API Android, donc ils existent pas dans les versions précédentes, pour assurer la compatibilité vous devez remplacer les imports de ces classes par celles fournis dans l'API.
Vous verrez rapidement l'utilité dès que vous commencez à utiliser des Fragments tels que la classe DialogFragment.

Exemple Remplacer 
android.app.DialogFragment;
par
import android.support.v4.app.DialogFragment;

4- Limitations :


J'était très heureux qu'il existe une telle API, jusqu'au moment où j'ai pas trouvé un équivalent à la classe PreferenceFragment dans Support  v4 API, et là si on souhaite créer un écran de préférences pour notre application qui est basé sur les fragments on est bloqué !
Dans ce cas la solution que j'ai adapté c'est de créer 2 activités : une implémentant PreferenceActivity qui est destinée pour les API level 10 ou inférieur et une autre pour les API level 11 ou plus implémentant PreferenceActivity et qui instancie à l'intérieur un inner class PreferenceFragment.

Voici le code source :





Pour lancer la bonne activité il suffit de tester sur la version d'Android comme suit :



Il est possible qu'en testant votre application sur l'API level 4 (Android 1.6 Donut) vous rencontrez des problèmes, ceci est dû au faite que les versions d'Android inférieures à 2.1 plantent quand il y'a dans votre classe des appels à des méthodes non existantes dans l'API 4, même dans le cas où vous faites pas appel à ce code, donc inutile de tester sur la version d'Android parce que votre application plantera dès que la classe est chargée dans la mémoire ! C'est triste non ?
Mais ne pleurez pas, ce problème disparaît à partir de l'API level 7, et surtout quand on vois qu'il reste uniquement 0.2% des terminaux qui tournent sous Android 1.6, finalement on se rend compte que la perte en terme de compatibilité est négligeable, vous pouvez voir ces statistiques ici :



J'espère que cet article vous sera très utile, à bientôt !

vendredi 8 mars 2013

Supériorité Aérienne : le nouveau mode de jeu de Battlefield 3




Les joueurs de Battlefield 3 sur PS3 on eu la chance cette semaine de jouer avant tout le monde sur les nouvelles maps du DLC End Game, qui se manifeste par de nouveaux véhicules notamment les Dirt Bikes, et surtout son nouveau mode de jeu Supériorité Aérienne ! J'écrit ce message après 2h de jeu sur ce nouveau mode que je me suis vraiment éclaté dessus !

La Supériorité Aérienne est semblable au mode conquête mais tout se passe dans le ciel, donc les seuls véhicule disponibles sont les avions de chasses. 
Si votre avion prend feu, ne cherchez pas à s'éjecter, eh oui on est de retour à l'époque des avions Kamikaze de la 2 éme guerre mondiale où les sièges éjectables n'existent pas sur les avions de combat :P

Les drapeaux à capturer sont présentés par des Zepplin (Ballon dirigeable), donc pour les capturer il faut évidemment s'approcher de ces Zepplin avec son Jet.

Voilà de quoi il s'agit :




mardi 5 mars 2013

Astuces Android : Task Affinity

Pendant que je développe ma première application Android, je partagerai avec vous quelques astuces que je trouverai bien utiles et qui peuvent vous faire gagner des heures de recherche.

Cette fois je vous parlera des Tasks, qui, quand on débute sur Android il est pas évident de comprendre comment ils se comporent.
Tout d'abord, Les Tasks dans Android sont des groupes d'activités qui appartiennent a une ou plusieurs applications.

Problème :
Les Tasks sont importants surtout dans le cas où vous développez une application qui gère 2 ou plusieurs activités. Par défaut, toutes les activités que sont instanciés par votre application appartiennent au même et unique Task qui porte comme identifiant le nom de package de l'application, ce comportement par défaut peut provoquer des problèmes dans certains cas précis.

Exemple : dans le cas où on a une MainActivity qui consiste dans notre activité principale et une WidgetActivity qui est lancée par le Widget de notre application. On veut que les 2 activités soient totalement indépendantes, mais en faisant le test j'ai remarqué que lorsque les 2 activités sont en arrière plan, la relance de la WidgetActivity fait apparaître MainActivity au même temps ! Ceci est dû au faite que les 2 appartiennent au même Task.

Solution :
Dans le AndroidManifest.xml vous utilisez l'attribut android:taskAffinity
Cet attribut permet de grouper les activités comme on le souhaite, pour l'exemple que j'ai donné il suffit d'ajouter au WidgetActivity l'attribut android:taskAffinity="", ce qui permettra à notre WidgetActvity de lancer dans un Task a part.
Dans le cas où on veut grouper plusieurs activités dans le même Task on ajoute l'attribut à ces activités avec la même valeur pour les activités appartenant au même Task. (exemple : "task1" pour "Activity1" et "Activity2"; "task2" pour "Activity3").

J'espère que ce petit article vous permettra de gagner du temps, à bientôt !

samedi 23 février 2013

Google Glass : la réalité augmentée aux commandes vocales

Ça fait maintenant un moment que Google nous ont présenté leur nouveau gadget de réalité augmentée : Google Glass.



La dernière vidéo montre que les fonctionnalités de ces lunettes High-Tech sont utilisables via des commandes vocales, il suffit de prononcer "OK Glass" suivi de la fonctionnalité qu'on souhaite utiliser : "Take a picture" ou "Record a video", très pratique !
Je vous laisse voir la vidéo :


Il est également possible d'enrichir les services de base qui seront fournis par les lunettes de Google via le développement d'applications, ce qui m'intéresse particulièrement en tant que développeur, je suis très curieux concernant le SDK Google Glass, quels sont les API et l'IDE utilisé ?

Jusqu'au moment on trouve pas beaucoup d'informations sur le kit de développement baptisé Google Glass Explorer, qui, pour mettre la main dessus il faut faire une demande auprès de Google et déboursé la somme de 1500$ quand même.. Donc Google fournis au développeur en plus du SDK une "Unité de test", le tout baptisé "Google Glass Explorer Edition unit" :




On sais également que les Google Glass peuvent communiquer avec les appareils Android.

Personnellement je suis très curieux par rapport a ce gadget tout en espérant qu'il sera plus accessible en terme de prix lors de sa sortie.

jeudi 21 février 2013

La Playstation 4 enfin annoncée !

Vu comment le net s'enflamme depuis l'annonce de la PS4 par Sony la nuit dernière, je dédie un article a cette console qui sera sans doute la digne successeur de ma PS3 :)

Donc commençons par le plus important : les spécifications technique de la machine ! voici la configuration hardware de la console aussi proche que jamais de l'architecture d'un PC :

 

La console en elle même n'a pas été dévoilée ce qui est un peu décevant, mais on a vu le pad ainsi que la Playstation Eye qui sera incluse d'office dans la PS4. Le plus par rapport à la Dulashock 3, la Dualshock 4 permet à l'instar de la PS move la reconnaissance de mouvements, sur le nouveau pad on trouve aussi une surface tactile qui remplace les boutons Start et Select, ainsi qu'une prise casque et un micro intégré.























Une nouvelle tendance a été mise avant pendant toute la conférence c'est que Sony a présenté la PS4 comme une console "sociale" où on peut tout partager notamment les vidéos de gameplay ce qui sera plutôt agréable sachant que pour enregistrer des vidéos sur la PS3 il faut être équipé d'un PVR ce qui est pas donné vu le prix qui dépasse les 100€.

Et pour finir voici les nouvelles fonctionnalités qui serons supportées par la PS4 :

- Plus d’attente pour jouer à un jeu : vous pourrez commencer à jouer pendant les installations de votre jeu.

- Utilisation de la PS Vita pour continuer à jouer loin de l’écran télé : on pourra désormais continuer notre partie en allant aux toilettes ! (C’est la classe)

- Tous les anciens jeux Playstation disponibles via le Cloud : De la PS1 à la PS3, les jeux seront disponibles en ligne.

- Lien entre les consoles : vous pourrez accéder aux parties de vos amis et les aider en ligne depuis chez vous sans même posséder le jeu auquel ils jouent.

- Le partage des données en ligne : il sera possible de partager ses vidéos de jeu en streaming, soit en ligne, soit juste pour ses amis.

- Des économies d’énergie : la console sera capable de se mettre en veille et de se rallumer sans perdre les données de jeu en cours.

Tout ce qu'on a vu jusqu'à maintenant est plutôt prometteur, en attendant de nouvelles informations sur notre futur joujou de salon ;)