Leap motion une nouvelle façon de prendre le contrôle !

Ce lundi 21 mai 2012 la startup Leap, vient de nous dévoiler son dernier petit bijou de technologie !
Ce petit boitier va vous donner le pouvoir de prendre le contrôle de n’importe quel pc ou télé du bout des doigts, avec une fluidité et une précision sans précédent !

La vidéo parle d’elle même :

http://www.youtube.com/watch?feature=player_embedded&v=_d6KuiuteIA

 

Ce boitier sera disponible à partir de Décembre 2012 pour la somme de 70$ soit environ 55 € ! vous pouvez bien sur pré-commander votre nouveau GeekToys sur le site officiel :

https://live.leapmotion.com/order.html

Simuler la souris, le clavier ou contrôler les fenêtres des autres applications en Adobe Flex AIR

botAujourd’hui je vais vous présenter brièvement ma nouvelle librairie AIR qui permet entre autres de prendre le contrôle et de simuler un clavier, une souris sous Flex  AIR.
Ces fonctions peuvent s’avérer très utiles lorsque vous créez des programmes pour automatiser certaines tâches du quotidien, en d’autres termes la création de « Bot ».

Cette class est à peu prêt l’équivalent de la class Robot en java.

  1. Commencez par créer un nouveau projet AIR.
  2. Ajoutez dans « properties > Flex build path > Library path » le fichier Robot.swc
  3. Placez l’exe pbot.exe à la racine de votre projet.
  4. Créez un objet de type Robot
  5. Appelez les différentes fonctions de l’objet tel que setClick, setKey, …

Procédure d’installation de la démo :

  1. Téléchargez l’installation ci-dessus.
  2. Installez puis acceptez si le parfeu windows vous demande l’autorisation pour le fichier pbot.exe
  3. cliquez les différents boutons « Go » pour tester quelques unes des fonctions de la librairie Robot.swc .
  4. Vous pouvez lancer Firefox pour faire les tests de Handle application.

Voici le code de l’application :

<!--?xml version="1.0" encoding="utf-8"?-->

<![CDATA[ import com.ideva.fr.robot.Robot; import com.ideva.fr.robot.RobotEvent; import mx.events.FlexEvent; private var robot:Robot; protected function creationCompleteHandler(event:FlexEvent):void { robot = new Robot(); initEvent(); } protected function closeHandler(event:Event):void { robot.exit(); } protected function initEvent():void { robot.addEventListener( RobotEvent.CONNECT, robotConnect ); robot.addEventListener( RobotEvent.RESULTHANDLE, resultHandle); robot.addEventListener( RobotEvent.RESULTPOSWIN, resultPosition); } protected function robotConnect( evt:RobotEvent ):void { menuGe.visible = true; } /*********** Windows position ************/ protected function position_clickHandler(event:MouseEvent):void { //robot.firstPlan("Firefox"); if(inName.text.length > 0)
robot.getHandleWindow(inName.text);
}

protected function resultHandle(evt:RobotEvent):void
{
log.appendText( 'result handle window '+String( evt.window.handle )+"\n" );
//get position
robot.getPositionWindow( evt.window.handle );
}

protected function resultPosition(evt:RobotEvent):void
{
log.appendText( 'result position window :'+String(evt.window.position)+"\n" );
}

protected function first_clickHandler(event:MouseEvent):void
{
if(inName2.text.length > 0)
robot.firstPlan(inName2.text);
}

/************** Mouse click **************/
protected function autoClick_clickHandler(event:MouseEvent):void
{
robot.setClick( new Point(Number(inXmouse.text), Number(inYmouse.text)) );
}

/************** Key control **************/
protected function keypress_clickHandler(event:MouseEvent):void
{
focusManager.setFocus( inRes );
robot.setKey( inKey.text );
}

protected function string_clickHandler(event:MouseEvent):void
{
focusManager.setFocus( inRes2 );
robot.setString( inStr.text );
}

]]>

Gestion des DLL en Flex AIR et contrôle des pixels

Au travers de la librairie que je viens de créer je continue à étendre les capacités de l’environnement AIR Adobe.

Gestion des DLL en AIR

Une des fonctions qui m’a le plus souvent manqué et sans aucun doute la possibilité d’exploiter des .dll ou .so dans une application AIR. C’est la raison pour laquelle je viens d’ajouter deux fonctions pour gérer les .dll dans la dernière librairie que je vous ai présenté dans un autre article que vous pouvez retrouver ici : Simuler la souris, le clavier ou contrôler les fenêtres des autres applications en Adobe Flex AIR

