Pense-bete

Calculer des dates en BASH et PERL

Dans le sens le plus traditionnel, qui est celui des scripts shell (BASH, PERL…) , un script sert principalement à lancer et coordonner l’exécution de programmes.

Donc voilà, j’ai du faire des petites recherches ce matin, afin de manipuler des dates en BASH pour l’un de mes scripts.
J’ai besoin de lancer des traitements, avec en paramètre des dates. Parfois, j’aurais besoin de récupérer la date du jour (facile), parfois d’autres dates, comme la veille, le dernier jour du mois précédent, etc… . Bien évidemment, parfois c’est facile, et parfois, cela l’est beaucoup moins.
Comme je ne travaille pas que sur des infrastructures Linux, mais surtout AIX, la commande date est limitée (ça n’est pas le date GNU).

Je pose ici mon petit pense-bête (un peu comme avec le history), un petit florilège, en BASH et en PERL qui me dépanne bien.

Avant tout, on charge quelques variables….

La date de la veille en PERL

La date du jour + 17 jours en PERL

Le dernier jour du mois en cours en BASH

Le dernier jour du mois suivant en BASH

Le dernier jour du mois précédent en BASH

Allez, amusez-vous bien !!!

10 choses qui ne requièrent aucun talent

Des choses simples, mais tellement évidentes …. Voici donc la liste des 10 choses qui ne requièrent aucun talent. Oui, aucun talent n’est nécessaire. Des petites choses, qui, mis bout à bout, forme un tout.

10 choses qui ne requièrent aucun talent :

Être ponctuel

Être en retard à chaque rendez-vous, c’est non seulement stressant pour soi-même, mais cela peut aussi amener les autres à se demander si vous êtes réellement une personne sur laquelle ils peuvent compter!! Parfois, même en ayant largement le temps d’arriver à l’heure, on se retrouve à courir après le temps. Et même si on finit par arriver à l’heure, on ne peut éviter le stress généré durant le trajet.
Il est clair que la ponctualité n’est pas naturelle pour tout le monde, mais la bonne nouvelle, c’est qu’on peut, en changeant ses habitudes, finir par toujours arriver à l’heure, et cela fait aprti des choses qui ne requièrent aucun talent!!
Lorsque l’on sait qu’on doit être à l’heure quelque part, ce que nous faisons, c’est un rétroplanning, en gros, un compte à rebours. On part de l’heure du rendez-vous à laquelle on retire le temps de trajet et notre estimation du temps de préparation nécessaire. Tout le reste est notre temps libre.
Nous obtenons ainsi l’heure à laquelle, au plus tard, nous devrons partir. Sauf que voilà, cela ne fonctionne presque jamais.
Pourquoi ? Parce que notre préparation est composée de plein de petites tâches, prévues, ou qui apparaissent ou disparaissent selon le contexte, l’heure de la journée, la situation actuelle. Quoi qu’il en soit, il y a toujours un imprévu, voire, et c’est assez souvent le cas, plusieurs petits imprévus qui s’ajoutent les uns aux autres. Mais comme il nous est impossible d’anticiper tous ces imprévus, nous ne pouvons donc pas estimer précisément le temps nécessaire pour nous préparer.

retroplanning2

La durée de préparation étant toujours plus longue que prévue, on va (forcément) empiéter sur notre temps de déplacement, pour finir par arriver… en retard, ou parfois pire, devoir, pour rattraper le retard pris, se hâter, avec ce que cela comporte de stress et de danger supplémentaire.
Mais voilà, il y a une solution toute bête… Effectuer le plus tôt possible la préparation!!
Cependant, lors de cette préparation, il est impératif de faire comme si nous allions partir de suite après, de jouer le jeu.

retroplanning1

Au final, on dispose du même temps libre, mais on en profite mieux, car on est pas stressé à l’idée d’arriver en retard!

Avoir une bonne éthique de travail

