Archive for the ‘Technique’ Category

Problèmes entre neuf et ovh

Mardi, janvier 27th, 2009

Ce message ne va pas concerner énormément de monde mais il y a apparement un gros problème de peering entre le fournisseur d’accès neuf et l’hébergeur ovh. Ce problème empêche les abonnés neuf d’accéder à tous les sites hébergés chez ovh (dont le site de l’hébergeur).

Au niveau du traceroute cela bloque au niveau d’ovh et du routeur 10g.p19-57-6k, en espérant que les deux parties trouvent une solution très rapidement (de mon côté cela fait déjà 5 jours que le problème existe).

N’hésitez pas à faire remonter l’information à OVH et à neuf pour que les choses avancent plus vite. En attendant on peut toujours passer par un tunnel SSH ou un proxy mais ce n’est vraiment pas l’idéal …

Edit : problème réglé en  changeant les paramètres manuels DNS (suite au problème de peering entre ovh et neuf)

Fait donc tourner :
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • blogmarks
  • email
  • Fleck
  • FriendFeed
  • Live
  • MySpace
  • Netvibes
  • PDF
  • Ping.fm
  • RSS
  • Socialogs
  • Technorati
  • Twitter
  • Wikio FR
  • Yahoo! Buzz
  • Yigg

Son site web en UTF-8

Dimanche, septembre 7th, 2008

Depuis maintenant plus de cinq ans que je développe en PHP j’ai toujours eu un soucis avec la gestion de l’encodage. Avec le temps j’ai glané ici et là des solutions pour que tout soit encodé en UTF-8 mais il m’en manquait une au niveau de la base de donnée. Voici le résumé des quelques règles pour l’encodage que j’applique à tous mes projets (rien de nouveau je vous rassure, c’est juste un résumé) :

Encodage des fichiers

Il faut évidemment que tous les fichiers soient en UTF-8 c’est une évidence, pour se faire il faut utiliser votre éditeur et lui indiquer ce format.

Déclaration du charset dans le fichier HTML

Dans le head de chaque page de votre il faut déclarer le charset grâce à cette ligne de code :

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Changer le header envoyé au navigateur dans le PHP

Au début de votre page il faut utiliser cette ligne de code en PHP qui permet de spécifier le bon format :

header('Content-Type: text/html; charset=utf-8');

Gérer la relation avec la base de donnée

Voici la solution qui me manquait, après avoir établi la connexion avec votre base donnée il suffit de lancer cette requête SQL pour que toutes les communications soient faites en UTF-8 :

SET NAMES UTF8

Donner le  bon format à vos bases de donnée

Dans PhpMyAdmin il faut donner à chacune de vos tables et de vos champs textes le bon format, évidemment l’UTF-8.

i-will-not-assume-untrusted-data-is-valid-utf-8

Maintenant que je connais toutes ces étapes je n’ai plus de soucis avec mes projets, j’ai passé tellement de temps à m’énerver devant mon écran parce que les accents ne passaient pas que je suis réellement soulagé maintenant.

Fait donc tourner :
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • blogmarks
  • email
  • Fleck
  • FriendFeed
  • Live
  • MySpace
  • Netvibes
  • PDF
  • Ping.fm
  • RSS
  • Socialogs
  • Technorati
  • Twitter
  • Wikio FR
  • Yahoo! Buzz
  • Yigg

Mes débuts en ajax

Mardi, janvier 8th, 2008

Je l’ai souvent répété, j’ai souvent eu envie de me mettre à l’ajax mais je n’avais jamais trouvé la motivation pour le faire. C’est chose faite puisque j’ai commencé à mettre en place quelques notions d’ajax dans un projet de GRC (qui devrait me permettre de gérer les relations clientèles dans les mois qui viennent).

