Aug 12

Si dans vos interfaces d’administration (backoffice) vous installez des textarea WYSIWYG type Tinymce, Htmlarea, FCEditor vous avez déjà sans doute remarqué qu’il n’était pas toujours facile de garder des pages W3C compliants.
Allez expliquer à vos clients que la propriété ALT est obligatoire dans les balises IMG…

Voici donc une méthode automatisée, bien sympa, certe peu délicate mais tellement efficace : le module php-tidy (php5-tidy).
Attention ce module ne permet pas de réparer les pages qui contiennent des centaines d’erreurs, le code se doit d’être propre au minimum.

Voici un exemple simple:

<?php ob_start() ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
                       <!-- manque le head -->
<body>
<img src="toto.gif "/> <!-- manque le alt -->
<body>                 <!--erreur-->
</html>


<?php
$html = ob_get_clean();
$cfg = array(
'indent' => true,
'output-xhtml' => true,
'wrap' => 80,
'doctype' => 'strict',
'hide-comments' => true,
'accessibility-check' => 3,
'alt-text' => 'no desc for this image'
);
$tidy = new tidy;
$tidy->parseString($html, $cfg, 'utf8');
$tidy->cleanRepair();
?>

<?=$tidy?>

Et voici le resultat de la page :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  <head>
    <title></title>
  </head>
  <body>
    <img src="toto.gif" alt="no desc for this image" />
  </body>
</html>

Ce traitement est bien entendu gourmand et est à utiliser avant la mise en page de page/template/partial.

\\ tags: , , ,

Aug 07

Un serveur dédié c’est bien mais ça coûte cher.
La plupart du temps, je propose à mes clients de l’hébergement mutualisé avec accès FTP, en général tout le monde connait et sait utiliser un client FTP mais les mises à jour avec ce protocole sont fastidieuses.

Heureusement, certains clients utilisent parfois de bons outils : les outils de gestion de version (svn, cvs …).
Voici un petit script que j’utilise pour donner un accès ssh à un utilisateur sur un serveur mutualisé en toute sécurité.
Il pourra ainsi se logguer sur la machine, effectuer les quelques commandes que je lui ai mis à
disposition (cd, cat, chmod, chown, cp, grep, gunzip, gzip mkdir, more, mv, rm, tar, svn et vi)
Avec ces commandes il peut mettre à jour son site tout seul (site de production ou de préproduction).
Afin qu’il ne puisse absolument pas voir les fichiers des autres clients, son compte est “emprisonné” dans ce qu’on appelle un chroot. Un utilisateur chrooté est un utilisateur auquel on a redéfini la racine (/). En plaçant la racine dans le répertoire de l’utilisateur, il ne peut pas voir les fichiers qui se trouvent au dessus.

Voici une image (horrible) mais qui symbolise très bien le fonctionnement:

(image provenant de sun.com)

Dans le nouveau répertoire racine, on recrée l’arborescence (soit à la main, soit avec un bootstrap par exemple le package debootstrap).

Notez que la création d’un chroot avec debootstrap permet d’avoir une distrib complète en quelques secondes. Ce qui est intéressant également avec cette méthode c’est qu’on peut installer des distributions complètement différentes de celle installée initialement.
Encore mieux que le debootstrap, les serveurs virtuels permettent une meilleur gestion de la partie matérielle.

Revenons à notre simple chroot, voici le script inspiré d’autres trouvés sur le net à droite à gauche datant de quelques années mais qui ne fonctionnaient pas, notamment la gestion des bibliothèques dynamique et des commandes à autoriser.

#!/bin/bash
if [ "$#" != 1 ];
then
  echo "Usage : $0 "
  exit 255;
fi

# list of available commands
cmd="/bin/bash /bin/cat /bin/chmod /bin/chown /bin/cp /bin/grep \
        /bin/gunzip /bin/gzip /bin/ls /bin/mkdir /bin/more /bin/mv /bin/rm /bin/tar \
        /usr/bin/svn /usr/bin/vi"

USER=$1
GROUP=chroot
groupadd "${GROUP}" > /dev/null 2>&1
useradd -c "JailsUser" -d "/home/chroot/${USER}/" -g "${GROUP}" -s "/bin/chroot" "${USER}"

echo "#!/bin/bash\nexec -c /usr/sbin/chroot /home/chroot/\$USER /bin/bash" > /bin/chroot
chmod 555 /bin/chroot

echo "User Password"
passwd "${USER}" > /dev/null

