comparer les différences entre fichiers

le jeudi 5 octobre 2006

En créant un projet de subversion en php, je me suis rendu compte qu’il était assez dure d’afficher clairement les différences entre 2 fichiers sous php…

Quelques sources de class php sont fournies sur la toile seulement elle sont bien souvent trop gourmande et possèdent trop de bug pour pouvoir les utilisées correctement.

C’est pourquoi la commande diff sous linux existe et vous permet de faire cela dans un shell via la functioon php shell_exec ou encore grace aux guillemets obliques.

Vous n’aurez alors qu’a exécuté la commande suivante:

 

qui vous retournera quelque chose comme :

--- fichier1   2006-10-05 01:19:52.000000000 +0200
+++ fichier2   2006-10-05 01:14:20.000000000 +0200
@@ -1,7 +1,12 @@
 ablabla
+ablablaablablaabla
 ablablaablabla
-www
-ablablaablablaablabla
-abb
+ablablaablablaabla
+ablablaablablaabla
+ablablaablablaabla
+ablablaablablaabla
+ablabl
+ablablaablablaabla
+ablablaablablaabla
 ablabla
 test
\ Pas de fin de ligne à la fin du fichier.

Il ne restera plus qu’a parser le résultat.
Plusieurs options pour diff son disponibles: man diff
Voyez aussi diff3 qui permet de comparer 3 fichiers en même temps, et sdiff pour une représentation ligne-à-ligne (side-by-side).

javascript eval global

le dimanche 1 octobre 2006

ça fait un peu près 1 mois que je cherche à exécuter mon code javascript contenu dans mes données chargées via AJAX. Tout le monde me dira qu’il existe eval, seulement voila, ceci ne marche uniquement pour le code éxécuté en live et non pour les déclaration de fonction.

En effet, même dans le framework du style prototype, eval() est déclaré dans le contexte de l’objet AJAX, autrement dit dans la fonction AJAX. Ainsi toute les fonctions déclarées dans eval ne sont disponibles que dans la fonction où l’on fait le eval().

un petit exemple pour m’expliquer :

span class="st0">'function test(){alert('test ok');}'//affiche function
  test(); // affiche 'test ok'
//affiche undefined
test(); // erreur : fonction test inconnu

ceci peut poser de gros problèmes pour déclarer des objects via AJAX :

//x est votre object XMLHttpRequest
'monconteneur'//maintenant que les données reçu on été placé dans la page,
    //il faut exécuter toutes les balise script :
'script'//return function
  }
}

seulement voilà : si maintenant vous avez un bouton avec dans l’action onClick une fonction qui est déclaré dans la page chargé, celle ci ne s’éxécutera pas car elle n’est pas déclaré dans un contexte global mais seulement dans la fonction onreadystatechange.

Mais, pour toi public, j’ai la solution. vous pouvez utiliser :

window.eval();
//ou encore :
var global = this; //dans un contexte global
//puis
global.eval();

vos function seront alors déclarée dans un contexte global.
var global = this; est utilisé pour forcé la compatibilité.

A noté que les différents framework tel que prototype n’exécute pas vos script via eval dans un contexte global (voir la function evalScripts pour prototype).

Je ne vous cache pas que j’ai galéré pour un truc tout con cependant astucieux 🙂

bug paypal email par default

le samedi 30 septembre 2006

Au cas où vous ne l’auriez pas remarqué, il y a un bug concernant l’affichage sur la page de paiement de l’adresse email de paiement dans paypal.

J’ai mailer paypal à propos de cela, l’explication étant assez fastidieuse, je fais une copie :

Je souhaite afficher un logo en haut de page et afficher l’adresse email de paiement « business » (adresse alternative dans mon profil) que j’ai précédemment défini dans la donnée business du formulaire de paiement sur mon site.

Seulement impossible d’avoir ces deux options en même temps.

J’ai fais quelques test, admettons que j’ai 2 adresse email enregistré et vérifié sur mon compte paypal : a@moi.com et b@moi.com
a@moi.com est mon adresse email par default.

il y a 3 cas de figure dans lesquel j’indique les données définies dans mon formulaire de paiement sur mon site sans indiquer les autres données necessaire au fontionnement de la transaction.

— cas 1:
business = b@moi.com
image_url = une_image_150x50px_en_https
dans ce cas, c’est bien l’adresse b@moi.com qui s’affiche sur la page de paiement paypal seulement l’image ne s’affiche nul part!!!

