12/28/2007

Le Javascript non intrusif

J'ai longtemps inséré le code Javascript directement dans mes pages, jusqu'à m'apercevoir que sans Javascript, la navigation sur mes sites étaient impossible.

J'ai donc mis en place des systèmes permettant de naviguer sur le site avec, et sans Javascript. Cependant, il me restait encore une étape à franchir : mettre en place du Javascript non intrusif.

Pour ceux qui ne le savent pas encore, la méthode du Javascript non intrusif, consiste à ne pas insérer directement dans le code html les référence à Javascript, comme par exemple : "onclick, onmouseover". Le but étant de garder du code html propre. L'insertion de ces évènements se fait une fois la page chargée avec par exemple la propriété ondomready.

Cela permet d'une part une meilleur visibilité, on se repère plus facilement dans son code, et cela instaure une profonde séparation entre le contenu (xhtml/html), la mise en forme du contenu (css), et l'animation du contenu (Javascript).

Si j'écris ce post c'est parce qu'il y a quelques heures, une idée m'est venue permettant de résoudre bien des problèmes.

Explication de la méthode :
  • Nous avons un style "style.css" inclut dans le head
  • Une page index.php, contenant toutes les pages sur site via un include
  • En bas de cette page nous avons un appel vers un script "script.js.php?p=&p2=&opt="
La solution consiste à modifier le contenu de script.js.php en fonction des variables passées en paramètre.

Avantage :
  • Une seule page de script à modifier (on peut utiliser des includes dans le script.js.php pour alléger le tout)
  • Cohésion des évènements Javascript sur l'ensemble des pages : il est possible d'affecter une portion du script à toutes les pages, puis de traiter chaque page au cas par cas
Inconvénient :
  • Pas (ou peu) de mise en cache par le navigateur, le contenu change souvent

Le projet actuel (intranet/extranet du association de Tennis de Table) sur lequel je travail est trop avancé pour appliquer ce genre de modification, mais mon prochain projet (site d'e-commerce dans la vente en ligne de matériel de glisse : roller, snowboard, surf etc...) aura ce genre d'architecture. Je suis pressé de voir ce que cela va donner.
12/12/2007

Recherche de stage

Étudiant en première année de prépa école d'ingénieur à l'EPSI à Nantes, je cherche actuellement un stage dans l'informatique (de préférence dans le développement web, mais toutes les propositions seront étudiées ) pour la période du 13 mai au 4 juillet 2008.

Mon CV mis à jour est disponible au format PDF .

Vous pouvez me contacter va twitter, ziki, vistarc ou facebook.

10/30/2007

"Détournement" de l'API de Twitter pour envoyer des sms groupés

Simon Robic (de SimonRobic.com) m'à demandé comment je faisais pour envoyer des sms groupés à mon staff via l’interface administrateur sur VistaRC. D'où l'objet de ce post.

Ci-joint le pdf de l'article, car Blogger rend très mal le code ^^'.

[MAJ] Révision 1 :
http://vistarc.net/public/1193778828twitter-apirev1-pdf.pdf

Anciennes versions :
http://vistarc.net/public/1193758079twitter-api-pdf.pdf
10/26/2007

Projet VBA Excel "Generateur de mot de passe"

En cours de VBA Excel, il nous a été demandé de faire un générateur de mot de passe. Le prof voyant qu'une bonne partie de la classe étaient perdu donne des indications (utiliser la fonction rnd() & chr()). De mon côté j'étais trop occupé à programmer pour m'apercevoir de ce qui se passait.

Ma méthode consistait à faire une chaine contenant l'ensemble des [0-9], [a-z], [A-Z] caractères et les symboles "!,;:?.". Car je savais que cette méthode avait fait ces preuves.


Le prof passe, et annonce que mon code est une "usine à gaz", je rétorque qu'il a tort, car la totalité des scripts que j'ai pus voir jusqu'à présent sur l'ensemble des langages utilisait cette même méthode. Il me demande alors mes sources, et sous le stress je réponds "vb france" (oui grosse boulette je sais ^^).

Enfin bon, je suis parti sur une autre méthode de génération de mot de passe aléatoire, avant d'arriver sur la méthode suivante :

For i = 1 To 8
Do
'On cherche aléatoirement un caractère sur une plage ASCII assez grande pour contenir tous les symboles


Loop Until ((SI le caractère correspond à ce qu'on souhaite on passe au caractère suivant (SINON on recommence la boucle))

Next

Le gros problème que je trouve à cette méthode, est qu'on est pas sûr de tomber 8 fois de suite sur le bon caractère. On fait donc plus de 8 fois appel à la fonction rnd() ce qui ralentit le script.

D'où la suprématie incontestable de la méthode que je soutenait.

J'ai fait une petite recherche google, et voici les quelques premiers résultats (tous utilise cette méthode, beaucoup plus rapide) :
Sur PHPBuilder
Sur Delphifr (ligne 92)
Sur Atoutfox

Je déteste les injustices, et surtout qu'on me dise que j'ai tort lorsque j'ai raison, et avouer que j'ai tort sous un argument d'autorité et non un argument qui tient la route.

Ce post était pour ma conscience personnel, je me sens mieux maintenant.
10/06/2007

Présence sur les "socials networks"

D'après que c'est "must have" d'être présent sur les réseaux sociaux...
Alors me voici :) :
facebook
linkedin.com
ziki

Alors qu'on n'aille pas me dire : "tient tu n'es pas dessus ?"
Et je n'aurai pas à répondre : "si je connais, mais vraiment la flemme de m'inscrire"...

Mise à jour de mon moteur ajax

J'utilisais toujours le même code Ajax de mon cru pour chacun de mes sites. Seulement voila, mon code n'était pas fiable et encore moins robuste. Il arrivait qu'il charge du contenu dans la mauvaise zone en fonction de la rapidité de connexion de la personne.

J'ai donc mis en place un algorithme de "liste"/"queue" qui permet de traiter les requêtes une par une sans perte de performance à l'arrivée.

Ce code à d'abord été déployé sur Plazu Beta 5 CodeName Genesis (code js copies interdites sans accord de l'auteur !) puis sur VistaRC, et bientôt sur Amistorique, Jadup etc..

Il me reste encore une phase d'optimisation, et roulez jeunesse !
8/25/2007

Mise en place d'un plazu mobile

Plazu, l'application communautaire par excellence (du moins pour moi), s'exporte sur un interface client. En effet, hier dans la soirée, l'idée m'est venu de développer un interface en C# communiquant avec le serveur PHP en XML (Xml maison). 4 heures plus tard voici la première alpha :




Le but étant finalement de permettre à l'équipe de consulter sa boite mail même en étant hors ligne (ce qui n'arrive presque jamais) et d'avoir un accès rapide aux différentes fonctions du site.
8/22/2007

