Webcam Intrusion Detector

mars 9th, 2010

icone128

Cela faisait bien longtemps que je voulais tester AIR. Je viens donc de me lancer dans le développement d’une petite application WID pour Webcam Intrusion Detector.
Son principe est assez simple, WID permet de transformer son ordinateur et sa webcam en alarme domestique.

L’interface est pour l’instant très sommaire et l’étendue des fonctionnalités restreinte mais on retrouve :

  • un clavier virtuel pour saisir le code,
  • un écran pour représenter un aperçu de la caméra,
  • et un indicateur de mouvement

L’utilisation est elle aussi très simple puisqu’il suffit de saisir un code pour armer notre système et ce même code pour le désarmer . En cas d’intrusion, l’alarme se déclenchera. Bien entendue nous avons un délai avant l’armement et le déclenchement de l’alarme, fixé à 30 secondes.

wid-screen

C’est une première version que je compte bien améliorer rapidement. J’ai d’ailleurs déjà dressé une première liste des prochaines évolutions :

  • écran de configuration pour régler le volume, le delai d’armement, et la sensibilité du capteur de mouvement
  • un son meilleur,
  • capturer et enregistrer la scène en cas d’intrusion,
  • avertir l’utilisateur par mail d’une intrusion,
  • une application androide pour piloter son alarme (à préciser)

Je vous invites à essayer la bête, la critiquer, faire part de vos remarques ainsi que de vos souhaits d’amélioration.

Télécharger WID

Tient, le fond de l’air est frais

février 15th, 2010

Cette nuit Adobe à annoncé à l’occasion du Mobile World Congress, la sortie de son runtime AIR sur Android pour la fin de l’année.
Et voilà une nouvelle trés exitante car les outils de dev et une version beta devrait etre disponible sous peu, et me permettre ainsi de coder mes propres appli en flash pour mon telephone :)
Comme dirait un certain H.Simpson « wouh pinaise » :)
D’autant que la VM utilisée est « very fast and is highly optimized for low cpu and low memory conditions » avec un support de l’accélération hardware meilleur que sur desktop. Ce qui n’est pas trés difficile vu qu’il est quasi inexistant sur pc. 8)

ALCHEMIST_1

Et pendant ce temps à Vera Cruz, Apple ne supporte pas le flash…

Intégrer de la doc dans eclipse

janvier 17th, 2010

eclipse_bckgr_logo_dt_smEn ce moment je travail sur un projet Flex/J2EE qui nécessite l’utilisation de FlexUnit pour les tests unitaires, le Flex SDK 3.4, et Sandy 3.1 pour le moteur 3D.
Ces outils possèdent tous leur documentation sous la forme d’une javadoc. C’est bien sympa mais je voudrais les rassembler dans celle d’eclipse pour d’une part pour les avoir toujours sous la main, et d’autre part pour conserver un environnement de développement homogène.
Nous allons donc voir comment intégrer ces docs dans eclipse…
Read the rest of this entry »

Développer en Flex sous linux

novembre 27th, 2009

CrystalXP-Tux5

Adobe vient de sortir sur le labs, l’alpha 5 de son IDE Flex Builder pour Linux. Cette version n’apporte rien de plus par rapport à la version précédente mais prolonge sa date d’expiration à la fin 2010.

Cette démarche ne montre en rien l’intérêt d’Adobe pour un IDE sous Linux, elle ne fait qu’empêcher une application de mourir puisque l’alpha 4 se terminée au 1er décembre.
En effet, alors que Flash Builder va bientot sortir sur windows et mac, aucunes annonce n’a été faite pour une version linux. Pire encore, les quelques informations que l’on peut glaner sur la toile, tendent à nous faire croire à un abandons des développements.

Ceci dit, si comme moi vous développez sous linux, développer en Flex est tout à fait possible. L’alpha5 de Flex Builder 3 fonctionne trés bien. Certe il manque des choses importantes comme le debugger, le designer, et les wizards, mais ça n’est pas bien grave, on s’en passe trés bien B-)

Ensuite il existe un autre plug-in pour éclipse permettant de développer en Flex de façon peut être encore plus efficace. Il s’agit de FDT 3.5. Depuis maintenant 5 semaines j’ai migré mon IDE sous FDT et ça déboite. La version actuelle est pour l’instant encore en bêta et offre un support du mxml limité mais ce n’est qu’une question de temps. La bêta 2 annoncée prochainement prévoit déjà un support plus complet.

De l’utilisation d’un framework

novembre 2nd, 2009

