Ajout de bibliothèques à PERL

PERL a celà de bien qu’il intègre son outil de téléchargement de bibliothèque … Encore faut-il avoir sous la main une doc pour s’en servir :

  • taper la commande perl -MCPAN -e shell;
  • répondre aux questions
  • enfin taper install Package::Module

C’est tout simple !

Licences GPL et droit Français

Un ensemble de laboratoires français ont concocté une license compatible avec la GPL et le droit français, notemment en ce qui concerne la responsabilité du developpeur.
La license

Pool de connexions dynamique

Pool de connexions dynamique SourceForge.net Logo

Ce projet est un pool de connexions, prévu pour une base de donnée MySql, mais normalement adaptable dès lors qu’un driver jdbc est disponible.
Ce pool est dynamique, car il adapte son nombre de connexions à la base de donnée en fonction des besoins instantanés et tente d’anticiper les besoins à venir.
Le pool est paramétrable pour ce qui est de ses pas d’incrément, sa taille de départ et autre…
Un Thread est utilisé pour la surveillance du pool, indiquant son état courant à interval régulier. Ce thread détecte les fuites de connexions et renouvèle régulièrement les connexions du pool.Ce pool utilise log4j pour les traces d’erreur et le package disk.tools.sllist inclus dans l’archive.


29-08-2005 : DDCP new release V1.1 to fix a Statement Pool bug : update your version.


01-11-2004 : DDCP is now in production status : version 1.0 created.


01-08-2004 : New version of Disk Database Connection Pool and Sourceforge project creation
This new version add :

  • A real Statement Pool management.
  • A pool factory to manage multiple database connexion
  • Some database transaction facility
  • A properties file to configure pool
  • A short sample code
  • License modification for CeCILL in France and Gnu/PGL

You can access to sourceforge projet web page to report bug, download lastest version… Just use the following link here


Me contacter au sujet de l’utilisation de ces sources : clickez ici.

Ce package, membre de disk offre un pool de connexion dynamique à une base au travers d’un driver jdbc. Il distribue des connexions ou des statements. Son utilisation demande de le dériver dans une classe fille singleton (un exemple viendra) ainsi, il est possible d’utiliser plusieurs fois le pool, sur des bases différentes dans une même application.

Télécharger :
* ConnexionPool.0v1.zip Version 0.1
* ddcp.src.v0.95b.tar.gz Version 0.95 beta and laters

Liste Chaînée Synchronisée en Java

Deux objectifs à ce projet :

  • Avoir une liste chaînée basée sur une vrai liste et non un Vector. En effet cette dernière structure n’est pas performante lors des suppressions/insertion d’élements.
  • Avoir une liste synchronisée puisque LinkedList ne l’est pas. De cette façon, son utilisation en contexte multithread est simplifiée.

Ce package, membre de disk.tools offre une liste doublement chaînée et son Itérateur. Celle-ci peut contenir tout type d’objet. La classe implémente les interfaces java.util.List, java.util.Iterator et java.util.ListIterator.
Toutes les fonctions ne sont pas encore implémentées (entre autre celles qui permettent d’accéder à la liste par un index).

Télécharger sllist.zip Version 0.1

Faire executer un script par root

Admettons que vous ayez un acces utilisateur lambda a une de vos machine, par exemple au travers d’un script telnet HTTP. Vous souhaitez passer une commande qui necessite les droits root. Pour celà, la solution consiste à lancer la commande suivante :

echo RootPassword | exec su root -c Commande

Eventuellement, la Commande peut être l’appel à un script : “sh script”

Connaitre la version et le type d’un serveur web

Pour connaitre le type de serveur web a qui l’on a affaire, une solution est de se connecter à l’aide de la commande telnet sur le serveur et de l’interroger :

telnet adresse_serveur 80
puis tapez (rien ne va s’afficher)
GET / HTTP / 1.0
suivit de 2 carriage return

Le serveur doit vous renvoyer un message avec en entête sa version et son nom.

Renomer une liste de fichiers avec des espaces

Lorsque l’on souhaite renommer un ensemble de fichiers contenant des caractères espace, l’utilisation d’une boucle de type :

for i in `find . -name “*” ; do

done

n’est par vraiement envisageable, en effet, les espaces identifiés comme des séparateurs de mots font que i prend pour valeur des sous ensembles du nom.

Pour résoudre ce problème, une solution consiste à modifier la variable IFS dont le rôle est de définir les séparateur de mots dans le shell bash.
La solution peut être la suivante :

export IFS=$’\n’
for i in `find . -name “*” ; do

done

i prend alors successivement les noms des fichiers, espaces inclus.

Changer l’encodage des caractères avec Apache2

Lors du passage de ce site sur Apache2, j’ai été confronté à des problèmes d’affichage des caractères, Mozilla n’affichait d’ailleurs même pas tous les caratères.
Ce problème vient de l’encodage par défaut des caractère qui est en UTF-8. Ce format ne semble pas totalement supporté par les borwsers ou alors mes documents sources n’utilisent pas ce format.

La solution consiste donc à modifier le format par défaut pour revenir à quelque chose de standard. Pour celà, il faut éditer /etc/apache2/mod_mime-default.conf et changer l’option AddDefaultCharset … pour AddDefaultCharset ISO-8859-1 par exemple.

Dans le cas de l’utilisation d’apache1, la solution est la même hors mis que le fichier doit être /etc/httpd/httpd.conf.

Notez que cet encodage est plutot obsolete et ne gère entre autre pas l’euro, ISO-8859-15 serait peut être plus adapté.

Complément : A noter que j’ai aussi rencontré des problèmes avec les accents lorsque je faisais des include de pages html depuis une jsp. Je ne saurais vraiment en expliquer la cause mais la solution simple et rapide que j’ai utilisé a été de renomer mes fichiers .html en .jsp ! depuis ça fonctionne vraiement mieux.