Archive

Archive for the ‘Business tools’ Category

iTop 2, donnez un coup de carte à votre SI

November 3rd, 2012 2 comments

Depuis quelques jours, une version alpha d’iTop 2 est disponible chez mes amis de Combodo. iTop est un fabuleux outil qui vous permet de créer votre propre CMDB, et d’y associer des services tels que la gestion de tickets (incidents, changements). Pour rappel, une CMDB (Configuration Management DataBase) décrit l’ensemble des composants d’un système d’information. Cela peut aller du SAN, serveur physique, machine virtuelle, carte réseaux, switch jusqu’a remonter à la couche applicative : serveur d’application (par exemple Tomcat), application, etc.

L’objectif d’une telle base de données est de pouvoir d’une part cartographier votre SI, mais surtout de pouvoir faire des liens entre tous ces objets, ce qui permet d’en obtenir des analyses de dépendances (de quelle brique technique mon application métier a besoin pour fonctionner) et aussi des analyses d’impact (il se passe quoi si j’éteins ce serveur).

Les nouveautés visibles d’iTop 2

Rentrons dans le vif du sujet, à savoir quelles sont les nouveautés – point de vue utilisateur – de cette nouvelle version ? Et bien, la réponse courte tiens en deux mots : “le modèle”. Concrètement, si vous êtes utilisateur ou même testeur de la première version, vous aviez remarquez l’absence des machines virtuelles dans le modèle de base, ce qui est de nos jours est d’utilisation très courante. Ce manque à – je pense – freiné un peu l’adoption du logiciel.

Donc, voici en vrac les changements notables du modèle (liste non exhaustive) :

  • Machines virtuelles : une VM peut être rattachée – via la notion d’hyperviseur – soit à un serveur physique (zone Solaris, dom0 Xen), soit à un cluster
  • Gestion du SAN, de la baie de stockage aux volumes logiques, en passant par les switch
  • Des attributs supplémentaires tels que la gestion de l’alimentation des serveurs physiques, la gestion des racks/chassis

Un autre changement notable concerne l’installation. Un assistant (wizard) plus complet permet de choisir entre – par exemple – plusieurs niveaux de gestions des tickets.

Les autres nouveautés

L’autre, sinon LA nouveauté d’iTop, bien qu’elle est soit invisible pour les utilisateurs réside dans le changement du format de données décrivant le modèle. Dans la version 1, le modèle est décrit via des fichiers PHP, quelques connaissances de programmation sont donc nécessaire, et surtout il n’était pas facile de maintenir un suivi avec les mises à jour coté iTop.

Dans cette version, les développeurs ont choisi d’utiliser XML, ce qui permettra à chacun de modifier le modèle de données sans avoir à modifier les fichiers fournis par iTop ! Et j’avoue que ça, c’est un point non négligeable pour un intégrateur comme moi ! De plus, l’utilisation de fichiers XML rend plus facilement possible la création d’un éditeur graphique du modèle (qui existe pour les partenaires de Combodo).

Conclusion

Cette nouvelle version est doublement appréciable. D’une part, le modèle est maintenant complet et ne nécessitera que quelques retouches (je pense surtout à l’ajout d’attributs) pour être utilisable dans 90% des cas, et d’autre part, le changement en profondeur du format de description du modèle va considérablement simplifier la vie, et permettra – je l’espère rapidement – la création d’outils pour gérer son modèle.

Categories: Business tools, Sysadmin Tags: ,

Makefile et squelette qui va bien pour docbook vers PDF

March 14th, 2011 No comments

