Les développeurs HTML le savent bien : impossible de faire des styles uniformes sous tous les navigateurs ! Chacun a ses particularités : chrome et ses webkit-, safari qui n’en met pas et firefox qui -moz ifie un peu tout… et IE qui ne fait rien !

La solution pour IE : PIE.htc

La solution proposée ici a été développée pour supporter le CSS 3 sur Internet Explorer. Pour ce faire, on utilise une particularité CSS de Internet Explorer pour exécuter du JavaScript, qui va recréer le style CSS 3.

Voir la démo sur css3pie.com

Mise en place

Il suffit de rajouter une ligne CSS au style des éléments qui ont du CSS3.

  1. <style type="text/css">
  2. .rounded-corner5
  3. {
  4.   -webkit-border-radius: 5px; /* Chrome */
  5.   border-radius: 5px; /* CSS3 */
  6.   -moz-border-radius: 5px; /* Mozilla */
  7.   behavior: url(PIE.htc); /* Internet Explorer */
  8. }
  9. </style>

Exemple d’utilisation

Ceci est un div en exemple, avec des bords arrondis

Dépannage : quelques règles à respecter tout de même…

Il y a principalement deux problèmes qui peuvent être rencontrés :

  1. Mime-type : par défaut sous linux, le fichier .htc est reconnu comme étant du type text/html, mais doit être du type text/x-component pour que ça fonctionne. Plusieurs solutions, en fonction de ce que vous pouvez faire : modifier la configuration du serveur /etc/mime.types pour rajouter ce champ, rajouter la ligne AddType text/x-component .htc à votre configuration apache ou .htaccess, ou enfin créer un fichier de script du type PHP en utilisant le code header('Content-type: text/x-component') pour spécifier le type contenu.
  2. Domaine, répertoire et droits : le CSS ne va fonctionner que si le fichier .htc est sur le même domaine que le site qui sert le HTML : impossible donc d’utiliser la traditionnelle et non moins nécessaire segmentation des contenus dynamiques/statiques. Du coup, les rendu CSS3 utilisant des url() risquent d’être mal considérées si le chemin est relatif.

English version : CSS3 for Internet Explorer with PIE.htc

Les développeurs le savent bien : comment faire marcher son site sur les autres navigateurs relève à la fois du casse-tête et de la patience : le casse-tête de faire des feuilles de styles compatibles, et la patience pour avoir un environnement permettant de tester tout ça…

IETester

IETester est un logiciel qui vous permet de tester votre site internet sous les différentes versions d’Internet Explorer : IE5.5, IE6, IE6, IE8, IE9, IE10…

Le principe est simple : vous avez des onglets qui vont appeler les différents moteurs de rendus des précédentes versions de IE.

Cerise sur le gâteau : des outils de développements

Non content de fournir déjà ce premier service, IETester englobe aussi des outils de développement : la possibilité de voir le code HTML interprété, mais aussi le style interprété (par le parser IE, pas par IE lui-même !), un DOM explorer…

Par ailleurs, le logiciel dispose aussi de boutons raccourcis bien pratique, comme le rechargement d’une page sans l’utilisation du cache.

Limites : les extensions

Malheureusement – et ce n’est pas du tout un reproche tellement la problématique est différente et complexe – ceci n’est pas une solution pour tester ses extensions sous les différentes version de IE, et ce pour plusieurs raisons :

  • IETester n’utilise que le moteur de rendu, donc il n’est pas possible d’ajouter des interfaces (boutons, toolbar, …) ou des BHO a fortiori ;
  • les extensions doivent aussi être testées sous les différentes version de windows et différents environnements : XP, Vista, 7 sous différents SP, mais aussi en mode de confidentialité ou non.

Pour ça, je crois que la seule solution est d’utiliser des Virtual Machines conjointement avec des Snapshots.

Voici un petit moyen de tester si un certificat ssl est valide, et s’il le restera encore pendant un certain temps…

Openssl s_client et openssl x509

Openssl donne deux outils qui vont nous servir.

1. Le premier permet de se connecter à un serveur pour envoyer des requêtes

openssl s_client -connect www.openssl.org:443