Si certains sont adeptes du sermon sur la montagne (Matthieu 5.7) qui dit : « Faites l’éloge des autres comme vous voudriez qu’ils fassent le vôtre, car un jour quelqu’un fera la même chose pour vous. » Cela n’est pas mon cas, je l’admets. Sans pour autant baver sur les collègues, je dis ce que je pense honnêtement. Après, cela dérange, cela n’est pas corporate, et d’autres trouvent cela même négatif. Mais voilà, se cacher la vérité est pire que tout.
Cependant, si on reprend le texte du Bureau de la Déontologie (gestion des RH) des Nations Unies, en ce qui concerne l’éthique au travail, elle s’appuie sur des valeurs fondamentales que sont l’intégrité, le professionnalisme, et le respect de la diversité.

La notion d’intégrité recouvre, sans que cette énumération soit limitative, la probité, l’impartialité, l’équité, l’honnêteté et la sincérité pour toutes les questions d’ordre professionnel. Ces qualités constituent le fondement éthique de la prise de décisions lorsque l’application de règles s’avère difficile ou impopulaire…

Il est ainsi facile de dépasser les attentes des autres, simplement en étant une personne fiable, de confiance, diligente et professionnelle. Faire son travail, ce qu’on nous demande, sans s’inventer des excuses ou se défiler devant ses responsabilités. À l’inverse, faire le contraire est le moyen le plus efficace pour être considéré comme un paresseux qui n’est pas tenu en haute estime par les autres.

Fournir des efforts constants

Avoir de la force c’est une chose, mais c’est dans la quête de la force que se trouve l’excellence !!! Ça, c’est dit.

Langage corporel respectueux

C’est tout bête, mais adopter une démarche assurée, maintenir une distance personnelle appropriée (quoi, tu n’aimes pas mon haleine, pourtant tu aimes les Kebab habituellement), avoir une position favorisant la communication avec une posture ouverte (oui, il faut éviter de croiser les bras, de mettre les mains dans lespoches), ne pas être avachi comme une baleine échouée, avoir une poignée de main ferme, se tenir droit, ne pas pointer quelqu’un du doigt, ne pas manifester de signes d’ennui … . Il n’y a pas qu’avec les mots que l’on communique. Les attitudes, les petits gestes expriment notre personnalité, à notre insu! Pour preuve, lorsque nous communiquons avec autrui, nous n’utilisons les mots qu’à hauteur de 7 %. Tout le reste de notre communication, soit 93 % de nos échanges, est du langage non-verbal. Simple, et encore une des choses qui ne requièrent aucun talent.

Avoir de l’énergie positive

Qu’elle est la meilleure façon de signaler un problème… L’afficher publiquement ou en parler aux personnes concernées?
Bien évidement, la deuxième option est préférable. Sourire le plus souvent possible, prendre le temps d’échanger avec ses amis et collègues, trouver des solutions, etc… .
L’optimisme est une forme de courage qui donne confiance aux autres et mène au succès (Baden-Powell). Et si être positif au travail était un levier d’efficacité?
Vous le constaterez, l’enthousiasme donne envie!!!
Quant à faire semblant, c’est hélas parfois une solution transitoire nécessaire, en attendant d’avoir trouvé comment se bouger… ou faire bouger l’environnement de travail !!!

Avoir une attitude positive

Il est important, voire vital, que ce que vous faites au travail vous plaise globalement. On peut avoir des taches ingrates, ennuyeuses, mais globalement, il faut trouver son bonheur, même si c’est dans les amitiés. Et fasse aux problèmes, il faut partir du principe que vous pouvez y arrivez, et gardez cette idée en tête. Ne pensez pas en termes de problèmes, mais de solutions. Il n’y a pas de projets difficiles, il y a des challenges à relever!
Quant aux plaintes, elles ne donneront jamais rien de positif. Il faut avant tout discuter des problèmes si vous avez l’impression qu’ils influencent votre travail. Discuter, cela ne signifie pas toujours trouver des solutions, mais cela permet assez souvent de faire avancer les choses.

Être passionné