Le soucis avec l’ajax c’est qu’on peut en mettre partout, on peut faire de jolies effets et qu’on peut vite oublier que l’ajax doit d’abord servir à améliorer l’ergonomie, l’efficacité et l’efficience. Je suis donc en train de réfléchir à tout ce qui pourrait être utile de recoder sur mes anciens projets (L1NKs, France-Animation, Hauts de Brèges …).

En tout cas l’ajax est vraiment puissant et c’est un bon mélange entre le développement web et le développement d’application, mais on doit vite arriver à des usines à gaz si on ne structure pas l’utilisation des différentes technologies qui composent l’ajax.

Qu’est-ce que je pourrais faire en ajax sur le blog ?

Fait donc tourner :
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • blogmarks
  • email
  • Fleck
  • FriendFeed
  • Live
  • MySpace
  • Netvibes
  • PDF
  • Ping.fm
  • RSS
  • Socialogs
  • Technorati
  • Twitter
  • Wikio FR
  • Yahoo! Buzz
  • Yigg

Créer un site aux normes de la W3C

Samedi, mai 26th, 2007

La mise en place de la nouvelle version du site du Club Hôtelier Clermontois (hôtel clermont ferrand) a été une fois de plus le moyen de tester mes capacités à mettre en place aux normes de la W3C. Je suis plutôt content du résultat car aucune erreur importante n’était présente à la fin du développement (quelques erreurs de nom mais c’était vraiment basique). Et la conséquence principale est que le site est à 98% identique que ce soit sur ie, safari ou firefox : je n’ai donc pas eu à passer de longues heures à adapter le site aux différents navigateurs.

Et ça fait plaisir …

Il aura quand même fallu 5 ou 6 sites sur lesquels j’ai lutté pour obtenir un résultat viable sur tous les navigateurs et avec un code propre. J’arrive donc officiellement à coder proprement en XHTML 1.0 (1.1 si je n’utilise pas de map), la lecture de livres sur le css m’a d’ailleurs bien aidé. Je vais donc pouvoir passer à l’ajax dans quelques mois (sur un très gros projet) en combinaison avec le php5.

Fait donc tourner :
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • blogmarks
  • email
  • Fleck
  • FriendFeed
  • Live
  • MySpace
  • Netvibes
  • PDF
  • Ping.fm
  • RSS
  • Socialogs
  • Technorati
  • Twitter
  • Wikio FR
  • Yahoo! Buzz
  • Yigg

Référencement

Mercredi, mai 9th, 2007

L’avantage d’un blog c’est son très bon référencement, il faut le dire j’adore regarder d’où viennent les visiteurs (m’a déformation de webmaster) et on trouve de temps en temps des choses énormes qui n’ont rien a voir avec le site. Quelques exemples :

  • Austrablog : prof histoire sourd et muet, méduses mortelles, quel matériel de muscu
  • Le blog de Sylvain : catherine baraba, truc a la con, combien de code il existe pour nokia 6131, ordinateur ralenti, travailler au mcdo

Je me rends compte que google retourne environ 10% de résultats qui ne correspondent pas du tout au contenu du blog, par exemple j’ai parlé une fois de mon nokia 6131 mais jamais de codes ? Pour ce qui est du blog de Mathilde elle a dit une fois dans un billet que la maison avait une salle de musculation et voilà qu’on trouve son blog à travers certaines recherches sur google avec le mot clef « muscu ».

Je vais faire un test de référencement, je vais essayer d’être visible sur quelques termes :

Résultat dans quelques jours …

Fait donc tourner :
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • blogmarks
  • email
  • Fleck
  • FriendFeed
  • Live
  • MySpace
  • Netvibes
  • PDF
  • Ping.fm
  • RSS
  • Socialogs
  • Technorati
  • Twitter
  • Wikio FR
  • Yahoo! Buzz
  • Yigg

PHPicalendar : calendrier en ligne

Vendredi, avril 20th, 2007

