Pour celles et ceux qui ne le sauraient pas, j’ai développé une application Android permettant de contrôler les lumières Philips Hue et Nanoleaf Aurora. Si tu possèdes un tel matériel à la maison, alors tu peux jeter un oeil au projet sur la page hueandme.ch.

Ce programme est développé en WinDev Mobile, et utilise pour certaines fonctions avancées un peu de code Java.

Désireux d’augmenter la compatibilité avec d’autre matériel, je me suis attaqué aux lumières connectées Ikea Trådfri. Le problème est que ces dernières n’utilisent pas le protocole JSON RESTful comme toutes les autres, mais un obscur concurrent appelé CoAP (Constrained Application Protocol), léger et rapide mais complètement bordélique à implémenter.

Léger parce que tout est encodé bit par bit, l’entête par exemple ne fait que quatre octets. Rapide car en plus d’être léger il utilise le protocole UDP. Et bordélique pour ces deux raisons.

Si tu as le courage (ou la folie) nécessaire tu peux aller lire la RFC 7252 via le site coap.technology.

Bref, aujourd’hui je vais donc te montrer comment utiliser le protocole CoAP depuis WinDev Mobile, après des heures d’arrachage de cheveux à comprendre comment faire. Si tu as un souci avec le sujet présenté ici alors pose ta question dans les commentaires de cet article, il est inutile d’aller te prendre un vent sur les forums d’aide de PC-Soft.

Lire la suite  

, , ,    

Le langage de programmation Java est de nos jours fortement utilisé dans de nombreux périphériques fixes ou mobiles. C’est un langage dit « objet » (je t’expliquerai peut-être un jour) qui a grandement évolué depuis sa création en 1995, pour être finalement racheté en 2009 par Oracle, qui depuis lors ne cesse d’intenter des procès à toutes les entreprises qui l’intègrent.

De là à dire qu’ils n’ont racheté Java que dans ce but, il n’y a qu’un pas à franchir.

Sur le site officiel on peut lire un pamphlet promotionnel qui te bourre le crâne de chiffres statistiques.

Java équipe plus de 4,5 milliards de périphériques, notamment :

– plus de 800 millions de PC
– 2,1 milliards de téléphones portables et autres périphériques de poche (source : Ovum)
– 3,5 milliards de cartes à puce
– Des décodeurs, des imprimantes, des webcams, des jeux, des systèmes de navigation automobile, des terminaux de loterie, des appareils médicaux, des bornes de paiement de parking, etc.

Parmi les deux milliards de téléphones portables précités, une bonne partie tourne sous Android, le système mobile de Google.

Le fait incroyable étant qu’Oracle a justement déposé une plainte contre Google, leur réclamant la bagatelle de 2,6 milliards de dollars de dédommagements pour violation de brevet quant à l’utilisation de Java par Android.

En d’autres mots, Oracle met en avant l’utilisation massive de son produit, tout en portant plainte contre ceux qui l’utilisent.

Et ils n’ont visiblement pas honte de cette situation, en témoigne leur publicité qui se poursuit même sur les écrans d’installation.

Les mauvaises langues diront que si Oracle passait plus de temps à améliorer ses logiciels plutôt qu’à intenter des procès contre tout le monde, leur base de données ne serait probablement pas autant à la traîne derrière les autres.

Oups, je l’ai dit.

Source : java.com
, , ,    

En tant que développeur professionnel je passe la majeure partie de mon temps sur Windev de PC Soft, un environnement de programmation gaulois très complet et agréable à utiliser. Le langage de programmation est propriétaire et se nomme W-Language, il présente l’avantage d’être de cinquième génération et évite ainsi de perdre de nombreuses et fastidieuses heures à recréer la roue, comme on dit.

Un des points forts de cet environnement est la capacité de pouvoir exporter ses projets dans d’autres langages, tel Java, permettant ainsi de s’affranchir de Windows.

Chaque année sort une nouvelle version avec son lot de nouveautés, et cette année c’est le gros big bang salivaire, la future version 15 affiche une nouveauté très intéressante.

C’est la technologie d’exportation en Java qui sera utilisée pour permettre l’exécution sur Android, la vitesse ne sera donc à priori pas optimale et seules deux cent cinquante instructions du W-Language seront utilisables, du moins lors de la sortie. Il faudra de plus obtenir la version Windev Mobile 15 (différente de Windev 15 standard) et donc mettre un peu plus la main au porte-monnaie.

Cela reste toutefois un joli pas en direction d’Android, ne reste pour les développeurs plus qu’à espérer que malgré la prétendue crise leurs chefs de projets auront un budget pour la mise à jour.

, , ,