L’homme passionné par son travail n’a pas le sentiment de travailler. Tout est dit !!!
Qu’elle soit en amour, au travail ou hors du travail, la passion procure une énergie inépuisable, qui pousse la personne (malgré parfois) à aller toujours plus loin. Celui qui travaille sans passion accomplit son labeur par obligation, c’est purement alimentaire. Celui qui est oublie qu’il doit travailler. Mais quand la passion est absente, alors, il faut au moins avoir le sentiment d’avoir été utile à la fin de la journée.

Se laisser coacher

Une journée sans avoir appris quelque chose est une journée de perdue !! Voilà qui est dit. Quel est le rapport avec les choses qui ne requièrent aucun talent?
Dans notre société qui célèbre l’autonomie comme qualité essentielle (si si, moi le premier), nous la traduisons par l’expression : Tu ne dois compter que sur toi-même.
Personne n’apprécie quand quelqu’un identifie nos défauts. Cependant, c’est une des meilleures façons de progresser. Tant que c’est constructif, la critique nous permet d’identifier nos faiblesses, de les travailler et de devenir meilleur.
Demander de l’aide, c’est aussi pour certains se sentir redevable, c’est risque d’être critiqué, voire rejeté. Que nenni (enfin, sauf si vous demander de l’aide tout le temps pour tout et que vous n’avez réellement aucune autonomie). Il faut savoir accepter que nous ne savons pas tout sur tout, et que les autres peuvent nous aider.

En faire toujours plus que demandé

Il ne se passera jamais rien d’exceptionnel tant que vous resterez dans votre zone de confort. En faisant le strict nécessaire (ou minimum), vous ne vous valorisez pas. Sans tomber dans l’excès de zèle (encore moins arriver en burn out), il faut savoir trouver le juste milieu.

Arriver préparé

Arriver à une réunion, un rendez-vous, un entrainement en ayant oublié ses affaires, cela ne fait pas sérieux du tout.
Adoptez les bons réflexes. Lors d’une réunion, prenez systématiquement papier et crayon (oui oui, j’en ai déjà vu arriver les mains vides, dire je m’en souviendrai, et …oublier), et parfois, un calendrier est utile lorsqu’on va discuter de date, planning, suivi… . Vous trouvez cela bête et complètement inutile à rappeler? Super! Dites vous que ça n’est pas le cas pour tout le monde.
Vous devez présenter un dossier, pensez à l’imprimer, et à amener une version électronique. Vous devez présenter un produit, une maquette ? Ne soyez pas ridicule, amener tout le nécessaire. Il vaut mieux avoir avec soi tout ce qu’il faut, plutôt que de manquer de quoi que ce soit.

Encore une fois, ceci est personnel, mais dans tous les cas… faites ce que je dis, pas ce que je fais!!!

Un outil en ligne pour la gestion de projet

Si être performant dans son activité professionnelle est essentiel, cela n’en n’est pas moins suffisant. Pour réussir, il faut aussi faire preuve de méthodologie et d’organisation. Un projet c’est une opération ponctuelle, avec un début et une fin, nécessitant des ressources humaines et matérielles.. et c’est surtout compliqué, car, pour le réussir, il est indispensable d’être organisé et de savoir où l’on va.

La gestion de projet

La gestion de projet, c’est l’ensemble des démarches qui permettent d’assurer le bon fonctionnement d’un projet. Son objectif principal est de répondre à un besoin précis dans un temps donné. Il faut donc avant tout, avoir une expression de besoin partager de tous, c’est-à-dire, définir le projet.

Définir le projet

Un des problèmes auxquels une équipe projet est confrontée, c’est une mauvaise définition de ce dont on parle. Il faut définir précisément ce que l’on inclue ou pas dans le périmètre du projet, et comprendre, dès le départ, ce que l’on va faire, afin de choisir la méthode la plus appropriée afin de gagner (ou plutôt de ne pas perdre) du temps.

Gagner du temps, et surtout, ne pas en perdre

Nous avons vu qu’il fallait définir le projet, pour savoir où aller, et surtout comment y aller. Une fois ces briques posées, il s’agit maintenant de gérer au mieux le temps passé sur ce projet (en renseignant sa feuille de temps), et de savoir quel temps vous avez consacré à chaque tâche. Pour cela, il faut avoir un planning.