Étant donné mon futur changement professionnel (vous en saurez plus dans un futur proche), je me suis confronté au problème de la production des documents (principalement technique). Plusieurs solutions s’offraient à moi, la plus facile, en tant qu’utilisateur de Mac OS X, est d’utiliser Pages, de la suite iWork. Bien que ce dernier soit un produit très adapté pour produire rapidement un joli document, je trouve que la construction d’un thème from scratch n’est pas très facile, et de toute façon, il n’est utilisable que sous Mac, donc difficile en clientèle par exemple. La seconde solution, est d’utiliser OpenOffice ou LibreOffice, cependant, après quelques années d’expériences, je trouve que ce n’est pas très pratique sur le long terme, de plus, l’avenir des deux produits me semble incertain, le premier est devenu payant, le second, communautaire, ne me rassure pas quant à son avenir.

Les deux solutions restantes sont docbook et LaTeX. Le dernier, bien que connu pour être très bien, me parait coûteux en temps, principalement sur la personnalisation du rendu (PDF dans mon cas). Me reste donc docbook (si vous êtes anti XML, passé votre chemin). Pour ma part, il me semble absolument indispensable de différencier le contenu de son style (le rendu). Bien que beaucoup (mais ce n’est probablement pas votre cas, cher lecteur) pensent que <important>mon texte</important> soit équivalent à <gras>mon texte</gras>, ce n’est pas mon cas. Je peux pouvoir écrire un document (un contenu) à un instant t et le rendre en PDF mais surtout pouvoir modifier le style (couleur du titre, etc.) sans toucher le document d’origine, et ce plusieurs mois après la rédaction du fichier. C’est pourquoi je me suis tourné vers docbook.

Après quelques heures perdues, j’ai réussi à obtenir un squelette de production de mes documents, que je vais décrire dans le présent billet.

Les fichiers

Pour commencer, voici la liste des fichiers impliqués dans la production d’un document :

  • documentation.xml, c’est mon fichier source docbook, le contenu que je veux produire en pdf ;
  • default.xsl, ce fichier est une transformation XML (xsl) qui me permet de modifier le fichier docbook d’origine, pour par exemple rajouter automatique la partie sur l’auteur si elle n’est pas présente dans le document d’origine. Autant essayer de ne pas dupliquer l’information autant que faire se peut. ;
  • monstyle.xsl, c’est le fichier qui me permet de surcharger la transformation docbook vers FO (une étape intermédiaire avant transformation en PDF). C’est là que je vais définir les couleurs (ou tout paramètre disponible par la XSL de Walsh), ou bien encore surcharger un template précis ;
  • et finalement, un fichier Makefile qui me permet d’automatiser tout cela.

Le Makefile

Comme expliqué précédemment, ce fichier me permet d’automatiser la transformation d’un fichier docbook vers un fichier PDF. Et comme je galère un peu sur Makefile, je vais profiter de ce billet pour me faire un mémo.

DOCUMENTS=documentation.xml

FOP=/Users/bbonfils/tools/fop-1.0/fop
FOP_XSL=xsl/docbook.xsl
FOP_CONF=conf/fop.xconf
DEFAULT_XSL=xsl/default.xsl
XSLTPROC=xsltproc
XMLLINT=xmllint
TMP=tmp
ENV=LC_ALL=en_US.UTF-8
FOP_ENV=FOP_OPTS=-Djava.awt.headless=true

default: $(DOCUMENTS:.xml=.pdf)

%.pdf: %.xml
   $(ENV) $(XSLTPROC) $(DEFAULT_XSL) $? | $(XMLLINT) -format - > $(TMP)/$?
   $(ENV) $(FOP_ENV) $(FOP) -c $(FOP_CONF) -xml $(TMP)/$? -xsl $(FOP_XSL) -pdf $@

clean:
   @rm -f *.pdf

Les premières lignes définissent des variables, notamment DOCUMENTS qui me permet de lister les fichiers docbook à transformer en PDF. Ensuite, je défini la règle implicite suivante: :

%.pdf: %.xml
   $(ENV) $(XSLTPROC) $(DEFAULT_XSL) $? | $(XMLLINT) -format - > $(TMP)/$?
   $(ENV) $(FOP_ENV) $(FOP) -c $(FOP_CONF) -xml $(TMP)/$? -xsl $(FOP_XSL) -pdf $@