— cas 2:
business = b@moi.com
cpp_header_image = une_image_750x90px_en_https
ici, mon email affiché est a@moi.com alors qu’elle devrait être b@moi.com, cependant l’image s’affiche correctement.

— cas 3:
business = b@moi.com
cpp_header_image = une_image_750x90px_en_https
image_url = une_image_150x50px_en_https
mon email affiché est a@moi.com alors qu’elle devrait être b@moi.com et l’image une_image_750x90px_en_https s’affiche correctement mais aucune nouvelle de l’image une_image_150x50px_en_https.

Même comportement sur paypal que sur sandbox.

réponse de paypal :

J’ai pu reproduire le probleme sur Sandbox. Nous travaillons sur ce probleme qui touche les comptes Premiers et esperons solutionner cela le plus rapidement possible.

Donc inutile de vous prendre la tête sur vos variables de post, ça vient d’eux, changez votre adresse par défaut il n’y a que ça à faire et tanpis pour ceux utilisent plusieurs adresses pour le moment. A noté qu’ils laissent entendre que le problème existe uniquement sur les comptes premier, allez vous opter pour un compte business?

Certificats SSL gratuit

le jeudi 28 septembre 2006

Si vous vous êtes déjà penché sur la question, vous avez du remarqué que l’achat d’un certificat certifié par une autorité acceptée par tout les navigateur coute entre 150 et 1000 € par an (dépendant du nombre de bits minimal de cryptage SSL accepté).

Bientôt (enfin je l’éspère) ceci sera révolu! Un project de certificat gratuit est en cour : StartCom Free SSL Certification Authority. Cette CA voit déjà son certificat intégré sur plusieur navigateur, dont firefox, de plus il est assuré à hauteur de 10000$ !!! L’aubaine serait qu’il soir accepté par IE7 seulement j’ai peur que ce ne soit jamais le cas.

Nou parlons évidemment ici de certificat Class 1 (identité non vérifié). Pour obtenir un certificat Class 2 il vous faudra déboursé seulement 25 $ pour convrir les frais de vérification d’identité.

Ceci n’est pas très utile aux entreprises étant donné qu’il est inacceptable de se voir refusé son certificat dans ce cas. Donc si vous êtes désireux de vendre en ligne en transmettant des données sensible, je vous conseille tbs-internet. Cette société française propose des certificat reconnu par 97% des navigateur et les prix varie de 50€/an (40-128 bits/3 ans) à 200€/an (128 bits forcé/3 ans) assuré à hauteur de 2500$. Des statistiques détaillées en fonctions des navigateurs et de leur différents certificats sont en ligne.

Sinon vous avez toujours godaddy qui propose des certificat valide sur 99% des navigateur (selon eux) entre 18$/an (2 ans) et 75 $/an (2 ans) cependant le manque d’information précise concernant le cryptage utilisé me rend douteux, faut dire que c’est en anglais aussi 😀

neuf se paye AOL

le mercredi 27 septembre 2006

ça y est, neuf à définitivement dégagé AOL pour qu’il évite de pourir la france avec leur navigateur espion (cf AOL explorer).

Il y ont quand même mis 288 millions pour ce taper leur 500 000 abonnés ADSL. A noté qu’ils atteignent les 2 millions d’abonnés maintenant. Ils se tape 107 millions de bénéfices contre 58 millions pour free seulement ici sont inclus leur services de téléphonie et vu le prix des communications mobiles, on est pas tellement étonné en sachant aussi qu’ils en perdaient 129 millions en 2005 😀

Free à tout de même l’avange sur les offres : IP statique, Wi-Fi MIMO intégré, Enregistreur TV/TNT multi-fonctions (avec pause pendant un programme TV, pratique pour le foot 🙂 ), freeplayer, fast ping (augmentation de la vitesse de transfert des données, atteint le 5ms par paquet, sans garantie qu’elles arrivent, généralement fiable à 99%, idéal pour les jeux en réseau), neuf propose 9 Go de stockage online contre 10 Go pour free (négligeable quand même), le tout pour 30€/mois même prix que neuf.
Egalement la possiblité chez free de pouvoir se passé de ligne téléfonique chez france telecom SANS avoir possédé de ligne téléphonique avant.
Les frais de résiliation sont plus élever chez free et varient en fonction de la duré de votre abonnement : 90€ – 3€/mois d’acienneté contre 45 € pour neuf. Seulement au bout de 3 ans c’est toujours 45 € pour neuf :s

