laurent-richard.net

Sommaire

Voici quelques uns des petits programmes que je réalise durant mon temps libre :

Générer du XML en PHP

J'ai réalisé cette petite classe afin de pouvoir générer facilement mais surtout « proprement » du XML dans un script PHP : xml_node.php.txt.

L'utilisation est simple. Chaque noeud correspond à une instance de la classe XMLNode. Un objet XMLNode est composé d'un nom, d'une liste d'attributs (tableau associatif), de sa valeur et peut contenir d'autres noeuds :

require('xml_node.php');

$root = new XMLNode('root');

$child1 = new XMLNode('child1');
$child2 = new XMLNode('child2', array('attribute1' => 'value1'));
$child3 = new XMLNode('child3', array('attribute1' => 'value1', 'attribute2' => 'value2'));
$child31 = new XMLNode('child31');
$child311 = new XMLNode('child311');
$child312 = new XMLNode('child312');
$child312->setValue('Node child312 value');

$child31->addChild($child311);
$child31->addChild($child312);
$child3->addChild($child31);

$root->addChild($child1);
$root->addChild($child2);
$root->addChild($child3);

echo $root->generate();

On obtient ainsi le résultat suivant :

<?xml version="1.0" encoding="utf-8" ?>
<root>
	<child1 />
	<child2 attribute1="value1" />
	<child3 attribute1="value1" attribute2="value2">
		<child31>
			<child311 />
			<child312>
				Node child312 value
			</child312>
		</child31>
	</child3>
</root>

Redémarrer son ordinateur sous Debian sans se connecter en root

Si comme moi vous aves installé Debian sur votre machine personnelle et que vous souhaitez arrêter ou redémarrer l'ordinateur depuis Gnome, ce petit script vous sera utile.

Pour commencer, vous devez disposer du package zenity (en général installé par défaut avec Gnome) :

# apt-get install zenity

Copiez ensuite ce script dans votre répertoire personnel et donnez lui les droits d'exécution (chmod u+x) :

#!/bin/sh
choix="Que voulez-vous faire ?"
shutdown="Arreter l'ordinateur"
reboot="Redemarrer la machine"

action=`zenity --list --title "Arreter la machine" --radiolist --column=Choix
		--column "$choix" TRUE "$shutdown" FALSE "$reboot" `

case "$action" in
"$shutdown")
sudo /sbin/halt
;;
"$reboot")
sudo /sbin/reboot
;;
esac

Installez ensuite l'utilitaire sudo (si ce n'est pas déjà fait) :

# apt-get install sudo

Connectez vous en root et éditez le fichier /etc/sudoers avec l'utilitaire visudo:

# visudo

Donnez les permissions sur les programmes halt et reboot à l'utilisateur (remplacez "mon_utilisateur" par votre login par exemple) :

# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

# Host alias specification
User_Alias		SHUTDOWN_USERS = mon_utilisateur

# User alias specification
Host_Alias		ICI = localhost

# Cmnd alias specification
Cmnd_Alias		SHUTDOWN = /sbin/halt, /sbin/reboot

# User privilege specification
root		ALL=(ALL) ALL
SHUTDOWN_USERS	ICI = NOPASSWD: SHUTDOWN

Normalement, votre utilisateur pourra arrêter ou redémarrer sa machine sans entrer le mot de passe root, par simple exécution de ce script.

JSirtet - (encore) un Tetris en Java

Allez un peu de divertissement maintenant. Quoi de mieux qu'une petite partie de Tetris ? Vous pouvez Jouer en ligne ou bien télécharger les sources : jsirtet.tar.gz.

Compilation :

$ tar zxf jsirtet.tar.gz

$ javac Main.java MainWindow.java Board.java Renderer.java Piece.java
$ java Main