qui décrit la manière de compiler (transformer dans mon cas) un fichier XML vers un PDF. La première ligne permet d’appliquer ma XSL default.xsl qui permet de rajouter les informations de l’auteur si elles n’existent pas. La deuxième ligne applique la transformation docbook vers FO puis de FO vers PDF.

Et finalement, je définis la cible par défaut default en lui demande de me transformer la liste des fichiers renseignés par la variable DOCUMENTS en PDF, par substitution de l’extension.

Voilà, voilà, je dois avouer que ce billet est plus un memento personnel, mais tant qu’a faire, autant partager avec le monde. Pour les lecteurs avertis, vous aurez remarque que je traite que des fichiers textes qui sont donc parfaitement adaptés pour un gestionnaire de source tel que Subversion ou Git.

Categories: Business tools Tags:

Splunk: useful URL

July 11th, 2010 No comments

as you probably already know IRC is good to learn things, here some URL I learn from the splunk channel:

  • http://host:webport/en-US/debug/refresh reload some parts of splunk, including applications’s views. Very useful when developing a new application. No need to restart each time!
  • https://host:8089/services/admin/inputstatus/TailingProcessor:FileStatus display the status of file monitorings. Note the port is the manager one, not the webone, so I guess this interface is available on agents even if splunkweb is not started. You can hit /services/admin/ to find another log of informations.

Categories: Business tools Tags:

Faire des diagrammes de séquences en 30s

December 26th, 2008 4 comments

Vous avez besoin de faire des petits diagrammes de séquences, mais vous ne voulez (ou pouvez) pas sortir la grosse artillerie, du genre Visual Paradigm, Eclipse, Netbeans, etc. ? Voici la solution http://websequencediagrams.com/, un outil en ligne très simple, mais que je pense suffisamment souple pour répondre à des petits besoins. Voici un petit exemple, sous la forme d’une image finale, et voici sa source. Pour information cela représente l’obtention d’un ticket TGT et de TGS, c’est à une dire pour une authentification Kerberos.

Surtout, penser à essayer les différents thèmes (pour ma part j’ai un petit faible pour le thème blue modern), et à consulter l’aide.  Tout simplement bluffant je trouve ! Juste un petit bémol, je n’ai pas trouvé d’option pour avoir une numérotation des actions. Mais j’imagine que ce n’est qu’une question de temps !

Categories: Business tools Tags:

XWiki, c’est décidemment magique

December 15th, 2008 No comments

Encore un billet dans la série XWiki, mais décidemment, cet outil me rend vraiment beaucoup de services. Ma dernière oeuvre (sic) consiste en la création d’une mini gestion des membres de l’association (GUSES, pour ceux qui ne le savent pas déjà !). Nous utilisons déjà Galette pour gérer les cotisations, mais malheureusement il n’y a rien (à ma connaissance) pour y brancher des hooks, dans mon cas ajouter l’utilisateur à la liste de diffusion de l’assocation.

Bref, quel rapport avec XWiki me direz vous ? Et bien, gràce à la bibliothèque SSH Trilead pour Java j’ai écrire une classe Groovy qui me permet d’exécuter des commandes (au sens unix) à distance. Et via quelques scripts shell et perl, il m’est désormais possible lors de l’ajout d’un utilisateur dans XWiki, d’automatiquement l’ajouter dans la base Galette, mais aussi l’inscrire à la liste de diffusion. D’autant plus que ces deux opérations étaient jusqu’alors réalisé par deux personnes différentes, n’arrangeant rien.

Un petit d’exemple d’utilisation de ma classe Groovy (sshhelper), en Groovy :

def sshHelper = new SshHelper()
sshHelper.openSession("hostname", "4222", "asyd", "/Users/asyd/.ssh/id_dsa", "password");
println sshHelper.runCommand("echo OK");

Le même utilisable directement depuis XWiki :

