August 17th, 2010 — Tutoriel
Voici la commande que j’utilise pour réduire le volume d’un PDF. Cela utilise ghostscript :
%> gs -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dTextAlphaBits=4 -dPDFSETTINGS=/ebook -sOUTPUTFILE=destination.small.pdf -f source.pdf
Cela permet souvent de compresser le PDF par 2 ou 3. Le gain est surtout important lorsque le PDF contient des images.
August 11th, 2010 — API, BSD - Berkeley Software Distribution License, Développement, Java, LGPL - Lesser General Public License, Lien, Technique
Pour persister un modèle d’objets sur un fichier, voici deux API qui s’en occupent sans se prendre la tête :
- Prevayler (BSD) supporte des transactions
- JOAFIP (LGPL) permet de manipuler de gros volumes
Et NoDB qui mélange Prevlayer avec Lucène
Il est aussi possible d’utiliser des outils comme xstream ou une implémentation de l’API JAXB pour utiliser des fichiers xml.
July 3rd, 2010 — Apache License, Lien, Serveur, Technique
Base de données NoSQL : Membase.org. C’est memcached avec de la persistence.
June 13th, 2010 — Article, Développement, Documentation, Java, Lien, Tutoriel
June 9th, 2010 — API, Commerciale, Développement, Java, Lien, Serveur, Technique
API Java commerciale pour s’interfacer avec des serveur MS-Exchange
Moyosoft – Java Bridge to Exchange.
June 8th, 2010 — Commerciale, Développement, En-ligne, Lien, Logiciel, Technique
Service en ligne permettant de simuler des visites pour faire des tests de montée en charge d’un site/application.
Il est possible de l’essayer gratuitement avec un teste de moins de “50 visiteurs“.
Load Impact – Free web site load test.
June 8th, 2010 — GPL - General Public License, Lien, PHP, Serveur, Technique
Logiciel simple pour gérer ses statistiques de visites.
SlimStat: Simple web analytics.
June 8th, 2010 — GPL - General Public License, Lien, PHP, Serveur, Technique
Logiciel GPL pour faire de l’analyse de trafic de votre site. Se présente comme une alternative à Google Analytics.
Piwik – Web analytics – Open source.
June 8th, 2010 — Développement, Interface utilisateur, Javascript, LGPL - Lesser General Public License, Lien, Serveur
Un ensemble de widgets pour JQuery pour construire des interfaces utilisateurs sur JQuery Plugins par web-delicious.
Il y a :
- Un calendrier dans le style de celui de google – ils le présentent comme un clone,
- Un panneau défilant pour les entêtes d’onglets,
- Un arbre avec des cases-à-cocher,
- Un sélecteur de date,
- Un menu contextuel sur plusieurs niveaux.
June 3rd, 2010 — CDDL - Common Development and Distribution License, Développement, Documentation, Java, Lien, Logiciel, Serveur, Technique, Web-service
June 3rd, 2010 — CPL - Common Public License, Développement, Java, Lien, Logiciel, Technique
January 12th, 2010 — Développement
C’est toujours un peu compliqué de s’y retrouver dans toutes ces versions, alors voilà un résumé extrait de cet article intéressant sur JSTL.
| Versions de |
| Servlet |
JSP |
JSTL |
Java EE |
Java SE |
| 3.0 |
2.2 |
1.2 |
6 |
6.0 |
| 2.5 |
2.1 |
1.2 |
5 |
5.0 |
| 2.4 |
2.0 |
1.1 |
1.4 |
1.4 |
| 2.3 |
1.2 |
x |
1.3 |
1.3 |
| 2.2 |
1.1 |
x |
1.2 |
|
October 2nd, 2009 — Développement
Liste d’outils pratiques pour analyser le chargement de pages web :
- Extensions à FireFox :
- Pour Internet Explorer
- Pour Safari
- Web Inspector (intégré à Safari, il faut activer le menu développement).
March 5th, 2009 — Développement
Paramètre Max Packet Size pour les grosses requêtes
Il faut augmenter la valeur du paramètre max_allowed_packet dans le fichier de configuration de MySQL pour permettre de gérer les grosses requêtes : principalement pour les tables qui contiennent des BLOB et CLOB qui peuvent être volumineux.
Méthodes
Éditer le fichier my.ini
Ajouter ce qui suit dans la section [mysqld] du fichier de configuration
#Max packetlength to send/receive from to server.
max_allowed_packet=8M
Utiliser l’interface graphique MySQL Administrator
Modifier le paramètre dans l’interface graphique comme dans la capture d’écran suivant :

