Sommaire
Voici quelques uns des petits programmes que je réalise durant mon temps libre :
- Générer du XML en PHP
- Redémarrer son ordinateur sous Debian sans se connecter en root
- JSirtet - (encore) un Tetris en Java
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