Respecter les délais

Gérer un projet, c’est répondre à un besoin attendu dans le délai fixé. Il ne faut rien laisser au hasard, mettre toutes les chances de son côté pour réussir son projet en suivant planning précis, en tenant compte du contexte, des contraintes, des enjeux, mais aussi des risques.

Collaborer efficacement

Ce planning posé, il faut maintenant définir précisément le rôle de chacun et les tâches à accomplir dans un temps donné. Le chef de projet est là pour faire le lien entre le client et l’équipe (maitrise d’ouvrage et maitrise d’œuvre), équipe qu’il coordonne. Il rédige aussi, ou renseigne, les outils de suivi et de pilotage, il gère aussi les réunion de validation, les livrables projet, ainsi que les CR de réunions. Le chef de projet peut s’appuyer sur des outils internes mis en place, ou utiliser des solutions de gestion de projet en ligne.

Retour d’expérience

Pour la petite histoire, je viens de tester Nutcache, un outil en ligne, gratuit pour les auto-entrepreneurs, les sociétés en démarrage ou les petites entreprises (jusqu’à 20 membres). Je vous laisse regarde ces quelques captures d’écran que j’ai faite, peut-être utiliserez-vous cet outil, ou un autre. Dans tous les cas, il en faudra un qui soit adapter à votre besoin!!!

 

GREP – Globally search for Regular Expression and Print it

Qui, travaillant sous Unix ou Linux, n’a jamais utilisé la commande grep? La réponse est simple il me semble: personne!!!
Pour faire simple, grep est une petite famille de 3 commandes qui permet de rechercher une chaine dans des fichiers, et d’en imprimer les lignes.
Elle n’a l’air de rien comme cela, mais c’est une commande terriblement efficace, l’une des commandes les plus utiles dans tout système Unix, avec sed et awk.

Présentation

g/RE/p signifie globally search for RE and print it où RE est un raccourci pour RegularExpression.
Pour faire ultra simple, grep est un outil qui permet de chercher une expression régulière (motif ou pattern en anglais) dans un contenu, et d’en afficher le résultat.

Expression régulière ?

Les expressions régulières, ou plus communément appelées RegEx, constituent un système puissant et rapide afin de rechercher dans des chaînes de caractères un motif (une occurrence, une autre chaine de caractères définie). On utilise les expressions régulières dans presque toutes les commandes d’administration. On peut les retrouver dans de nombreux langages comme le BASH, le PHP, Javascript, etc… ou encore dans des logiciels d’édition, comme vi, Notepad++, PsPad, etc… .
C’est pour quoi, je ne développerai pas plus sur les RegEx ici, car des livres complets existent sur ce sujet, et un article entier serait une bonne façon des aborder, plutôt que quelques lignes posées dans un paragraphe.

Fonctionnement

Ces trois commandes grep fonctionnent de la même façon.
Grep commence à lire la première ligne du fichier (ou depuis l’entrée standard si aucun fichier n’est fourni, ou si le nom – est mentionné) , la copie dans un tampon, la compare à la chaîne de recherche (le motif), et si la comparaison est valide, imprime la ligne à l’écran. Grep va ainsi répéter ce processus jusqu’à la fin du fichier (ou de l’entrée standard).

Les symboles

On va d’abord vite faire le tour des symboles que nous pouvons utiliser dans les expressions régulières.
Les caractères ^ et $ indiquent le début ou la fin d’une chaîne, et permettent donc de la délimiter.
« ^debut »: chaîne qui commence par « debut »
« fin$ »: chaîne qui se termine par « fin »

Les caractères *, + et ?, respectivement zero ou plusieurs, un ou plusieurs, un ou aucun, permettent de donner une notion de nombre.
« abc+ »: chaîne qui contient « ab » suivie de un ou plusieurs « c » (« abc », « abcc » …)
« abc* »: chaîne qui contient « ab » suivie de zero ou plusieurs « c » (« ab », « abc » …)
« abc? »: chaîne qui contient « ab » suivie de zero ou un « c » (« ab » ou « abc »)