De part ma fonction, il m’arrive souvent d’avoir à intervenir sur des applications déjà en développement. Lors de la présentation technique j’entends de plus en plus d’architecte me dire avoir utilisé tel ou tel framework comme PureMVC ou Cairngorm en Flex, ou encore Spring MVC et Struts pour le partie Java.
En soit ça ne me pause aucun problème puisque se sont presque tous de bon framework.
Mais là où ça coince c’est quand je demande pourquoi, et que l’on me répond « parceque c’est bien » ou « parceque ça ce fait beaucoup » ou encore « on ne sait pas bien, celui qui a décidé ça n’est plus là« .
Je trouve ça incroyable et le plus fort c’est que ça arrive très souvent.
Mon point de vue sur l’utilisation d’un framework est le suivant. Ne s’en servir que si on en a besoin. Ça à l’air con comme ça, mais beaucoup de projet prennent le problème à l’envers et imposent l’utilisation de framework avant d’en avoir besoin.
C’est la même chose avec les pattern. Combien de fois j’ai vu un développeur me présenter fièrement le dernier pattern qu’il venait d’utiliser et incapable de me dire la raison de son choix, à part un « parce que c’est cool, ça le fait grave«   8-O .
Et bien non, un pattern est une solution à un problème, pas une mode ni un effet de style. De la même façon, un framework est là pour répondre à un besoin induit par l’application. Le fait d’imposer un framework a souvent un effet pervers, celui d’augmenter l’entropie du projet et le rendre impossible à maintenir.

Un comble…

Retour sur l’agilité

octobre 30th, 2009

L’édition 2009 de l’Agile tour vient de se terminer à Bordeaux.
Cette session a réussi à réunir pas loin de 150 intervenants locaux. Pas mal pour une première :)
J’ai été ravi de voir que les mentalités changeaient et que de plus en plus d’entreprises osaient franchir le pas et adoptaient les méthodes agiles.
C’était l’occasion d’assister à d’excellentes conférences sur les pratiques agiles de gestion de projet comme Scrum, Lean, ou encore XP.
Nous avons eu droit également à des ateliers très intéressants et des retour d’expériences sur l’utilisation de l’agilité.
Un grand chapeau donc à l’équipe chargée de l’organisation de la manifestation qui s’est bien occupée des participants, mais aussi aux intervenants pour nous avoir partagé leurs connaissances en la matière.

UPDATE :
Les vidéos des sessions sont disponibles ici.

L’Audit de code

septembre 8th, 2009

Adobe vient d’inclure sur son portail opensource un nouvel outil FlexPMD.
Celui-ci permet d’audit le code d’une application Flex et de produire un rapport au format XML. Ce rapport est structuré de telle sorte qu’il puisse être lu par n’importe quel outil de reporting PMD comme Hudson. Mais pour l’occasion Adobe a eu la bonne idée de fournir un analyseur développé en Flex et disponible en ligne,  le Adobe Flex PMD Violation Viewer.

FlexPMD est une collection de jar qu’il suffit d’embarquer dans son classPath et qu’on peut piloter très simplement depuis ANT comme ceci :

<taskdef name= »flexPmd » classname= »com.adobe.ac.pmd.ant.FlexPmdAntTask » classpathref= »java.classpath »/>

<!– ======================== –>
<!–                             PMD                                    –>
<!– ======================== –>
<target name= »flexPMD » description= »analyse du code flex »>
<flexPmd
sourceDirectory= »${flex.src} »
outputDirectory= »${basedir}/bin/pmd »/>

</target>

Nouvelle partie

juin 22nd, 2009

Une nouvelle partie d’Expantion vient tout juste de débuter. Celle-ci est encore basée sur la V1, car la prochaine version n’est pas encore prête.

Pour ceux que ça intéresse, je peux vous envoyer le code VIP.

http://www.expantion-online.com

Tutorial 4 : Configuration

avril 8th, 2009

La capacité de notre microarchitecture à rendre une application aisément configurable au runtime, est une des pièces maitresses de celui-ci. Proposer une application configurable à chaud, répond à une problématique bien précise. Celle de pouvoir modifier certains paramètres de celle-ci sans avoir à demander l’intervention d’un développeur, ni de recompilation.
Pour bien comprendre de quoi il retourne, prenons l’exemple d’une application comme Photoshop. A son lancement, vous avez tous remarqué cette jolie image vous invitant à patienter le temps du chargement des ressources nécessaires à son bon fonctionnement. Car ici, vous imaginez bien que Photoshop, comme la grande majorité des applications professionnelles, n’est pas compilé dans une version pour chaque langue, utilisateurs, résolution d’écran, etc…
Et bien notre Framework vous propose une solution simple pour mettre en place ce système dans vos applications Flex.
Read the rest of this entry »

Tutorial 3 : Le Remoting

janvier 26th, 2009

Le remoting (Remote Procedure Call) est un protocole de communication client serveur, qui utilise généralement des objets au format AMF. Aujourd’hui nous allons nous aventurer un peu plus profondément dans les méandres de notre Framework pour voir ce qu’il propose en matière de gestion de la communication client <-> serveur via le remoting.
Read the rest of this entry »