Mercredi dernier avait lieu l’Android Party #3 dans le tout jeune Café numérique, qui justifiait déjà son importance et son utilité. L’événement était rehaussé par la présence d’un invité de marque en la personne morale de Belgacom. Le magnifique mock-up de leur future application Android ayant été fait avec des captures d’écran d’iPhone, j’étais déjà d’humeur particulièrement guillerette. Quand ce tweet a fini par défiler derrière l’un des marketing droid de Belgacom durant sa présentation, j’ai beaucoup ri. Vous pouvez retrouver la présentation d’Édouard sur Android sur le site du Café numérique mais je laisse à Yann le soin de vous raconter la suite de la soirée et le débat à fleurets mouchetés qui suivit.
 « eMich s'adressant au peuple », pixels sur iPhone, style pompier
Heureusement, c’est nimbé de lumière que Michaël – le deuxième blogueur belge le plus influent – nous a parlé du développement d’applications Android. Sa présentation était très convaincante. Il nous a montré une petite application développée en une soirée (avec sans doute du café et une loveuse compréhensive). Vous pouvez constater dans son dernier article qu’il n’a pas chômé puisque l’application Villo présentée ce soir là a donné naissance à VilloHelper, une carte Google personnalisée avec les emplacements et les places disponibles.
Si les mots programmation orientée objets et model-view-controller ne vous disent rien, il y a fort à parier que vous ne terminerez pas ce paragraphe. En gros, l’environnement de développement de Google pour Android ressemble beaucoup à l’environnement d’Apple pour iPhone. Il est cependant basé sur la plateforme ouverte Eclipse et la plupart du code est constituée de Java et de XML. Le SDK Android dispose aussi d’un émulateur, de possibilités de remote debugging et de tout un tas de bibliothèques permettant d’accéder aux fonctionnalités des téléphones et de l’OS. Le gros avantage par rapport à l’iPhone, c’est qu’en utilisant Java et Eclipse, le SDK permet de réutiliser beaucoup de code et de savoir-faire. C’est clairement un bon moyen de faire baisser le coût d’entrée dans le monde du développement d’applications embarquées, sport qui n’était naguère pratiqué que par des happy few.
Suite à la sortie en Belgique du nouveau smartphone HTC Magic basé sur le système Android de Google, mes amis geeks ont organisé un chouette concours de bites. Comme d’habitude, c’est celui qui a la plus grosse qui gagne, alors : votez pour moi !
Rendez-vous le mardi 23 juin au Café Central (Bruxelles) à partir de 19h.
On vient de me poser la question suivante :
Y a-t-il une méthode « safe » pour désimlocker et débloquer les iPhones et iPod-touch ?
Comme la réponse intéressera sans doute le quidam moyen, je la mets ici.
~*~*~*~*~*~*~*~*~*
Safe, c’est vite dit. Ca dépend pourquoi…
Les procédures sont semblables pour l’iPhone et l’iPod Touch, à part pour le désimlockage, qui ne concerne que les GSM.
- Pour jailbreaker simplement un iPhone, c’est-à-dire pouvoir installer des applications sans passer par l’iTunes Store et pouvoir installer des petits hacks, il y a quelques solutions :
- La plus simple mais très basique, c’est un logiciel nommé Pusher (Win et Mac), qui donne accès à un installeur alternatif sur l’iPhone nommé Installer.app.
- Nouveau : InstallerApp, un programme (payant) qui permet l’installation sans jailbreak ;
- Ensuite il y a QuickPwn (Win et Mac), qui prépare un nouveau firmware à partir du logiciel officiel d’Apple. Il nécessite de restaurer complètement le téléphone (sauvegardes indispensables) mais donne accès à Cydia, un front-end pour apt-get) et une tonne de hacks et d’applications non-officielles.
- Enfin, il y a PwnageTool (Mac only), de la même équipe que QuickPwn, qui donne un plus grand contrôle sur la procédure de jailbreak. A réserver aux spécialistes.
Les toutes dernières versions de QuickPwn et PwnageTool sont disponibles sur le blog de l’équipe DevTeam.
- En ce qui concerne le désimlockage, c’est-à-dire déverrouiller le téléphone et lui faire accepter une carte SIM non-prévue, c’est plus compliqué. Pour le moment, il faut impérativement utiliser PwnageTool. Les informations sont sur le blog, ça marche bien (aucun risque de casser quelque chose) mais c’est un peu compliqué :
- La mise à jour 2.2.1 officielle d’Apple empêche le désimlockage par yellowsn0w, la seule méthode disponible aujourd’hui. Il faut donc empêcher cette mise à jour de modifier le baseband, c’est-à-dire le logiciel du contrôleur GSM de l’iPhone.
- En utilisant PwnageTool, il faut donc préparer une mise à jour spéciale qui ne touche pas au funeste baseband.
- Finalement, on peut installer yellowsn0w directement depuis le téléphone grâce à Cydia.
Des questions ?
J’ai créé une nouvelle catégorie « Délices » qui reprend tous les jours mes derniers signets del.icio.us. J’utilise pour cela Digest Post, un plugin WordPress primitif et qui a furieusement besoin d’une petite mise à jour. Ça tombe bien, il utilise la licence GPL, je sens que je vais l’améliorer d’ici peu : ajouter un commentaire à chaque lien en récupérant les notes et les tags, par exemple…
Enfin ! On l’attendait depuis longtemps mais il semble bien que Sun daigne enfin consacrer quelque effort au portage d’OpenOffice sur Mac. Deux ingénieurs vont rejoindre l’équipe bénévole et contribuer au portage vers le Mac. Le personnel de Sun constitue encore le gros de la troupe des développeurs de la suite bureautique. Ils ont aussi beaucoup d’expérience dans le développement du mammouth OpenOffice. Les deux nouveaux en ont apparemment un peu moins dans le développement Mac. On attend avec impatience de voir ce qui en sortira. OpenOffice sortira peut-être bientôt de l’état de prototype dont j’ai déjà parlé…
J’ai réussi à compiler l’outil de test SvTool. Celui-ci permet d’afficher les contrôles utilisés dans OpenOffice, comme les listes déroulantes, le sélecteur de fichier, etc. Voici un exemple de l’état du portage sur Mac OS X pour le moment :