La première fonction permet de charger un fichier .dll et de faire appel à une des fonctions de la librairie.

protected function dll_clickHandler(event:MouseEvent):void
 {
 var param:Array = new Array(750,300);
 robot.callDll( "Kernel32.dll", "Beep", param );
 }

La seconde fonction permet de lister les fonctions présentes dans un fichier .dll :


protected function listfunctiondll_clickHandler(event:MouseEvent):void
 {
 robot.listDllFunction( "User32.dll");
 }

 protected function listFunctionDllResult(evt:DllEvent):void
 {
 for each (var str:String in evt.listFunction)
 trace('function : '+str);
 }

Gestion des pixels de l’écran ou d’une fenêtre

Deux nouvelles fonctions ont également été ajoutées. La première permet de changer la couleur d’un pixel sur l’écran dans une zone définie entre deux points. La seconde vous retourne la valeur de la couleur du pixel dont la position aura été prédéfinie dans les paramètres de la fonction.


protected function draw_clickHandler(event:MouseEvent):void
 {
 robot.drawZone(new Point(100,230), new Point(412, 600), 255, 50, 200 );
 }

protected function getPixel_clickHandler(event:MouseEvent):void
 {
 robot.getPixel(new Point(600,20), 0);
 }

protected function resultColorPixel(evt:RobotEvent):void
 {
 trace( "pixel color : "+evt.color+'\n' );
 }

Installer Google Analytics sur Magento 1.7

Installation Google Analytics sur Magento

Magento_logoInstaller un compte Analytics sur Magento n’est pas très compliqué en soit, mais sur les dernières versions (à partir de la 1.4) Magento cache quelques bugs très gênants concernant Google Analytics . Nous allons commencer par voir comment faire une installation classique.

Magento 1.7 propose en natif un module Google Analytic que vous trouverez dans la partie admin :
Système / Configuration / (colonne de gauche ) / API google / Google Analytics /

Parametres :

  • Activer > oui
  • Numéro de compte : UA-XXXXXXXX-X (attention avec les copier / coller et le caractère – )
Sauvegarder la configuration, voila normalement le compte est en place. Néanmoins un bug persiste depuis quelques versions de Magento (1.4 à 1.7) si vous consultez vos statistiques vous vous apercevrez que le marqueur Analytic ne fonctionne pas.
Pour corriger ce problème suivez les instructions suivantes :

Corriger le bug Google Analytic, Magento 1.7

Éditer le fichier suivant : magento/app/code/core/Mage/GoogleAnalytics/Block/Ga.php
Ajouter la ligne suivante : (ligne 94) var _gaq = _gaq || [];
Renommer ou supprimer le fichier suivant : magento/app/design/frontend/default/{votre theme}/layout/googleanalytics.xml en .xml.bkp par exemple.
Vider votre cache Magento.
Voila cette fois-ci vérifier votre marqueur dans la partie temps réel de Google Analytics : Accueil / Temps Réel / Vue d’ensemble.

Les noms de domaines à mots clés contré par le nouvel algo de Google

Matt_CuttsMatt Cutts le responsable de la cellule anti-spam de Google, vient d’annoncer la mise en place d’un nouvel algorithme qui vise à réduire la visibilité des sites, dont les noms de domaines (NDD) portent des mots clés (Exact Match Domain).

Pour Google le problème vient surtout de la forte proportion des Backlinks qui contiennent des textes de liens optimisés pour les nom de domaine à mots clés, par rapport à un nom de domaine sans mot clé.
Le poids des mots clés dans les noms de domaines étaient trop important par rapport à l’effort demandé pour ça mise en place. Google a pour objectif de proposer les meilleurs sites pour l’internaute et modifie donc toujours son algo dans ce sens. Il en va de soit qu’un nom de domaine ne suffise à définir la qualité du contenu d’un site.

Il semblerait que seules les requêtes en anglais et aux Etats-Unis soient concernées actuellement, mais l’algo est peut être déjà diffusé partout ou ne devrait tarder !

C’est pourquoi je conseille à tous de ne pas utiliser de mot clé dans les noms de domaine même si cette technique semblait efficace dans un premier temps.
Passez plus de temps à faire valoir et optimiser une marque sera plus long, plus chère, mais payera plus sur le long terme.