Archive | Développement

Tags: ,

Comment incorporer le moteur Gecko (Firefox) dans vos projets Windev, VB ou autre language

Publié le 01 décembre 2009 par Manu

Lorsque l’on a besoin d’intégrer un navigateur web dans une création logicielle, en général on utilise l’activex Microsoft Web Browser car il est proposé par défaut dans plusieurs agl du marché comme Windev.

Cet activex est en fait une version embarqué de Internet Explorer (moteur trident) et bien qu’il suffise dans la plupart des cas, parfois il lui manque certaines fonctionnalités qui elles sont bien présentes dans d’autres navigateurs.

Firefox, lui utilise le moteur Gecko qui sert aussi à XULRunner (wikipedia :  logiciel libre qui sert comme environnement d’exécution d’applications XUL. Il permet donc de lancer des applications écrites en XUL sans avoir besoin d’installer Mozilla ou Firefox).

Le truc c’est que XULRunner, fournit mozctlx.dll, une dll qui est très intéressante puisqu’elle contient l’activex MozillaBrowser Class qui cerise sur le gâteau, s’utilise exactement de la même façon que son homologue de chez Microsoft.

Pour intégrer le moteur Gecko dans vos applications :

- téléchargez XULRunner ici (prenez la dernière version win32 dans /runtimes…)

- décompressez  le zip dans programfiles par exemple

- déclarez la dll mozctlx.dll à votre Windows en faisant un regsvr32 mozctlx.dll

par exemple en ligne de commande :