Bon, c’est vrai. Le fond gris ne rend pas l’image très réjouissante. Mais c’est encourageant.
[french]Une petite présentation des outils utilisés pour ce blog. D’abord WordPress, un moteur de blog assez puissant et rapide à configurer. Il vous suffit d’avoir un serveur web avec PHP et une base de données MySQL, comme chez OVH qui m’héberge pour une somme modique. La configuration de base est simplissime et consiste à remplir quatre lignes dans un fichier texte d’après les informations fournies par votre hébergeur ou selon votre configuration si vous aimez entretenir un serveur web (chacun ses vices) :
- le nom du serveur de base de données ;
- le nom de la base sur le-dit serveur ;
- un nom d’utilisateur ;
- un mot de passe.
Parmi les plug-ins indispensables à WordPress, j’en cite deux pour l’instant :
- Akismet est un filtre anti-spam pour les commentaires ;
- jLanguage pour faire des billets polyglottes comme celui-ci.
Il ne reste plus qu’à écrire des choses intéressantes. Et puis changer cet affreux thème par défaut ![/french]
[english]Here are the tools I use for the moment to publish this blog. First things first, WordPress is my blog engine of choice. It is easy to configure, use and modify. You just need a web server with PHP and a MySQL database. I just use OVH hosting, which is efficient and cheap, and because I’m lazy and maintaining your own webserver ceased to be cool in 1995. The WordPress initial configuration only requires four lines of text in a file:
- database server address;
- database name;
- user name;
- password.
Too simple
Among the must-haves in the huge WordPress plug-ins directory, I recommend at least:
- Akismet to filter comment spam;
- jLanguage for multilingual posts, like this one.
The only thing left to do: write something interesting! And change that ugly default theme.[/english]
Après un peu moins de 24 heures de compilation (j’espère que ccache fonctionne bien), j’ai enfin obtenu un binaire… qui fonctionne. J’ai même une preuve :