Cette commande va se connecter au server www.openssl.org sur le port 443 en utilisant le protocole SSL. Vous pourrez ensuite communiquer avec le serveur en HTTP :

GET / HTTP/1.0
Host : www.openssl.org

et le serveur va vous renvoyer la page. On peut aussi utiliser cette technique sur d’autres ports et d’autres protocoles, comme pour le SMTPs, le POPs, etc.

2. Le deuxième permet d’avoir des informations sur le certificat : est-il valide ? Quelle est sa date d’expiration ? Il suffit de piper la première commande avec la deuxième :

echo | openssl s_client -connect www.openssl.org:443 | openssl x509 -noout -enddate

Quelques astuces avec openssl

  • Si openssl vous sort qu’un certificat dans la chaîne n’est pas valide, donnez-lui le chemin vers le dossier contenant les certificats racines, par exemple -CApath /etc/ssl/certs
  • Si vous voulez éviter d’avoir les erreurs de la première commande en sortie, envoyez-les vers /dev/null : openssl s_client -connect www.openssl.org:443 2> /dev/null
  • Si vous voulez connaitres les différentes options de openssl s_client ou de openssl x509, essayez man ssl-s_client ou man ssl-x509

Petit bonus : le script PHP qui teste si un certificat expire bientôt

  1. $args = 'www.openssl.org:443';
  2. $command =
  3.   'date +%s -d "$(LANG=C openssl s_client -connect '
  4.   .escapeshellarg($args)
  5.   .' -CApath /etc/ssl/certs/ < /dev/null 2>/dev/null | openssl x509 -noout -text -enddate | tail -n1 | cut -d= -f2)"';
  6.  
  7. exec($command, $output);
  8.  
  9. $time = array_shift($output);
  10. if(!is_numeric($time) || $time == 0)
  11. {
  12.   // Erreur : impossible de tester la validité du certificat : pourquoi ?
  13. }
  14. else
  15. {
  16.   // On va avoir le nombre de jour restant
  17.   $nDaysLeft = floor(($time - time())/86400);
  18. }
  19.  

Articles sources

Tester la date de fin d’un certificat : http://www.brandonhutchinson.com/When_does_my_certificate_expire%3F.html
Tester la validité du certificat avec les certificats racines : http://stackoverflow.com/questions/4103472/ssl-handshake-fails-with-a-verisign-chain-certificate-that-contains-two-ca-si

Voici comment mettre en pause un processus sous linux, et comment le redémarrer.

kill, ne me tue pas !

La commande kill permet d’envoyer des signaux à un processus, par exemple pour lui dire de s’arrêter :
kill $pid

On peut préciser à la commande kill le signal que l’on souhaite envoyer. Par exemple, pour tuer un processus récalcitrant à s’arrêter, on peut envoyer le signal 9 SIGKILL :
kill -9 $pid

Stop and restart

Pour dire à un processus de s’arrêter temporairement, puis de redémarrer, il faut envoyer les signaux SIGSTOP pour l’arrêter, et SIGCONT pour lui dire de continuer :

kill -SIGSTOP $pid # Stop
kill -SIGCONT $pid # Start

Astuce : si vous ne voulez pas recopier le numéro du processus et que vous préférez utiliser le nom de l’exécutable, utilisez la commande killall.

Ceci est un autre petit memo sur les iptables. Ici, nous allons voir comment rediriger toutes les requêtes sortantes vers un port local de notre machine. Le but est de proposer une solution pour accéder à des services qui se trouvent derrière un firewall, alors que l’on possède par exemple une connexion ssh.

Ce memo complète le précédent sur la redirection de paquets qui nous sont destinés.

Petit rappel : mise en place du NAT

Pour créer une passerelle, il faut activer le transfert de paquet et la translation d’adresses :

sysctl net.ipv4.ip_forward=1
iptables -A POSTROUTING -o eth0 -j MASQUERADE

Mise en place d’un tunnel transparent

On procède ici en deux étapes : d’abord la création du tunnel en tant que tel :

ssh -L port_local:ip_destination:port_destination user@host