PHPicalendar (www) est une application web qui permet de publier votre calendrier facilement via un site internet. De nombreux éléments sont configurables (accès par mot de passe, design, publication, rss, …) ce qui rend cet outil très polyvalent. Je m’en suis servi sur blog pour afficher mes disponibilités via la page calendrier.

L’installation ne m’a demandé qu’une petite heure et me permet de mettre à disposition une version light de mon calendrier pour mes proches et les différentes personnes qui travaillent avec moi. L’installation est très simple et à travers la documentation en ligne et ce billet chez Xuxu vous pourrez très facilement faire de même. En effet il n’y a que quelques paramètres à modifier dans le fichier de configuration et tout fonctionnera parfaitement.

La modification du fichier css n’est pas non plus très compliquée, j’ai ainsi pu adapter le modèle à celui du design SPonline ; il ne restait plus qu’à utiliser le plugin related pour intégrer le tout au blog. Du côté d’iCal il suffit de partager vos calendriers sur votre serveur et d’utiliser les identifiants de votre fichier de configuration :

http://adresse-du-serveur/calendrier/calendars/publish.ical.php

La version que j’ai mise en ligne ne fonctionne pas avec ie6, en effet j’ai dû passer par un object qui est mal interprété par internet explorer, le calendrier n’est donc visible qu’avec safari et firefox (je n’ai pas essayé avec d’autres navigateurs). Je remettrais le nez dans le code un peu plus tard pour essayer de corriger ce bug.

Si vous avez des questions pour la configuration et l’installation n’hésitez pas …

Fait donc tourner :
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • blogmarks
  • email
  • Fleck
  • FriendFeed
  • Live
  • MySpace
  • Netvibes
  • PDF
  • Ping.fm
  • RSS
  • Socialogs
  • Technorati
  • Twitter
  • Wikio FR
  • Yahoo! Buzz
  • Yigg

L’adaptation des navigateurs

Samedi, avril 7th, 2007

La création de site Internet demande une certaine rigueur, en effet de nombreux éléments sont à prendre en compte :

  • respect des normes W3C
  • respect des normes d’accessibilité
  • cohérence avec les besoins / volonté du client
  • quel que soit le navigateur l’affichage doit être cohérent

Et c’est bien sûr ce dernier point que le travail technique est le plus compliqué. En effet l’arrivée de Vista (et son infiltration dans le marché) rime avec la montée en puissance d’internet explorer 7. Il va donc falloir effectuer les tests d’affichage sur un navigateur supplémentaire, c’est à dire :

  • internet explorer 5
  • internet explorer 6
  • internet explorer 7
  • firefox
  • safari

Ce travail long et fastidieux est de plus en plus lourd à gérer et augmente de manière significative le travail à effectuer pour mettre en place un site internet cohérent. Je n’ai pas encore testé internet explorer 7 mais je vais m’y mettre dès demain, en espérant que l’annonce faite sur le respect des normes correspond à une réalité qui permettra une cohérence avec les navigateurs qui offrent quasiment le même rendu des normes (firefox, safari).

Fait donc tourner :
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • blogmarks
  • email
  • Fleck
  • FriendFeed
  • Live
  • MySpace
  • Netvibes
  • PDF
  • Ping.fm
  • RSS
  • Socialogs
  • Technorati
  • Twitter
  • Wikio FR
  • Yahoo! Buzz
  • Yigg

Nouvelle motivation pour le PHP 5

Mercredi, avril 4th, 2007

J’ai trouvé une nouvelle source de motivation pour me mettre au PHP 5, en effet je viens d’apprendre via prendre un Café que le PHP 4 ne sera plus supporté à partir du 1er janvier 2008. Voilà donc ma date butoir pour être totalement opérationnelle sur le PHP objet. Il ne me reste donc plus que le livre à acheter et à choisir mes priorités : ajax ou php 5 ?

Fait donc tourner :
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • blogmarks
  • email
  • Fleck
  • FriendFeed
  • Live
  • MySpace
  • Netvibes
  • PDF
  • Ping.fm
  • RSS
  • Socialogs
  • Technorati
  • Twitter
  • Wikio FR
  • Yahoo! Buzz
  • Yigg