MySQL : modification du paramètre "max_packet_size"
Importer une base de Windows à Linux
La gestion des noms de tables est configurée différemment par défaut sous Windows ou Linux :
- Sous Windows il ne tient pas compte de la casse,
- Sous Linux il en tient compte.
Le passage du contenu d’une base de données d’un OS à un autre peut donc être problématique, principalement dans le sens Windows -> Linux. En effet, faire le dump depuis Windows va minimiser tous les noms de tables. Et si jamais le code source de votre application référence les tables avec des majuscules, cela peut posser des soucis. Surtout qu’il n’est pas toujours possible de re-écrire le code pour n’utiliser que des noms de tables en minuscules. Voici les solutions que j’utilise dans ces cas-là.
Choix 1 : Modifier la configuration du MySQL sous Linux
Pour importer une base MySQL depuis une machine Windows vers une machine Linux, il est possible de configurer le serveur MySQL sous Linux avec le paramètre lower_case_table_names à 1. Pour cela, éditer le fichier my.ini et placer dans la section [mysqld] la ligne suivante :
set-variable = lower_case_table_names=1
Voir la documentation MySQL pour plus de détails sur ce sujet.
Choix 2 : Transformer le fichier de dump
Si il n’est pas possible de modifier la configuration du serveur MySQL sous linux, il reste la solution – beaucoup plus sport – qui consiste à modifier le fichier de dump. En fait, il va falloir diviser le dump en deux fichiers :
Le premier fichier qui ne contient que la structure de la base : dump.struct.sql Il peut être créé avec la commande suivante :
mysqldump -hHOSTNAME -uUSER -p -d DBNAME > dump.struct.sql
Le deuxième fichier qui ne contient que les données de la base : dump.data.sql Il peut être créé avec la commande suivante (–hex-blob pour exporter les binaires en hexadécimal et –extended-insert=false pour avoir une commande INSERT par enregistrement) :
mysqldump -hHOSTNAME -uUSER -p --hex-blob --extended-insert=false -t DBNAME > dump.data.sql
Il va ensuite falloir transformer ces fichiers pour que les noms des tables soient en majuscules :
Pour le fichier dump.struct.sql
C’est l’opération la plus simple. Utilisez la commande ‘tr‘ comme suit :
$ cat dump.struct.sql | tr '[:lower:]' '[:upper:]' > dump.struct.upper.sql
Et importer le fichier dump.struct.upper.sql résultant dans la base.
Pour le fichier dump.data.sql
Là c’est un peu plus compliqué, car on ne veut pas tout mettre en majuscules, car ce fichier contient aussi les données des différentes tables de notre base.
Note : il est à rapeller que le fichier dump.data.sql ne contient qu’une ligne de données – ie un INSERT – par enregistrement de chaque table.
Utiliser la commande ‘awk‘ pour modifier les commandes ‘INSERT INTO‘ et ‘LOCK TABLE‘ comme suit – chaque commande awk doit être sur une seule ligne :
$ awk '$1 == "LOCK" || $1 == "INSERT" { $3 = toupper($3) ; print $0 };
$1 != "INSERT" && $1 != "LOCK" {print $0}; ' dump.data.sql > dump.data.upper.sql
En fonction de la structure du fichier d’import des données, il se peut que le nom des tables soit utilisé dans d’autres commandes, comme par exemple des commandes pour ignorer les intégrités référentielles : ALTER TABLE `une_table` DISABLE KEYS. Il faut dans ce cas se baser sur les scripts ci-dessus pour créer un nouveau qui corrigera ce problème.
Il n’y a plus qu’à importer le fichier dump.data.upper.sql dans la base MySQL.
July 29th, 2008 — Brève
Pour obtenir le code IMEI de son GSM, il faut saisir la suite suivante :
*#06#
Et le téléphone affiche le code.
Simple.