port_local : c’est le port de notre machine sur lequel le service sera disponible
ip_destination : c’est l’ip (ou le nom dns) de la machine à laquelle nous voulons avoir accès
port_destination : c’est le port de la machine à laquelle nous voulons avoir accès
user@host : ce sont les utilisateurs et la machine sur laquelle nous allons nous connecter pour accéder à notre destination finale

Ensuite, nous allons automatiser la redirection des paquets avec iptables :

iptables -t nat -A OUTPUT -d $ip_destination -p tcp \
  --dport $port_destination -j REDIRECT --to-ports $port_local
iptables -t nat -A PREROUTING -d $ip_destination -p tcp \
  --dport $port_destination -j REDIRECT --to-ports $port_local

La première ligne est pour nous : elle permet à la machine elle-même d’accéder dorénavant au nouveau service comme d’habitude.
La deuxième ligne est pour le nat à proprement parler : elle permet de rediriger automatiquement les paquets des machines qui nous utilisent comme passerelle.

Plus d’informations sur le fonctionnement des iptables : iptables tutorial, très complet.

Voici un cas pratique d’une fonctionnalité bien utile de Firefox : exécuter un code Javascript prédéfini sur une page web donnée.

Lorsque l’on va sur les sites iPhone avec Firefox (pourquoi faire ???), la barre de scroll n’est pas affichée. Il existe pourtant un moyen tout simple de l’afficher :

  • Créez un raccourci (bookmark) dans vos marques pages (sur la barre de marques-page personnelle, c’est encore mieux !) : « Marque-pages », « Organiser… » puis créez un raccourci (vous pouvez aussi faire un clic-droit sur la barre personnelle, puis « Nouveau marque-page ») ;
  • Nom : mettez ce que vous voulez ;
  • Adresse : mettez le code suivant : javascript:document.body.style.overflow="auto";(function(){})() ;
  • Ensuite, rendez-vous sur une page sans scrollbar, par exemple le portail sport de Orange pour mobile : http://sports.iphone.m.orange.fr/, et cliquez sur votre favori !

Astuce supplémentaire : utiliser un mot-clé pour les favoris

Pour appeler un favori directement depuis la barre d’adresse (sans avoir à chercher dans vos favoris), attribuez un mot-clé à votre marque page. Il suffit alors de taper le mot clé dans la barre d’adresse pour accéder à la page.

Par exemple, dans notre cas, tapez « M » comme mot-clé pour ce marque page. Rendez-vous sur la page, puis tapez « M » dans la barre d’adresse.

javascript:document.body.style.overflow= »auto »;(function(){})()

Crypter Chiffrer ses données, ça permet de protéger ses données. C’est surtout pratique pour viagra documents très personnels, ou confidentiels de bureau, que vous baladez sur une clé USB ou sur un ordinateur portable.

Truecrypt : un logiciel complet

Truecrypt est un logiciel qui vous permet de chiffrer vos données sous Windows, Mac OS et Linux. Et ce qui est top, c’est que ce chiffrement est compatible entre tous ces systèmes d’exploitation : vous pourrez utiliser par exemple la même clé USB chiffrée sur Linux ou sous Windows, entre différents ordinateurs ou en multiboot.

Cas pratique : multiboot windows et linux

Comme précisé ci-dessus, vous pouvez utiliser les mêmes fichiers sous Windows et sous Linux. Vous pouvez donc créer un Y:\ sous windows, et monter le système de fichier sous linux dans /media/crypt par exemple.

Voici les différentes utilisations que vous pouvez en faire :

  • Partage de média : partagez vos photos, vos vidéos, votre musique sur un disque dur chiffré et partagé entre linux et windows
  • Sauvegardez vos données importantes : conservez vos clés de sécurité (des impôts par exemple), vos scans de carte d’identité, votre compta, vos fichiers (|Open|Libre)Office  sur votre ordinateur. Si vous le perdez (dans le cas d’un portable, c’est plus probable que dans le cas d’un fixe !), alors vos données seront inaccessibles aux voleurs.
  • Dans le cas de Windows, utilisez les applications portables ! Ainsi, sauvegardez vos emails et vos données de surf sur le disque chiffré, en utilisant les versions portables de Firefox et Thunderbird.

Installation et configuration

Installer truecrypt sous Windows