Les accolades {,} permettent de donner des limites de nombre.
« abc{2} »: chaîne qui contient « ab » suivie de deux « c » (« abcc »)
« abc{2,} »: chaîne qui contient « ab » suivie de deux « c » ou plus (« abcc » etc..)
« abc{2,4} »: chaîne qui contient « ab » suivie 2, 3 ou 4 « c » (« abcc » .. « abcccc »)

Les parenthèses ( ) permettent de représenter une séquence de caractères.
« a(bc)* »: chaîne qui contient « a » suivie de zero « bc » ou plus

Le pipe (la barre verticale) | se comporte en tant qu’opérateur OU
« un|le »: chaîne qui contient « un » ou « le »
« (un|le) chat »: chaîne qui contient « un chat » ou « le chat »
« (a|b)* »: chaîne qui contient une suite de « a » ou de « b »

Le point . indique n‘importe quel caractère
« ^.{3}$ »: chaîne qui contient 3 caractères

Les crochets [-] définissent une liste de caractères autorisés (ou interdits).
Le signe permet quand à lui de définir un intervalle. Le caractère ^ après le premier crochet indique quand à lui une interdiction.
« [abc] »: chaîne qui contient un « a », un « b », ou un « c »
« [a-z] »: chaîne qui contient un caractère compris entre « a » et « z »
« ^[a-zA-Z] »: chaîne qui commence par une lettre
« ^[^a-zA-Z] »: chaîne qui ne commence pas par une lettre

Des exemples

Oui, parce que c’est bien beau tout cela, mais il faut aussi pratiquer. Vous imaginez qu’on ne va pas non plus faire le tour de la question, mais uniquement faire tomber les premières barrières qui pourraient vous empêcher d’utiliser grep.

Pour des exemples simples, je ne vais pas faire de copier/coller, vous en trouverez ici, et ci-dessous, certains exemple que j’utilise au bureau.

Test les Erreurs dans un fichier de log : il ne faut avoir ni des ORA- ni des PLS- :

Vérifier si une chaine de caractères est présente dans un fichier :

Fonction privée pour valider une adresse email :

Fonction de test si une chaîne de caractères est numérique :

La Famille

Je disais une petite famille, car grep est disponible en trois commandes distinctes mais toutes liées : grep, egrep et fgrep.
Egrep est identique à grep -E.
Fgrep est identique à grep -F.
Rgrep est identique à grep -r.

-E, –extended-regexp
Interpréter le MOTIF comme une expression rationnelle étendue
-F, –fixed-strings
Interpréter le MOTIF comme une liste de chaînes de caractères, séparées par des sauts de ligne. Chacune d’entre elles doit être recherchée.
-r, –recursive
Lire tous les fichiers à l’intérieur de chaque répertoire, récursivement.

 Maintenant, amusez-vous bien, mais je serais curieux de voir cela. Alors n’hésitez pas à publier vos trouvailles.

Les joies de la commande telnet

Qui n’a jamais pesté alors qu’il était en train de faire le malin avec la commande telnet ?
En effet, bien pratique cette commande telnet pour tester un service UNIX ou s’amuser, mais lorsque son écran reste bloqué, on fait moins malin.

Utiliser telnet pour tester un service

Un petit exemple tout bête : vous voulez vérifier que le service que vous venez de mettre en place est bien accessible. Il suffit de faire un telnet sur son port d’écoute (ici nous testons les ports 50010 et 50050).

Pour un service qui n’est pas accessible, on aura ceci :

Et au bout de quelques (longues) secondes, vous aurez le message suivant :
telnet: Unable to connect to remote host: Connection timed out

Mais si votre service est accessible, il répondra ainsi :

Vous aurez une réponse du serveur : Connected to 192.168.1.101.

Sortir de telnet

Ok, on a fait le malin, on a montré qu’on savait tester si un service répondait.
Maintenant, essayez donc de trouver la solution pour sortir de là !!!
Pas facile hein?!