Blogmusik devient Deezer, mais où est l'erreur ?

Deezer, radioblog et plein d'autre, le nom change mais le problème reste le même.
Ces sites promettent de rester dans la légalité, mais c'est impossible.
Même radioblog dans ces derniers versions est très très facilement piratable pour obtenir la musique que vous êtes en train d'écouter.

Pour Deezer c'est pareil :)

  1. Ouvrez Firefox avec l'add-on firebug
  2. Allez sur n'importe quelle page
  3. Ouvrez firebug, clic sur "clear"
  4. Cliquez ensuite sur la musique qui vous interresse pour l'écouter
  5. Cherchez "encapsulation.php", puis clic droit dessus et "Copy location"
  6. Ensuite, plusieurs moyens, soit vous passez par votre navigateur (coller dans l'url, puis "fichier" -> "enregistrer sous") soit par un programme spécialisé
Mais au final, le problème reste le même. Cette musique est téléchargeable.
L'internet est un espace de liberté, ces libertés peuvent être violée, beaucoup plus facilement que dans le réel, on peut plus facilement réaliser ces rêves. Comment empêcher le téléchargement illégale ? Stopper internet ? Non ? Donc on ne peut pas :).
7/12/2007

Windows Vista Ressource Center

Un petit billet pour dire que je travail toujours sur Windows Vista Ressource Center, et que j'ai finit de développer en le projet connexe Plazu (en quand même 1 semaine !).


Plazu n'a été développé que dans un seul but...facilité la gestion du contenu sur le site. En effet Plazu repose sur :
  • Les personnes qui proposent (les visiteurs le plus souvent, mais aussi moi)
  • Les personnes qui rédigent (les membres de notre équipe sur le site (actuellement 10 personnes)
  • Les personnes qui corrigent (moi le plus souvent)
Par exemple : je propose des thèmes d'articles. Un membre de mon équipe, si le sujet lui convient, accepte de s'en occuper. Cela enlève le thème de la todo list "article". Mais Plazu permet aussi cela pour une multitude de section du site (thème Vista, faq etc..).

De plus Plazu intègre une messagerie web, qui permet à la communauté d'échanger par message privé.

Voila c'est tout pour aujourd'hui :)
« »
 
 
Made with on a hot august night from an airplane the 19th of March 2017.