Microsoft Windows [version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. Tous droits réservés.

C:\Windows\system32>cd « \Program Files »

C:\Program Files>cd xulrunner

C:\Program Files\xulrunner>regsvr32 mozctlx.dll

C:\Program Files\xulrunner>_

Vous devriez obtenir un truc ressemblant à :

regsvr32

Attention sous Vista ou Seven vous devez exécuter ces commandes en tant que administrateur sinon vous aurez un message d’erreur.

executer-admin

Quand tout est ok, ouvrez votre ide/agl préféré et incorporez l’activex MozillaBrowser Class à votre projet.

Exemple pour Windev :

- Créez une nouvelle fenêtre vierge, et faites insertion > champ > activex

Cliquez pour agrandir

Cliquez pour agrandir

- Placez l’activex MozillaBrowser Class, un champ de saisie et 3 boutons comme suit

Cliquez pour agrandir

Cliquez pour agrandir

ici l’activex est en vert et se nomme AX_xulrunner, le champ de saisie se nomme SAI_url et les boutons BTN_go, BTN_precedent, BTN_suivant

le code du bouton BTN_go est :

AX_xulrunner>>Navigate2 (SAI_url)
DonneFocus(AX_xulrunner)

celui de BTN_precedent :

AX_xulrunner>>GoBack

et celui de BTN_suivant :

AX_xulrunner>>GoForward

C’est finit, lancez l’exécution et admirez le résultat :

Cliquez pour agrandir

Cliquez pour agrandir

Commentaires (1)

Tags: , , ,

Logiciel pour rediriger des url massivement via htaccess (redirect permanent)

Publié le 22 novembre 2009 par Manu

google404

Dans la vie d’un site Internet il peut arriver parfois que l’on soit dans l’obligation de changer complètement la structure des liens (changement de cms par exemple).

Le problème se posant alors est de ne pas être trop pénalisé au niveau du référencement ainsi que des liens entrants (sites pointant vers le votre ) qui renverront inévitablement une belle page « 404 Not Found ».

Pour éviter ce phénomène il faut rediriger toutes les anciennes url de vos pages vers les nouvelles.

Une bonne méthode pour cela est de faire la correspondance dans un fichier htaccess :

RedirectPermanent /ancienne-page.html http://www.votresite.com/nouvelle-page.html

Ainsi les visiteurs/moteurs de recherche qui arriveraient par un ancien lien, seraient automatiquement renvoyés sur la nouvelle page de manière totalement transparente.

Pour l’avoir fait récemment, je peux vous dire que c’est une tâche plutôt rébarbative quand on a beaucoup d’url.

Heureusement, pour vous, voici tout droit sorti des labos Zerbynet … un logiciel pour vous aider à fabriquer votre htaccess.

capture_zerby_url_redirect

Vous lui donnez votre ancien et votre nouveau sitemap et lui vous présente deux tableaux avec vos url, vous n’avez plus qu’à les lier ensemble. Quand vous avez terminé, il vous génère votre htaccess.

Certes, ce n’est pas révolutionnaire, ça ne va pas faire le travail pour vous, mais vous allez gagner du temps en évitant les nombreux copier/coller et les oublis.

En espérant que ce petit soft puisse vous servir autant qu’à moi :

downloadTélécharger ZerbyUrlRedirect, le logiciel de redirection d’url

Commentaires (3)

Tags: , ,

Protéger du code PHP (obfuscation, byte code)

Publié le 11 mai 2009 par Manu

Le problème d’un langage comme le PHP, c’est que le code source est intégralement disponible. Lorsque l’on est maître du serveur où sont hébergés les scripts, tout va bien, mais sinon comment faire pour protéger le code contre la modification ou la copie abusive.
Il existe actuellement 2 méthodes pour cela :

  • l’obfuscation qui consiste à rendre illisible le code en supprimant les espaces, les commentaires et en renommant les variables/fonctions.
  • transformer le code PHP en bytecode (fichier binaire exécuté par le moteur PHP)
Exemple dobfuscation PHP

Exemple d'obfuscation PHP

La seule technique vraiment valable est la deuxième car elle est réellement irréversible (voir commentaire). Par contre  même si l’on ne voit pas le code, certaines données comme les chaînes de caractères sont en clair, mais la pluspart des encodeurs bytecode font aussi de l’obfuscation et dans ce cas pas de problèmes.

Il faut aussi savoir que pour interpréter du bytecode sur un serveur, il est obligatoire d’installer une extension php, et il faut donc avoir la main sur les fichiers de configuration du serveur (php.ini). Par conséquent cette solution n’est pas valable sur des hébergements mutualisés, à moins que l’hébergeur consente à le faire. (par exemple OVH propose Zend Optimizer et Ioncube sur ses mutu, à activer via htaccess).

Pour d’autres hébergeurs ne proposant pas ces fonctionalités, l’obfuscation peut néanmoins dépanner car le code reste tout de même assez dur à déchiffrer (voir la capture au dessus) même si ce n’est pas impossible.

A noter, il existe aussi des solution hybrides, mêlant obfuscation et chiffrage mais elles ne sont pas plus sures pour autant car il faut bien déchiffrer pour pouvoir interpréter le code PHP et donc on peut récupérer le code avant son exécution. De plus l’étape de déchiffrement est couteuse en temps de calcul et imposera au serveur une charge supplémentaire.

A l’inverse, les solutions à base de bytecode sont plus rapides à interpréter que du PHP normal.

Pour conclure cet article, je vous jette pêlemêle quelques liens que j’ai pu glaner. Si vous décidez d’adopter un de ceux-ci, faites attention car certains datent un peu (pas de support PHP5 par exemple) et d’autres sont très chers, mais ça c’est une autre histoire ;)

Commentaires (4)

Tags: , , , ,

Utiliser Windev dans VirtualBox sans BSOD

Publié le 26 avril 2009 par Manu

Malgré mon récent passage sous Ubuntu, je continue d’utiliser quelques applications Windows qui n’ont pas d’équivalents sous Linux.
En général j’utilise Wine, mais avec quelques logiciels récalcitrants je suis obligé de passer par VirtualBox.

Windev est un AGL dont je ne peux pas me passer. Celui-ci a la particularité d’être protégé par un dongle USB (Hasp Aladin) qui en autorise le lancement.
Quand il est branché, la configuration par défaut de VirtualBox a tendance à provoquer toutes une série de BSOD qui rendent impossible son utilisation.

Mais il existe une solution assez simple pour y remédier.

  1. Si ce n’est pas déjà le cas activer les technologies de virtualisation dans le BIOS de l’ordinateur (Advanced BIOS Features, CPU Feature, Virtualization Technologie
  2. Dans les préférences de la machine virtuelle, aller dans « Général », puis l’onglet « Avancé » et cocher « Activer VT-x/AMD-V »

virtualbox-windev-1

Enfin petite astuce, parfois le curseur de la souris disparait, une solution assez barbare mais fonctionelle consiste à activer la trainée de la souris au minimum.

virtualbox-windev-2

Commentaires (2)

Advertise Here
Advertise Here