mkdir -p /home/chroot/${USER}/bin/ /home/chroot/${USER}/lib/ /home/chroot/${USER}/dev/
cd /home/chroot/
chmod -R 700 ${USER}

for i in $cmd
  do
    cp -R $i /home/chroot/${USER}/bin/
    # TODO : improve with a simple sed
    sudo ldd $i  | grep '/' | cut -d ">" -f2 \
      | cut -d "(" -f1  \
      | sed -e "s/[\t ]//g" \
      | sed -e "s/^/sudo cp /" \
      | sed -e "s/$/ \/home\/chroot\/${USER}\/lib\//" | bash
  done;
# for using /dev/null
mknod /home/chroot/${USER}/dev/null c 1 3 -m 666
chown -R "${USER}:${GROUP}" /home/chroot/${USER}
chmod u+s /usr/sbin/chroot
echo "User \"${USER}\" created and in jails !"
\\ tags: , , ,

Jul 23

salon linux 2009
Le salon Linux 2009, le 10ème, ouvrira ses portes les 31 mars, 1er et 2 avril 2009 à Paris (Hall 2.2, porte de Versailles).

Quelques chiffres pour ce salon linux 2009 :

  • 3 jours
  • 10 000 visiteurs
  • 220 exposants
  • 550 auditeurs

Vous pouvez déposer vos demandes d’interventions sur  le site www.confsolutionslinuxparis.com jusqu’au 3 octobre 2008, voici les sujets de ce salon 2009 :

  • Sécurité
  • Gestion des individus et des identités
  • SGBD
  • Industrialiser les développements JavaEE
  • SOA et Logiciels Libres
  • Informatique industrielle
  • Data Center et Logiciels libres
  • Virtualisation et Clusters
  • Gouvernance des projets Open Source en entreprise
  • Développeurs
  • Poste de travail
  • Outils de gestion de contenu
  • Plates formes décisionnelles en open source
  • Gestion d’entreprise en Open Source
  • Open Source vs Saas : quels choix pour les outils de gestion d’entreprise
  • Collaboration 2.0 : les outils du web et réseaux sociaux adaptés à l’entreprise
  • Web 2.0
  • Votre plateforme internet et intranet avec PHP
  • Zope et Plone
  • Administration électronique libre
  • Culture et numérique
  • Logiciels libres et interopérabilité
  • L’Europe et la commission européenne
  • Session CNDP

Pas mal de chose dans ce programme, donc rendez vous au salon linux 2009 !!

\\ tags: , , ,

Jul 16

PhpTv est une nouvelle emission sur le net parlant bien entendu de PHP.

Dans leur première émission, l’équipe de PhpTv aborde plusieurs sujets:

Le  Google summer of code, PHP 5.3, un comparatif de framework fait par Clever Age (mais à mon avis pas du tout impartial). Ils ont également interviewé e-TF1 sur leurs developpements et leurs developpeurs et enfin, nous avons droit à un petit résumé de Phar.

Cette émission est une bonne idée, techniquement très bien conçue et articulé comme les plus grand journaux télé. Mais personnellement j’ai eu du mal à rester sur mon siège, je ne sais pas si ce sont les sujets trop peu techniques ou si c’est le manque de demonstration mais l’ennui m’a vite gagné, et ce ne sont pas les blagues de geek comme la petit phrase de fin “$monsieur, $madame, exit(0) ” qui vont me captiver. Etant membre de l’AFUP, j’ai assisté à quelques conférences qui était plus longueS mais de loin plus interressantes.

Je pense qu’il va falloir faire un choix: A qui s’adresse cette emission ?

Aux développeurs ?
Aux décideurs ?

A tous ? … ca risque d’être compliqué.

Bref, très bonne initiative, surtout quand on voit le nombre d’utilisateurs et la professionalisation de PHP, très bonne réalisation, mais le fond reste à travailler en fonction de la cible choisie.

http://www.phptv.fr/

\\ tags: , , ,

Jun 23

Dans la guerre Internet Explorer contre Mozilla Firefox beaucoup de critères entres en jeux:

  • On dit que Firefox est plus rapide que Internet Explorer
  • On dit que Internet Explorer est moins gourmand en mémoire que Firefox
  • On dit que Firefox respecte les normes, contrairement à Internet Explorer.
  • On dit pas mal de choses, un peu de tout et parfois même du n’importe quoi.

J’aimerais apporter deux exemples simples :

1) Punycode