Pour installer truecrypt, vous pouvez consulter le tutorial présenté sur le site de truecrypt, mais le logiciel est assez facile à dompter : si vous avez un doute, dites que vous voulez créer un fichier sur une partition existante, et ne pas utiliser une partition entière.

Ensuite, montez votre fichier chiffré, puis faites « sauvegarder les volumes favoris ». Ensuite, modifiez les préférences de l’application et cochez « monter les disques favoris au démarrage ».

Installer truecrypt sous linux

Sous linux, utilisez l’utilitaire de votre distribution pour installer truecrypt, ou téléchargez directement une archive pour votre distribution sur le site officiel. Dans le cas de gentoo, si vous avez des difficultés pour l’installer, n’hésitez pas à laisser un commentaire ! Mais sachez que Truecrypt utilise FUSE pour gérer le montage du filesystem et des modules noyau pour le chiffrement (Twofish, Serpent, Sha*, MD5*, RMD*, AES…) en fonction de ce que vous aurez choisi lors de la création du fichier chiffré.

Pour monter automatiquement au démarrage de KDE, vous pouvez utiliser le fichier suivant, qui va vous demander un mot de passe puis monter le fichier chiffré (adaptez-le à vos besoins !). Vous pouvez ensuite dire à KDE de le lancer à chaque ouverture de session.
Télécharger le script : http://blog.cyril.me/wp-content/uploads/2011/02/tc-mount.txt

Chiffrer une clé USB

Vous pouvez voir comment installer truecrypt sur une clé USB, pour ensuite pouvoir vous ballader avec vos données sur une clé USB en toute sécurité.

Attention : le chiffrement d’une clé USB va supprimer tout son contenu ! Sauvegardez d’abord vos données, créez le disque chiffré puis recopiez vos fichiers.

Plus d’infos sur l’installation sur une clé USB sur le site de truecrypt : installer truecrypt sur une clé USB.

Et voilà ! Free a annoncé il y a quelques jours que les appels passés depuis la Freebox seraient gratuits vers les mobiles, sans limitation de l’opérateur (en utilisation de bon père de famille, bien évidemment). Il faut pour cela avoir la nouvelle Freebox Revolution, disponible après un renouvellement de Freebox ou un nouvel abonnement.

Free, SIP et mobiles

Qu’en est-il des appels passés vers des mobiles avec le compte SIP ? Et bien on apprend qu’il ne faut pas trop rêver, mais un peu quand même : a priori, les appels ne seraient pas gratuits tout de suite, mais peut-être bientôt…

Après avoir parlé du client SIP iSipSimple qui est passée payant, voici une mise à jour du précédent post.

Le SIP : à quoi ça sert ?

Le SIP permet principalement de téléphoner sur des fixes ou mobiles en utilisant une connexion Internet. Certains opérateurs, comme Free, propose d’utiliser le SIP. Il vous est alors possible, dès lors que vous êtes connecté à Internet, de téléphoner en faisant comme si vous utilisiez votre ligne Free. Ce service permet donc de téléphoner gratuitement vers les fixes en France, même à l’étranger ! Ca vous permet même de recevoir des coups de fil !

Adore SIP Client

Cette application SIP iPhone permet, comme le faisait iSipSimple, de téléphoner en utilisant l’abonnement téléphonique d’une ligne SIP.

Points positifs :

  • J’ai pu tester l’application, et les qualités sonores d’émission et de réception étaient très bonnes.
  • Vous avez directement accès aux numéros qui sont enregistrés dans votre iPhone.

Point négatif : le logiciel ne supporte pas de configuration compliquée.

Après avoir passé en revue les différents comportements de navigation privée IE, Firefox, Chrome et la plus particulière navigation privée Safari 5 Desktop, voici un logiciel de navigation privée sur iPhone : Privately – Web Browser.

Privately – Web Browser

Ce logiciel est un navigateur sous iPhone qui permet de surfer de manière privée.

Comme expliqué sur le site officiel de l’application, Privately a les fonctionnalités suivantes :

  • Les pages visitées ne sont pas ajoutées à l’historique de navigation ;
  • Les recherches effectuées avec le champ de recherche ne sont pas sauvegardés ;
  • Les cookies sont supprimés dès que vous quittez l’application.