#set ($sshHelper = $xwiki.parseGroovyFromPage("Users.SshHelper"))
$sshHelper.openSession("hostname", "22", "user", "/Users/asyd/.ssh/id_dsa", "password")
#set ($buffer = $sshHelper.runCommand("echo OK")

Il est à noter que j’ai eu des problèmes (avec la bibliothèque Trilead) d’authentification en login / mot de passe vers des serveurs Linux (Debian) alors que cela fonctionne vers des serveurs Solaris. Cependant, l’authentification par clé a fonctionné vers les deux OS.

Categories: Business tools, Sysadmin Tags: ,

XWiki : mes retours

December 8th, 2008 No comments

À la demande de Vincent, je me lance dans un retour d’expérience sur XWiki, néanmoins même si cela fais quelques mois que j’utilise le produit, je n’ai passé que quelques jours à l’utiliser (enfin plutôt à le programmer) de manière avancée, donc à prendre avec un peu de recul. De plus, j’ai mis un certain temps à écrire ce billet, que j’ai repris de nombreuses fois, donc la trame n’est pas forcément fameuse, je m’en excuse par avance.

Commençons par le début : l’installation. Alors, cette étape est très facile, néanmoins il n’est pas toujours facile de bien comprendre les différentes versions, ce qu’elles font, etc. Pour ma part, ce billet ne parle que du produit XWiki Enterprise, en version 1.5 et 1.6, ne connaissant pas les autres produits.

Une fois le produit installé, la prise en main est assez rapide, et assez intuitive. Néanmoins à mes débuts (version 1.5 donc) j’ai été quelque peu déçu par la syntaxe assez pauvre, surtout pour moi qui utilise beaucoup dokuwiki, où la syntaxe permet par exemple de gérer l’alignement d’une cellule au sein d’un tableau. Cependant, la version 1.6 apporte de nouvelles syntaxes (dont une compatibilité avec des syntaxes répandues, comme celle de mediawiki), donc cela est en bonne voie.

Concernant mon expérience, j’utilise principalement XWiki pour sa partie développement d’application, c’est à dire la capacité de créer des petites applications (métier ? j’exagère peut être un peu, encore que…) à l’intérieur de XWiki, sans jamais modifier une seule ligne de code de XWiki. Ces développements s’effectuent via les capacités de scripting velocity, et d’extension via Groovy. C’est un vrai bonheur, en effet je ne connais peu (ou pas) d’autres moyens simples de développer rapidement une petite application Web, sans me préocccuper du rendu, du modèle, etc.

Coté produit, la partie Wiki pure est relativement bien documenté, avec une page sur la syntaxe très complète (mais pas tout à fait exhaustive), mais un petit regret concernant la documentation associé à la partie développement. Il existe plein de choses qui ne sont pas (encore) documentés, notamment pour les attributs lors de l’ajout d’une propriété à un objet. Mais après avoir discuté avec Jean-Vincent de XWiki, il semblerais que la partie dev ne soit pas la plus utilisée, ce qui peut expliquer… Et cela est peut-être liée ou pas, mais l’impossiblié de supprimer une propriété existante est vraiment pénible. Cela rend la création des objets assez périlleuses, et il faut savoir exactement à l’avance ce qu’on a besoin de mettre dans les objets 🙂

