Blog Archives

Programmes auto-reproducteurs (quines)

Vous êtes-vous déjà demandé comment écrire un programme qui génère son propre code source ? Si vous n’avez jamais essayé, je vous conseille de prendre un peu de temps pour y réfléchir avant de lire la suite. Ce n’est pas évident, car chaque caractère ajouté dans le code source doit également apparaître sur la sortie… Un [...]

Keylogger sous GNU/Linux : enregistrer les touches tapées au clavier

En tant que root, il est bien sûr potentiellement possible de faire ce que l’on veut sur sa machine, comme enregistrer toutes les touches tapées au clavier (keylogger). Mais aussi incroyable (et inquiétant) que cela puisse paraître, il est possible de faire exactement la même chose… sans être root. Démonstration Et en plus, c’est tout [...]

Résoudre le cube-serpent 300 fois plus rapidement en C

Il y a 3 semaines, j’avais écrit un solveur de cube-serpent en Python. Un commentaire, en apparence anodin, m’a mis dans la tête une question que je ne pouvais pas laisser sans réponse : combien de fois plus rapidement s’exécuterait le même algorithme implémenté en C que celui en Python (interprêté) ? 2× ? 10× ? 50× ? Pour y [...]

Résoudre le cube-serpent en Python

Je me suis amusé à écrire un petit programme en Python qui résout le cube-serpent (ainsi nous pouvons dire qu’un serpent en résout un autre). Mon but était surtout d’apprendre le langage Python, avec un problème intéressant, pas trop compliqué (c’est de la force brute). Il m’a permis de découvrir différents aspects de Python. Je [...]

Authentification automatique à un réseau WiFi avec NetworkManager

Certains réseaux WiFi sont ouverts (sans clé de sécurité) mais nécessitent une authentification. C’est souvent le cas des points d’accès dans les gares, les hôtels, les campings… Cela concerne également les réseaux ouverts tels que FreeWifi. Une fois connecté à un tel réseau, lorsqu’avec votre navigateur vous tentez d’accéder à n’importe quel site, vous êtes [...]

Extraire les recherches Google des logs Apache

Aujourd’hui, c’est un billet de distraction pour geeks. Lister les recherches Si vous utilisez Apache, voici une commande qui liste dans l’ordre alphabétique les recherches Google ayant permis aux internautes d’arriver sur vos sites : php -r « echo urldecode(\ »`zgrep ‘http://www\.google\.\w*/’ /var/log/apache2/*|grep -o ‘[?&]q=[^&"]*’|cut -c4-`\ »); »|sort|uniq -c EDIT 25/06/2011 : cette commande semble échouer lorsque la liste des recherches [...]

Installer Ubuntu Server sur un Shuttle XS35

Je viens de migrer mon auto-hébergement vers cette nouvelle machine. Elle est très silencieuse (il n’y a pas de ventilateur) et consomme peu. Je n’envisageais pas d’écrire un billet, mais l’installation d’Ubuntu Server 11.04 ne se déroule pas sans incidents : Aucune interface réseau n’a été détectée C’est le genre de problèmes qu’on espère un jour [...]

1101 astuces pour Ubuntu 10.10

Dans ce billet, je vais partager avec vous quelques astuces pour des opérations courantes sous Ubuntu (Gnome, Compiz et Firefox plus précisément). Je me suis aperçu que finalement beaucoup ne connaissaient pas certains de ces petits détails bien pratiques. 1101 est à lire en binaire, ça fait légèrement moins qu’en décimal Gnome Positionnement d’un ascenseur [...]

Pluzz.fr : France Televisions lance son service de TV de rattrapage non lisible

Le 5 juillet (hier donc), France Télévisions a lancé son service de télévision de rattrapage, qui ne permet pas de lire les vidéos. À moins d’accepter d’installer un système d’exploitation particulier avec un logiciel particulier (propriétaires évidemment). C’est comme s’ils diffusaient leurs émissions uniquement pour les utilisateurs équipés d’une TV Sony ou Philips, et pas [...]

Splash screen Ubuntu Lucid Lynx (10.04) et pilote NVIDIA propriétaire

Ubuntu utilise maintenant Plymouth pour le processus de démarrage graphique. C’est maintenant le noyau qui s’occupe de la configuration graphique à la place de Xorg : c’est plus joli, plus rapide… Le problème, c’est que le logiciel propriétaire ne suit pas le rythme du logiciel libre. En particulier, le pilote NVIDIA propriétaire ne supporte pas encore [...]

Vidéo OGG Theora sur HTTPS (dans Firefox) : configurer Apache

Tout le monde a entendu parler de la balise <video/>, la nouveauté la plus médiatisée d’HTML5. Le format vidéo à utiliser sur le web fait polémique (Theora ou H264) à cause de brevets logiciels, toujours bien présents dès il s’agit de freiner l’innovation. Une situation qu’à mon avis seul Google peut résoudre. Mais ce n’est [...]

Installer une application .apk sur Android à partir d’un PC

J’expliquais, lors de mes premières impressions d’Android 2 sur le Motorola Milestone, qu’il était impossible d’installer un fichier .apk sans accepter les conditions d’utilisation du market ni configurer un compte gmail. C’est en fait possible, grâce à l’outil adb du SDK Android, à partir la connexion USB de l’ordinateur. Configurer le téléphone Pour que l’outil [...]

Tricher dans les jeux en modifiant la mémoire à chaud

Il y a longtemps, sur la première PlayStation, j’avais acheté un Action Replay qui permettait de modifier la mémoire à chaud pour « tricher » ou changer le comportement d’un jeu. Il est possible de faire la même chose sous GNU/Linux grâce à scanmem, qu’il faut installer : sudo apt-get install scanmem Nous allons le tester sur Gnometris [...]

Créer un serveur HTTP en 10 secondes sur Ubuntu grâce à Python

Il suffit d’aller dans le répertoire à partager et d’exécuter : $ python -m SimpleHTTPServer Serving HTTP on 0.0.0.0 port 8000 … Le répertoire sera chrooté et accessible sur http://localhost:8000. Par défaut, le port 8000 est utilisé, mais on peut le changer : $ python -m SimpleHTTPServer 1234 Serving HTTP on 0.0.0.0 port 1234 … Pour les [...]

Générer des mots de passe aléatoires

Il arrive de vouloir changer de mot de passe, et comme d’habitude, d’en vouloir un aléatoire. Le programme pwgen est bien pratique. Il génère au choix : des mots de passe qui sont facilement mémorisables par des humains, tout en restant aussi sécurisés que possible : pratique pour un mot de passe sans importance dont on veut [...]