Posts Tagged “PHP”

Je fais quelques tests avec le contenu pour mobile.

Le code PHP fourni par Google donne des variables intéressantes fourni par le navigateur mobile: la resolution d’ecran, l’OS, le nombre de couleurs, le CPU…
Il est bavard le navigateur mobile :P

<?php
$GLOBALS['google']['ad_type']=’text_image’;
$GLOBALS['google']['channel']=”;
$GLOBALS['google']['client']=’pub-7862370452414067′;
$GLOBALS['google']['format']=’mobile_double’;
$GLOBALS['google']['https']=$_SERVER['HTTPS'];
$GLOBALS['google']['host']=$_SERVER['HTTP_HOST'];
$GLOBALS['google']['ip']=$_SERVER['REMOTE_ADDR'];
$GLOBALS['google']['markup']=’xhtml’;
$GLOBALS['google']['oe']=’utf8′;
$GLOBALS['google']['output']=’xhtml’;
$GLOBALS['google']['ref']=$_SERVER['HTTP_REFERER'];
$GLOBALS['google']['url']=$_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$GLOBALS['google']['useragent']=$_SERVER['HTTP_USER_AGENT'];
$google_dt = time();
google_set_screen_res();

function google_append_url(&$url, $param, $value) {
$url .= ‘&’ . $param . ‘=’ . urlencode($value);
}

function google_append_globals(&$url, $param) {
google_append_url($url, $param, $GLOBALS['google'][$param]);
}

function google_append_color(&$url, $param) {
global $google_dt;
$color_array = split(’,', $GLOBALS['google'][$param]);
google_append_url($url, $param,
$color_array[$google_dt % sizeof($color_array)]);
}

function google_set_screen_res() {
$screen_res = $_SERVER['HTTP_UA_PIXELS'];
$delimiter = ‘x’;
if ($screen_res == ”) {
$screen_res = $_SERVER['HTTP_X_UP_DEVCAP_SCREENPIXELS'];
$delimiter = ‘,’;
}
$res_array = explode($delimiter, $screen_res);
if (sizeof($res_array) == 2) {
$GLOBALS['google']['u_w'] = $res_array[0];
$GLOBALS['google']['u_h'] = $res_array[1];
}
}

function google_get_ad_url() {
$google_ad_url = ‘http://pagead2.googlesyndication.com/pagead/ads?’;
$google_scheme = ($GLOBALS['google']['https'] == ‘on’)
? ‘https://’ : ‘http://’;
foreach ($GLOBALS['google'] as $param => $value) {
if ($param == ‘client’) {
google_append_url($google_ad_url, $param,
‘ca-mb-’ . $GLOBALS['google'][$param]);
} else if (strpos($param, ‘color_’) === 0) {
google_append_color($google_ad_url, $param);
} else if ((strpos($param, ‘host’) === 0)
|| (strpos($param, ‘url’) === 0)) {
google_append_url($google_ad_url, $param,
$google_scheme . $GLOBALS['google'][$param]);
} else {
google_append_globals($google_ad_url, $param);
}
}
google_append_url($google_ad_url, ‘dt’,
round(1000 * array_sum(explode(’ ‘, microtime()))));
return $google_ad_url;
}

$google_ad_handle = @fopen(google_get_ad_url(), ‘r’);
if ($google_ad_handle) {
while (!feof($google_ad_handle)) {
echo fread($google_ad_handle, 8192);
}
fclose($google_ad_handle);
}

?>

Tags: , , ,

Comments No Comments »

En jetant un coup d’oeil sur dnscopp.com, j’ai été surpris de trouver ce lien:
http://www.flashboutique.de/seo/2007/04/22/die-besten-wordpress-plugins-post/

Mon plugin pour WordPress continue de fonctionner apparemment!
En ce moment, je pars sur une nouvelle idée de thème/plugins/admin/etc… qui s’appelle SandQuery
C’est une espèce de plugin mutant à Wordpress!

A suivre!

Tags: , , , , , , , ,

Comments No Comments »

Les feuilles d’automne, emportées par le vent…
Apportent une nouvelle version de WordPress: la 2.3
http://wordpress.org/download/

Comme grande nouveauté, l’ajout des TAGS. (Si vous connaissez FlickR…)
Et aussi d’autres nouvelles fonctionnalités.
J’espère que le code continue sa migration objet pour se prpéparer à PHP5.

Tags: , , , ,

Comments No Comments »

Voilà jQuery 1.2 est disponible:
http://docs.jquery.com/Release:jQuery_1.2

Dans les documents, voilà un article très intéressant qui répond à mes questions sur la compression Javascript:
http://www.julienlecomte.net/(…)gzip-your-minified-javascript-files/

Il existe des “Packers” qui encodent le code Javascript… On se retrouve alors avec du code qui commence par un eval(…)
C’est alléchant au premier abord car on peut passer d’un script de 100K à 30K.
Le temps de chargement est alors moins long.
Mais le désavantage est que le code encodé doit être décodé! Ce qui prend aussi du temps.
Il faut donc savoir dans quel cas on gagne vraiment du temps.

Un autre argument à prendre en considération est le cache du navigateur.
La plupart des internautes utilisent le cache: par exemple, les images ne sont chargées qu’une fois à la première visite.
Quand on revient sur le site, l’image est déjà prête dans l’ordinateur de l’internaute et donc la page apparait plus vite.

C’est le même mécanisme pour les scripts Javascript.
Un code de 100K sera chargé une seule fois et ne nécessitera pas d’être décodé.
Alors qu’un code compressé de 30K sera aussi chargé une seule fois… mais devra être décodé chaque fois!

Et maintenant, on ajoute le dernier ingrédient: la compression du navigateur.
Pour réduire le trafic sur internet et accélérer les échanges, la plupart des navigateurs demandent aux serveurs web de … compresser les réponses!
On peut donc compresser (gzip ou deflate) les 100K de Javascript et le navigateur le décompressera de manière transparente.
Comme le navigateur utilise du code compilé et non une machine virtuelle Javascript, le temps d’exécution est plus rapide.

Au final, on a donc une seule décompression et un code plus compact sur le réseau.

Bien sûr, on peut aussi encoder le Javascript et le compresser pour le navigateur!
Mais le résultat surprenant est que un code encodé se compresse … mal, parce que déjà compressé…

Tags: , , , , , , ,

Comments No Comments »

C’est toujours un grand plaisir de surfer sur la toile et de découvrir les oeuvres de design que peuvent créer certains artistes!
http://www.smashingmagazine.com/(…)45-excellent-blog-designs/

Le web m’a toujours impressionné pour les possibilités infinies d’expression que chaque personne peut exposer au monde entier.
C’est peut-être le premier musée d’art moderne, instantané et dynamique, et complètement mondial!

Tags: , , , , , , , ,

Comments No Comments »