Maintenant, au boulot ! Je veux dire mon vrai métier, OO attendra ce soir.
P.S.
L’installation télécharge également expat, curl, fondu, python, etc. Le répertoire des sources après une compilation complète pèse la bagatelle de 6 Go, et encore pour seulement deux langues. Much ado…
[jLanguage default="french"][french][/french][english][/english][french]Je tente de compiler le port pour Mac OS X d’OpenOffice. Toute la documentation est sur le Wiki, fort bien fait d’ailleurs. Pour l’instant, pas de problème. La première remarque, c’est la quantité industrielle de dépendances qui sont empilées sur le CVS :
- une version de make appelée dmake, abandonnée depuis longtemps ;
- BerkeleyDB 4.2 ;
- Boost (vous prendrez bien un peu de Python ?) ;
- libXML 2 ;
- libegg ;
- freetype 2 ;
- BeanShell (un petit café pour faire passé l’indigestion ?)…
Et j’en passe et des meilleurs ! Il ne doit manquer qu’une version 1.x du noyau Linux et tout le CPAN archivé en 1999… Il paraît que certains mettent 24 heures à compiler la bête. La nuit sera longue.[/french]
[english]I am trying to compile OpenOffice on my Mac. The documentation is available on the wiki. It works as advertised and I obtained a binary… after almost 24 hours of compilation. The total amount of data is 6 Gb. It is huge and there are dozens of dependencies. That includes Python, BerkeleyDB, freetype, libxml2…[/english]
Mono
Je dois confesser que je n’ai pas eu le courage de me lever ce matin pour assister aux premières sessions. Je suis arrivé à 14 h pour la conférence de Miguel de Icaza sur Mono. Les progrès sont considérables. Ils ont maintenant un outil d’aide à la migration (Moma) qui analyse le code d’une application écrite pour Microsoft .Net, fait un rapport sur les fonctionnalités utilisées qui ne sont pas encore implantées dans Mono et envoie tout ça sur un serveur Web. Ils ont ainsi obtenu des statistiques sur 1500 applications et ont maintenant de quoi organiser les priorités pour le développement de la compatibilité .Net/Mono. Ils ont les moyens de supporter plus de la moitié des applications .Net sans modification. Un autre tiers avec une bibliothèque de compatibilité et un peu de réécriture. Restent 20 % qui sont indécrottables et trop liés à la plate-forme Microsoft. Le plan de domination du monde se déroule donc sans accroc. Ça, c’était pour la partie « Business Applications ».
Dans la catégorie ludique. Il nous a également montré un gadget électronique (un smartphone, je crois) qui tourne entièrement sous Mono. La machine virtuelle Mono est également embarquée dans le jeu Second Life. Le langage de script LSL utilisé pour donner vie aux objets du jeu est compilé vers CIL, le langage commun à .Net/Mono, avec des gains en performance appréciables (on se demande comment ils faisaient avant, les gars de chez Linden Labs). Mono est également embarqué dans un framework de développement de jeu appelé Unity, malheureusement on a eu le droit qu’à une vidéo.
On notera enfin une petite erreur sur un des premiers slides : OCaml est un logiciel libre et non pas propriétaire, il est basé sur Caml Light qui avait déjà une machine virtuelle interprétant du byte-code à l’époque où ça n’était pas encore la mode (il y a plus de 15 ans) et surtout, OCaml bat Mono à plate couture en terme de performance.
Portage d’OpenOffice.org sur Mac OS X
Éric Bachard a présenté (malheureusement trop rapidement) les enjeux du portage vers Mac OS X durant un lightning talk. Il faut avoir le coeur bien accroché pour mettre les mains dans le code d’OpenOffice. Il y a 150 modules avec une forte dépendance, du code vieux de vingt ans (si si), du C++ (surtout) mais aussi du Java, du C, du Perl… Il y en a pour tous les goûts. La tâche est immense mais les progrès sont là. Ils cherchent des volontaires.
Optimisation d’application
Federico Mena Quintero, en plus d’être un gars bien sympathique, s’est fait le chantre de l’optimisation des applications. Son credo, c’est la mesure systématique des performances. Systématique au sens de scientifique. On fait un ensemble de mesure. On optimise un truc. On fait une nouvelle mesure… C’est fastidieux mais c’est le seul moyen d’améliorer les choses pour l’utilisateur, car plusieurs secondes de gagnées sur une opération ont un impact direct sur l’utilisabilité et l’ergonomie.
|
|
|
Commentaires récents