Hier, un ado me demande le nom d’un logiciel pour lire les dvd et divx. Je lui annonce VLC, ce à quoi il me répond :
“Je vais sur télécharger point  com ?”
Étantoccupé à autre chose, Je gromelle un “humm ouais”.
Quand au bout de deux minutes j’entends :
“je vais demander à mon père la carte bleue”
????? Je regarde et m’aperçois qu’il n’est pas sur
telecharger.com
mais sur
télécharger.com
lequel demande un numéro de carte bleu … ba bien sûr ….
Après s’être pris une claque derrière les oreilles, je lui explique la différences entre les deux urls.

S’il avait utilisé Firefox, il aurait pu se rendre compte de son erreur (s’il avait réfléchi aussi mais bon … c’est un ado … ).
En effet, lorsque que l’on tappe une url avec accents sur IE, elle ne sont pas traduite en leurs équivalents en “Punycode”, alors qu’avec Firefox elles sont traduites en Punycode.

Petit définition Wikipedia de “Punycode”:

Punycode (littéralement «code chétif») est une syntaxe de codage simple définie dans la RFC 3492 et conçue pour être utilisée en adéquation avec les noms de domaines internationalisés dans les applications les supportant (cf RFC 3490).

Voici deux screenshots pour illustrer, regardez bien les urls.


capture sans transcription punycode

capture avec transcription punycode

2) Pyshing, malware et tout leurs amis sympa

Petite définition de Wikipédia :

Pishing :
Un logiciel espion (en anglais spyware), mouchard ou espiogiciel, est un logiciel malveillant qui s’installe dans un ordinateur dans le but de collecter et transférer des informations sur l’environnement dans lequel il s’est installé, très souvent sans que l’utilisateur n’en ait connaissance. L’essor de ce type de logiciel est associé à celui d’Internet, qui lui sert de moyen de transmission de données.

Malware : Un logiciel malveillant (malware en anglais) est un logiciel développé dans le but de nuire à un système informatique. Les virus et les vers sont les deux exemples de logiciels malveillants les plus connus.

Qui n’a jamais reçu d’email de la banque avec pleins de fautes d’orthographe pour vite aller se loguer sur lecreditlyonnais.com@78.45.23.45 ou autre truc du genre ?
Pas mal à la mode aussi les fameux sites qui vous aident à découvrir quelles personnes vous “bloquent” sur msn …

Lorsque que l’on essai d’aller sur ces sites avec IE, pas de problème, pas d’avertissement. On y accède. Mais voici ce que l’on obtient avec Firefox :

capture de detection de malware et sypware avec firefox 3

Plutôt efficace non ?

Bref :  Firefox c’est bon, mangez en !

\\ tags: , , , ,

Jun 18

Vous aviez toujours rêvé de savoir ce que le nom de votre dernière distribution Ubuntu veut dire en français ?

Voici les traductions :

Version Nom Nom en français
Ubuntu 4.10 The Warty Warthog le phacochère verruqueux
Ubuntu 6.06 LTS The Dapper Drake le canard pimpant
Ubuntu 6.10 The Edgy Eft la salamandre énervée
Ubuntu 7.04 The Feisty Fawn le faon courageux
Ubuntu 7.10 The Gutsy Gibbon le gibbon fougueux
Ubuntu 8.04 LTS The Hardy Heron le héron robuste
Ubuntu 8.10 The Intrepid Ibbex le bouquetin intrépide

Par contre, c’est à se demander ce qu’ils prennent chez ubuntu …

On peut jouer aussi ?

  • The Jagged Jaguar
  • The K….. Koala

Source : ubuntu-fr.org

L'inventeur de l'hydrogommage.

Voici les nouveaux sites qui parlent de l'hydrogommage: hydrogommage.org, procédé breveté qui permet de nettoyer en douceur toutes surfaces grâce à une faible pression et un fort débit d'eau. Sur ce site, vous trouverez des informations concernant le brevet de l'hydrogommage.

Pour ce qui est de la technique de l'hydrogommage, vous pouvez vous rendre sur hydrogommage.net et vous saurez tous sur l'hydrogommage.

Logiciel de partage d'agenda, logiciel de livraison, logiciel de courtage, logiciel de gestion.

Voici un site pour trouver des logiciels pour la gestion d'agenda et autres logiciels : www.softpme.fr

Vous cherchez un plombier pour une fuite ou des travaux de plomberie ?

Voici un nouveau site, un plombier.com rempli d'informations sur les plombier qui vous permet d'en savoir un peu plus sur les devis de plombier ou sur les différents types de factures.

Vous y trouverez aussi plein d'informtion sur les formations pour devenir plombier.