Menu dynamique avec JQuery

Vendredi, mars 23rd, 2007

Dans mes débuts avec la bibliothèque JQuery voici les premiers résultats avec le menu du blog, à côté de chaque partie il y a un moins (ou un plus) qui permet de développer (ou diminuer) le sous-menu. Voici le code, je ne sais pas si on peut l’améliorer mais c’est sûrement le cas vu les ralentissements générés sous ie (inexistants sous safari).

Afficher le code source

$(document).ready(function()
{
//on ajoute le + et le - qui permettront de masquer les données pour chaque titre H2

$("#sidebar").find("h2").each(function(i)
{
$(this).html("CODE HTML IMAGES"+ $(this).html());
});

$("img[@src*=images/puce_plus.gif]").hide("fast"); // on masque le +

$("img[@src*=images/puce_moins.gif]").click(function() //quand on clic sur le moins
{

$(this).hide("fast"); //on masque le -
$(this).parents("h2").find("img[@src*=images/puce_plus.gif]").show("fast");
//on affiche le +

//on cache les p, ul, h3 et autres éléments du menu

$(this).parents("h2").parents("div").not("#page").not("#sidebar").not("#main")
.not("#content").find("p").slideUp("slow");
$(this).parents("h2").parents("div").not("#page").not("#sidebar").not("#main")
.not("#content").find("ul").slideUp("slow");
$(this).parents("h2").parents("div").not("#page").not("#sidebar").not("#main")
.not("#content").find("h3").slideUp("slow");

//pour des raisons esthétiques je modifie le border du h2

$(this).parents("h2").css("border-width","1px 0 0px 1px");

//pour le bas du menu je remet le border normalement

$("#referents").find("h2").css("border-width","1px 0 1px 1px");

  });

$("img[@src*=images/puce_plus.gif]").click(function() //quand on clic sur le +
{
$(this).hide("fast"); //on masque le +

$(this).parents("h2").find("img[@src*=images/puce_moins.gif]").show("fast");
//on affiche le -

//on affiche se qui vient d'être masqué

$(this).parents("h2").parents("div").not("#page").not("#sidebar").not("#main")
.not("#content").find("p").slideDown("slow");
$(this).parents("h2").parents("div").not("#page").not("#sidebar").not("#main")
.not("#content").find("ul").slideDown("slow");
$(this).parents("h2").parents("div").not("#page").not("#sidebar").not("#main")
.not("#content").find("h3").slideDown("slow");
//on remet le border normalement

$(this).parents("h2").css("border-width","1px 0 1px 1px");

  });

}); Affichage des images :
[img src=\"images/puce_moins.gif\"] [img src=\"images/puce_plus.gif\"]

Fait donc tourner :
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • blogmarks
  • email
  • Fleck
  • FriendFeed
  • Live
  • MySpace
  • Netvibes
  • PDF
  • Ping.fm
  • RSS
  • Socialogs
  • Technorati
  • Twitter
  • Wikio FR
  • Yahoo! Buzz
  • Yigg

X/HTML 5 ou XHTML 2 ?

Dimanche, mars 18th, 2007

Voilà un très bon billet sur le futur des normes W3C, c’est sur le blog de Damien ALEXANDRE que ça se passe et plus particulèrement dans ce billet. Personnelement je serais plutôt pour le XHTML 2, mais comme le précise Alexandre, on peut mettre en place toutes les normes que l’ont veut il faudra avant tous les que les navigateurs les implémente.

Fait donc tourner :
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • blogmarks
  • email
  • Fleck
  • FriendFeed
  • Live
  • MySpace
  • Netvibes
  • PDF
  • Ping.fm
  • RSS
  • Socialogs
  • Technorati
  • Twitter
  • Wikio FR
  • Yahoo! Buzz
  • Yigg