Perso je préfère free qui donne plus de possibilité, neuf se limite au grand public.

sources : l’express01.net

arnaque paypal conversion de devise

le mercredi 27 septembre 2006

Alors paypal et ebay, je vous explique, dès qu’ils peuvent vous piquer des pepettes il ésite pas.

Je me suis acheté quelques objets sur paypal, mon total affiché sur ebay était de 249,27 US dollars ($) soit 195,55 Euros (€) jusque là tout va bien, le taux de change est correct, tout est ok. Je poursuit mon achat en payant par CB sur paypal, mon total affiché est bien de 249,27 $ mais… ooohhh… surprise!!! 249,27 $ chez paypal c’est égal à 201,52 € !

Bravo !!! Jolie coup d’enchroume !!! Une augmentation de plus de 3% !!! J’ai parcouru l’iade des deux sites, et j’ai finalement trouvé quelque chose sur paypal : leur convertisseur de devise.

En gros, vous payez de $ vers € pas d’augmentation, mais de € vers $ c’est 3%… Comme s’ils se faisaient pas assez de tunes !!!!!!!!

Enragé, j’ai écrit à ebay histoire de savoir ce qu’ils vont me dire. Et je compte bien écrire à paypal aussi.

manuel inspiron 9100

le lundi 25 septembre 2006

suite à la demande de certains ayant vu mon post où j’ai démonté mon inspiron 9100, je met le manuel en ligne, version anglaise :

manuelInspiron9100.rar (4.2Mo)

En passant j’ai fait faire un devis à Dell : ils demandent 960 € pour le réparer sachant qu’il ont compté seulement le remplacement de la carte mère et du clavier mais si quelque chose d’autre déconne il me l’offre, un petit geste… 🙂

template php

le lundi 18 septembre 2006

Comme beaucoup de webmaster, vous serez un jour amené à vouloir utilisé un système de template pour votre site, non seulement pour permettre la portabilité mais aussi pour le système de cache que beaucoup d’entre eux intègre.

Et comme moi, un jour, vous chercherez un comparatifs des différents systèmes de templates existant. 🙂

En voici un, certainement incomplet car le monde libre est infini : comparatif template php

Pour ma part j’ai adopté smarty pour des utilisations poussé. Mais vous n’aurez certainement pas besoin de toutes ses fonctions, si tel est le cas, penchez vous sur PHPlib, système simple mais rapide.

Windows Vista va-t-il surcharger les DNS ?

le jeudi 14 septembre 2006

Paul Mockapetris prévisionne un ralentissement, voir un éfondrement du système DNS à cause de Windows Vista.

A chaque résolution de nom de domaine, celui-ci enverra 2 requètes au DNS : une en IPv4 et une autre en IPv6 (cencé prendre la relève dans le futur). Il y aura donc un doublement de trafic vers les serveurs DNS alors que ceux-ci sont déjà proche de la saturation.

Microsoft communique que Windows Vista va éffectivement augmenté le trafic DNS mais sans excès. D’après eux, Mockapetris s’allarme trop. Quelques précisions sont fournie :
– seules les PC ayant leur propre IPv6 enverron de l’IPv6
– si une requète IPv4 n’aboutie pas, aucune requète IPv6 ne sera envoyé.

A la lecture de ceci sur ZDnet, je ne comprend pas bien la logique de Microsoft…
Si une IPv4 n’aboutie pas, pourquoi ne pas éssayé l’IPv6 ?? et si une requète IPv4 aboutie, pourquoi une requète IPv6 ???

Microsoft se blanchie également en indiquant que les opérateurs réseaux peuvent filtrer le trafic. Autrement dit : « Je fais ce que je veux, vous vous adaptez, même si c’est de la merde ». Comme d’hab quoi… y ont de la chance que HL² tourne pas sous linux 😀

The Pirate Bay

le samedi 26 août 2006

Ce site de torrents a été mis HS par les autorités suèdoises le 31 mai 2006. L’affaire fait beaucoup de remous en Suède, la MPA est directement impliqué. Des manifestations s’organisent en faveur du site.

[Voir sur wikipedia]

Les autorités ayant coupé plusieurs serveurs, une dizaine sociétés ont vu leur site internet coupé, elles demandent entre 1 000 et 22 000 € chacune de dédomagement à la justice suèdoise.

Les poulets ça se noient dans les torrents 😀

Edit: The pirate bay a réouvert 🙂