Pour finir avec la documentation,  XWiki est très bien documenté d’une manière générale, mais il n’est pas facile de s’y retrouver entre les différentes sources de documentation. Je pense qu’il manque de tutoriaux, celui-ci (création d’une application de FAQ) est vraiment bien, il en faudrais d’autres selon moi. Cependant, la communauté (que ce soit liste de diffusion ou IRC) étant vraiment très réactive, et d’une aide précieuse, cela compense un peu le fouillis (je vais me faire gronder par les gens de XWiki 🙂 dans la documentation.

Un autre bémol réside dans la customisation graphique. Bien que je n’ai pas regardé de prêt, il me semble difficile, voire très difficile, de modifier la forme de XWiki. Certes, il est très simple de modifier son apparence par CSS, mais faire des modifications plus profondes me semble vraiment très difficile.

Côté technique, un des plus grands reproche concerne la gestion de la mêmoire. Il existe par exemple une fonctionnalité très intéressante permettant l’import/export du contenu du wiki sous forme d’un xar (Xwiki ARchive) mais il semblerais que le moteur à besoin de tout monter en mémoire avant de mettre à disposition le fichier d’archive, ce qui est assez embêtant quand il y a un certain nombres de pages. De plus, du fait (enfin c’est mon interprétation) de l’utilisation d’hibernate, XWiki procède quelques fois à de *très* grosse requête SQL. Par exemple dans le cas d’une suppression d’une page avec des commentaires, l’ensemble des données (et donc pas juste l’id de la page) sont passées dans la requête, ce qui nécessite donc de paramètrer son serveur SQL pour accepter des requêtes SQL allant jusqu’à plusieurs dizaines de MB..

En conclusion, pour ceux qui ne l’ont pas encore compris, et malgré ces quelqus points négatifs, je suis devenu un très grand fan de XWiki ! Mais cela ne m’empêche pas de rester fan de dokuwiki, considérant les deux comme complémentaires. Son développement avancant à grand pas, avec des fonctionnalités probablement inédites (import de documents MS Office, OpenOffice.org) XWiki est en passe de devenir le leader (si ce n’est déjà pas le cas) sur le marché des wikis d’enterprises.

Categories: Business tools Tags:

Extensions Velocity dans XWiki

November 17th, 2008 No comments

Hier, je cherchais à manipuler une liste en velocity, mais malheureusement en suivant l’exemple de cette page, cela ne fonctionnais pas. Je pensais que les extensions n’étaient pas utilisées par xwiki, mais en fait elles sont disponibles, comme l’indique le fichier META-INF/plexus/components.xml, contenu dans xwiki-core-velocity (donc si jamais vous voulez rajouter d’autres extensions, c’est donc ici que cela se passe).

Noter que cette information est désormais disponible sur la page DevScripting.

Categories: Business tools Tags:

Utiliser groovy dans une page XWiki

October 31st, 2008 2 comments

Parce que je n’ai pas trouve facilement, voici un exemple d’utilisation d’un script groovy a l’interieur d’une page XWiki.

#set ($address = "172.20.12.61")
 
IP Address: $address
 
<%
 
import java.net.InetAddress;
 
vcontext = context.get("vcontext");
hostname = vcontext.get("address");
 
InetAddress addr = InetAddress.getByName(hostname);
hostname = addr.getHostName().toLowerCase();
 
%>
 
Hostname: $hostname

Du coup, j’en ai profiter pour rajouter cette page dans la documentation XWiki. Et merci a Vincent pour sa patience 🙂

Categories: Business tools, Java Tags: ,

Debuter avec xwiki

October 28th, 2008 1 comment

Si suite a un precendent post, vous etes interesse par le scripting dans XWiki, voici selon moi les deux pages par ou debuter :

Et bien entendu, mon post sur bugzilla et xwiki, meme si c’est juste un petit test, cela montrer les possibilites.

Categories: Business tools, Java Tags: ,

Mettre en évidence une sélection dans GIMP

October 17th, 2008 1 comment

C’est plus ue note personnelle qu’un vrai article, mais il m’arrive assez souvent d’avoir besoin de mettre en évidence un élément d’une image, et à chaque fois je perds du temps à retrouver comment faire avec GIMP. Donc au cas où cela vous intéresse, et surtout pour m’en souvenir, voici la démarche :

  • sélectionner la partie à mettre en évidence
  • en utilisant le menu contextuelle (click droit ou menu de l’image), choisir l’option « Sélection » puis « Bordure », définir la taille de la bordure, puis utiliser l’outil de remplissage.

Categories: Business tools Tags: