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 !