jeudi 3 décembre 2015

bash, vérifier que le fichier est "sourcé"

Le code suivant permet de vérifier que le script est sourcé et non exécuté



vendredi 20 novembre 2015

git, joli historique



Source : http://blog.xebia.fr/2015/11/13/git-essentials-1-log/

jeudi 5 mars 2015

python, connaitre le dernier jour d'un mois...

Il est possible de déterminer facilement le dernier jour d'un mois.

Pour cela on peut utiliser le module calendar (bibliothèque standard) qui est assez méconnu.



Le résultat indique pour Février 2015:
- que le mois comporte 28 jours
- que le premier jour du mois est un dimanche (0=Lundi, 1=Mardi, ... 6=Dimanche)

jeudi 19 février 2015

java, gestion des messages au singulier et pluriel

Java propose depuis longtemps la possibilité de gérer les singuliers/pluriels via MessageFormat.

Vous trouverez ci-dessous un exemple au travers de tests unitaires.

Maintenant, fini les rustines dans le code pour les libellés !



java, messageformat, singulier, pluriel

Python, envoyer des pièces attachées par mail

vendredi 6 février 2015

bash, heredocuments

Il est possible de désactiver les substitutions dans les heredocuments en bash.

Pour se faire, il suffit de quoter son nom.



Produit :

mercredi 4 février 2015

Spam vocal, Spam SMS comment lutter !!!

Le 0981662199 m'a appellé 3 fois en un quart d'heure.

En écoutant le répondeur, j'entends un bruit d'openspace très léger... Certainement fait exprès pour que je rappelle.

Une recherche sur internet fait apparaître que beaucoup de personnes se plaignent de ce numéro.

Un service permet de signaler les spams sms et vocaux de manière très simple.

La procédure est disponible à l'adresse suivante : http://www.33700-spam-sms.fr/index.html

Pour retenir et retrouver comment signaler, retenez le code postal de Mérignac (facile pour les girondins ;)

jeudi 29 janvier 2015

Github, script de remplacement de chaines de caractères

`sed` et `awk` sont très bien pour remplacer des chaines par d'autres.

Toutefois, le fait que ce soit des regexp qu'ils attendent complique l'utilisation lorsque la chaine fixe recherchée contient des caractères pouvant être interprétés comme des "opérateurs" de rexexp (`?` par exemple)

`sandr` est un outil qui permet de faire des recherches de chaines fixes ou non. Des options permettent d'extraire les chaines matchées/remplacées dans un fichier et d'appliquer des remplacements de masse (via une table de hachage).

D'autres options bien utiles sont disponibles mais je vous laisse les découvrir sur le projet github sandr.

Bonne découverte !

Github, script de connexion centralisé

Sur mon github (ici), j'ai mis à disposition un script de connexion centralisé.

Celui-ci est bien utile pour avoir tout sous la main (ssh, mysql direct ou via tunnel ssh, etc.)

Le script est extensible facilement.

La recherche de la "ressource" se fait par mot clé via un mini-moteur de recherche.

Des exemples d'utilisation se trouvent dans le README.

vendredi 16 janvier 2015

Bash, ajout d'un répertoire au PATH

Pour tester et ajouter un répertoire au PATH, on peut faire comme ceci dans son ~/.bashrc



L'utilisation d'un test avec regexp permet de garder une variable avec un contenu "propre".

mercredi 14 janvier 2015

Bash, comment faire pour exécuter du code en fonction de la présence de fichier*s*

Bash met à disposition des opérateurs pour tester l'existence de fichiers, leur type, droits d'accès...

Toutefois, dans certains cas, on peut souhaiter tester la présence de fichiers et appliquer un traitement si l'un d'entre eux existe.

On peut utiliser la commande ls couplée à if comme le montre l'exemple ci-dessous

mercredi 7 janvier 2015

bash, créer dynamiquement une liste de paramètres pour appeler une commande

Voici comment créer dynamiquement une liste de paramètres et l'utiliser dans des appels de commande.
Le cas des espaces dans les options est bien géré.

Dans le cas présent, cela sert à afficher une boite de dialogue (utilitaire whiptail livré d'office sous debian) pour que l'utilisateur puisse choisir les actions à effectuer



Pour des radioboutons, remplacer --selectbox par --radiobox