Pourtant, la solution est simple. Comme le port Salut, c’est écrit dessus : Escape character is ‘^]’.
Mais ça veut dire quoi ??? La petite astuce : le caractère tant attendu est produit par la combinaison de touches suivante :
sous Windows : Ctrl + $ ou CTRL + (
sous Linux : Ctrl + Alt Gr + ]

Et voilà.

Pourquoi parler cela ?

Tout simplement parce qu’un collègue est tombé dans le panneau, et qu’il a fallut lui montrer comment faire pour sortir proprement d’un telnet, même planté. En espérant que cette info servira à un peu plus de monde, notamment lorsque vous testerez les liens ci-dessous… .

Easter Eggs

Certains en profite pour mettre un peu de fun sur Internet, et j’avoue que je suis friand de ce genre de trucs, les Easter Eggs.

Essayer de faire un telnet towel.blinkenlights.nl 666
Vous obtiendrez des excuses sympas du genre :

the butane lighter causes the pincushioning
Decreasing electron flux
Hash table has woodworm
Digital Manipulator exceeding velocity parameters

Encore plus sympa et plein de fonctionnalités : essayez donc  telnet telehack.com
Quand je dis plein de fonctionnalités, c’est que vous pouvez y passer un moment fou, car il s’agit d’une compilation d’un peu tout les Easter Eggs disponibles sous telnet.
Tapez cowsay helloo pour obtenir une vache qui dit helloo
Tapez octopus et validez, puis une touche pour obtenir sa correspondance en binaire, octal, hexa, et ascii!!!

Et vous en avez, une palanquée comme cela (60 au total), parmi lesquelles :

et si vous avez un moment, testez donc ceci : starwars
Sinon, il existe encore des vieux BBS dont une liste est disponible ici.

 En espérant vous avoir fait perdre un peu de temps… .

GED’u mal à m’y faire… Partie 3

Le 26 novembre dernier a eu lieu la conférence annuelle itSMF (Association de promotion des bonnes pratiques ITIL en France) durant laquelle ont été remis les deux trophées itSMF 2013 valorisant, pour les catégories PME et grande entreprise, les meilleures initiatives ITIL. Le GIPS  n’a malheureusement pas remporté le trophée cette année mais est fier de sa seconde place au profit d’INGENICO.

Nous en revenons toujours à ces bonnes pratiques dont..la GED, la gestion électronique des documents. Elle recèle tellement d’avantages comme rendre l’information disponible immédiatement!! Qui n’a pas galéré pour retrouver un document qu’un prestataire avait fait… avant son départ? Cela a été mon cas en septembre lorsqu’il a fallut récupérer tout l’historique d’un progiciel en place depuis 5 ans. Les documents étaient obsolètes car pas mis à jour, les mails inexistant… et la plupart des interlocuteurs étaient sur d’autres projets.

Certaines sociétés développent leur propre GED interne, avec tous les avantages mais aussi les risques que cela entraînent, et d’autres en font leur spécialité et la commercialise. Si vous vous posez plus de questions, vous pouvez par exemple visiter le lien suivant : http://www.ironmountain.fr/activite/gestion-electronique-documents.asp

Prochaine étape au GIPS, la certification ISO 9001, pour laquelle l’entreprise devra « définir et respecter les modalités d’élaboration, de codification, de diffusion, de gestion des versions périmées des documents, ainsi que les modalités de conservation (accessibilité, durée, lieux) des enregistrements ». Car utiliser un logiciel de gestion documentaire permet alors de bénéficier de l’application de normes, au-delà de la stricte application des critères de qualité que toute GED devrait respecter. Tous les documents seront, je l’espère, mis à jour et accessibles facilement.

 

Pense Bête macro Word

Ce pense-bête permet de mettre à jour les champs dans un document Word, en-têtes et pieds de page compris à l’aide d’une petite macro. Et bien non, Word ne le fait pas automatiquement à l’ouverture.
J’en ai eu besoin, donc je l’ai fait, et il est ici parce que je partage.