[Misc] mon histoire de l’informatique

Prenant conscience du temps passé depuis mon tout premier contact avec l’informatique, et du nombre d’évènements qui auront fait évoluer ma vie et mon métier, m’est venu l’idée de réaliser une petite timeline de quelques évènements relatifs à l’informatique qui auront été déterminant dans ma vie.

Bon, c’est pas très joli intégré comme ça sur le blog, donc je vous invite à aller plutôt la consulter en pleine page, en attendant que je l’intègre à ma page personnelle.

 

[design] créer un diagramme circulaire avec Gimp

Dans la rubrique « codeur à tout faire« , voici un petit tuto sur un sujet encore jamais abordé sur ce blog : l’édition graphique.

Car oui, nous avons tous besoin un jour ou l’autre de créer de petits éléments graphiques statiques, sans pour autant perdre du temps à jongler avec les canvas et autres.

Comme toujours, nous allons utiliser ici un logiciel libre très populaire car simple et efficace : Gimp.

Créer une nouvelle image

Pour commencer à créer notre diagramme circulaire avec Gimp, créer une nouvelle image (Ctrl+N), en 800 x 800.

Gimp nouvelle image

Créer un cercle

Première étape : créer un cercle.

Guide lines

Mettre en place 2 guides lines sur le centre de l’image. Pour cela, vous pouvez parfaitement passer par la méthode « rapide », c’est à dire en cliquant sur une règle et en glissant puis relachant à l’endroit où vous voulez fixer votre guide line. Mais cette méthode est un peu trop aproximative. Pour placer précisément vos guides, allez plutôt dans le menu Image > Guides > Nouveau Guide (en pourcentage). Placez donc deux guides à 50%, un horizontal et un vertical.

Gimp guidelines

Dessiner un cercle

Pour dessiner un cercle, sélectionnez l’outil de sélection elliptique (touche E, ou coin supérieur droit de la barre d’outils). Vous pouvez sélectionner n’importe quelle zone de l’image, cela n’aura pas d’importance.

Ouvrez ensuite le panneau « options des outils », sur votre droite, et entrez les mêmes informations que sur la capture d’écran suivante :

Gimp circleVous obtenez ainsi une sélection circulaire parfaite et centrée.

Vous pouvez également sélectionner l’option « étendre depuis le centre » dans les options de l’outil, et déplacer le cercle pour placer son centre (le +) au croisement des deux guide lines. Vous pourriez par exemple utiliser cette méthode pour créer plusieurs cercle concentriques.

Définir la bordure du cercle

Pour définir la bordure de votre cercle allez dans le menu Sélection > Bordure…

Nous allons ici mettre une bordure de 50px.

Définir un chemin à partir de la sélection

Pour créer un chemin à partir de cette sélection, cliquez sur le menu Sélection > Vers chemin.

Vous pouvez ensuite afficher la fenêtre chemin (Fenêtres > Fenêtres ancrables > Chemins). Un seul chemin (circulaire) y apparait pour l’instant. Cliquez sur le premier petit carré à sa gauche pour afficher le chemin. Vous obtiendrez les résultat suivant :

Gimp circle path

Découpage du cercle

Nous allons à présent utiliser l’outil chemin (touche B), ou alors en cliquant dans la barre d’outils comme sur l’image suivante :

gimp pathNous allons donc :

  1. sélectionner « polygonal » dans les options de l’outil
  2. cliquer à un endroit, en dehors du cercle, à partir duquel nous ferrons partir notre chemin
  3. cliquer au centre du cercle
  4. cliquer à nouveau à l’extérieur du cercle, là où nous terminerons notre chemin
  5. créer une sélection à partir du chemin : Sélection > Depuis le chemin, ou avec le bouton approprié dans les options de l’outil, ou encore avec le raccourci Maj + V)

Vous devriez obtenir un résultat comme le suivant :

Gimp path selectionDans la fenêtre Chemins, effectuez un clic droit sur la le chemin circulaire précédemment créé, et sélectionnez « intersection avec la sélection ». Vous obtenez le résultat suivant :

Gimp path intersect

Créez un nouveau chemin à partir de cette sélection. Bravo, vous avez créé votre première section du diagramme.

Renommage des chemins et répétition des opérations

Vous pouvez à présent renommer vos chemins (clic droit > Modifier les attributs du chemin), puis reprendre le premier chemin (le polygonal) pour modifier sa position, et répéter les opération, pour créer pas à pas de nouvelles sections.

Vous devriez obtenir un résultat similaire au suivant :

Gimp chart all paths

Mettons de la couleur

A présent que nous avons tous nos chemins de créés, nous pouvons les utiliser pour « zoner » notre image. En sélectionnant sur un chemin dans la fenêtre Chemins, et en cliquant sur le menu Sélection > Depuis le chemin, nous obtenons la sélection souhaitée.

Il nous suffit alors de cliquer sur l’outil de couleurs en bas à gauche pour sélectionner la couleur voulue, et de glisser déposer cette couleur vers notre sélection pour la remplir. Répétez l’opération pour chaque secteur. Voilà, votre diagramme est prêt.

Transparence

Il ne nous reste donc plus qu’à supprimer le fond blanc.

Retournez à la fenêtre calque. Effectuez un clic droit sur votre unique calque, et sélectionnez « ajouter un canal alpha ».

Ensuite, effectuez une sélection à partir de votre chemin représentant le cercle complet (Maj+V), puis inversez la selection (Ctrl+I ou Selection > Inverser). Enfin, appuyez sur la touche suppr pour supprimer la sélection et ainsi revenir au canal alpha (transparence). Vous obtenez le résultat suivant :

Gimp chart final

Conclusion

Et voila pour notre premier tuto Gimp, qui constitue une bonne illustration du concept des chemins. Pour vous montrer tout de même le résultat  final :

Vous remarquerez au passage que j’ai, pour bien différencier le secteur 6, blanc, du fond de la même couleur, ajouté une bordure noire, ce qui est encore plus simple à réaliser : effectuez une sélection depuis le chemin cercle, définissez sa bordure (Sélection > Bordure) à 1px, et glissez déposez la couleur noire. Vous pouvez bien entendu faire de même pour chaque secteur.

 

[dev] mise en place d’un IDE Eclipse pour le scripting Bash

Java SE, Java EE, Android, PHP, Ajax, PhoneGap, Python, Bash … tout comme certainement nombre d’entre vous, je développe aujourd’hui, suivant les projets, pour de nombreux contexts et objectifs très variés. Du coup, je me retrouve régulièrement à naviguer entre un IDE et un autre, la console, un éditeur tel vim, et divers outils plus ou moins variés. Et ceci est tout particulièrement le cas quand je dois réaliser quelques rapides scripts pour mon serveur GNU/Linux.

Alors aujourd’hui, on rationalise ! Je vais donc vous montrer, pas à pas, comment constituer un IDE complet et efficace pour le scripting GNU/Linux, sur une base Eclipse. Première étape : le Bash !

Installation de Eclipse

Eclipse peut rapidement devenir une « usine à gaz », sur lequel vous n’utiliserez ni les mêmes plugins, ni les mêmes vues, perspectives et donc configurations suivant les contexts. Inutile donc de vous créer un « super Eclipse », bourré de plugins, pour tous les usages. Installez vous plutôt plusieurs version d’Eclipse différentes suivant les usages (cela est permis par l’aspect « portable » d’Eclipse).  Personnellement, j’évite donc l’installation d’Eclipse par paquet sous Debian (bien trop rarement mis à jour, et en conflit avec l’approche précédemment évoquée), et extrait la version d’eclipse adaptée à l’usage voulue dans le dossier /opt/eclipse, pour ensuite mettre en place un lien symbolique dans /usr/local/bin. Pour suivre cet exemple, vous devez donc :

  1. télécharger la dernière version d’Eclipse adaptée à votre usage. Comme aucune ne l’est vraiment ici, nous allons utiliser la version d’Eclipse la plus basique et légère, « Eclipse for Java developpers ».
  2. extraire l’archive téléchargée dans votre dossier d’installation :
    cd /opt/eclipse
    sudo tar -xvzf ~/downloads/eclipse-java-luna-SR2-linux-gtk-x86_64.tar.gz 
    sudo mv eclipse eclipse-scripting
  3. mettre en place un lien symbolique vers le fichier eclipse dans ce dossier dans un des dossiers de votre PATH :
    sudo ln -s /opt/eclipse/eclipse-scripting/eclipse /usr/local/bin/eclipse-scripting
  4. lancer eclipse
    eclipse-scripting

Remarque : pour plus d’efficacité, je recommanderais cependant de réaliser des installations multiples comme ici que pour des version d’Eclipse très différentes (par exemple, si vous développez des extensions Eclipse et nécessitez une version Kepler et une Luna). Pour des cas comme celui présenté ici, il sera préférable de profiter de la possibilité offerte par Eclipse de mettre en place de multiples configuration, et de démarrer sur l’une de celles-ci au choix. Je ne présenterai cependant pas cette méthode ici par soucis de simplicité. En attendant un futur article sur le sujet, vous pouvez consulter celui de lorenzobettini.

Ajout des plugins pour Bash

Nous allons à présent commencer par mettre en place en environnement complet pour le Bash.

Continuer la lecture de [dev] mise en place d’un IDE Eclipse pour le scripting Bash

[dev] git push : modifier le nom d’utilisateur par défaut

Petite astuce du soir : comme beaucoup, vous travaillez intensément avec git au quotidien. Quoi de plus énervant, dans ce cas, que de devoir systématiquement retaper le nom d’utilisateur nécessaire à la connexion vers votre repo (sur github par exemple) à chaque push ?

Confronté à ce problème lors de la réalisation d’un petit script perso pour la mise à jour de mes cours  (comprenant un commit et un push sur github des sources), je vous livre donc une rapide solution, très simple et rapide à mettre en place.

Rendez vous tout d’abord dans votre dépôt local. Puis, lancez la commande suivante pour définir l’adresse de votre origin :

git remote set-url origin https://noelmace@github.com/noelmace/Scenari_course_materials.git

Remplacez tout simplement l’url précédente par votre url, sous la forme suivante :

protocole://username:password@url.git

Je ne recommande pas cependant de stocker votre mot de passe de cette manière, pour des raisons évidentes de sécurité.

[sysadmin] Mise à jour de Owncloud

Voici un petit problème qui m’aura pris un peu de temps aujourd’hui : comment mettre à jour ce @#!$& de Owncloud, quand on ne l’a pas fait depuis une éternité ?

Me concernant, j’ai en effet du faire une mise à jour de la version 6.0.4 à la version 8 … et je peu dire que cela n’a pas été une véritable partie de plaisir.

Première chose à savoir : il est inutile de chercher à faire une mise à jour en une seule fois ! Owncloud ne supporte pas (et s’est compréhensible) la mise à jour entre version majeurs multiple, ce qui est ici mon cas (de 6 à 8, je vous le rappel).

Il vous faudra donc mettre à jour votre installation vers la dernière version mineure, puis vers la version majeure suivante, puis vers la dernière version mineure de cette version majeure, et ainsi de suite jusqu’à la toute dernière version publiée.

Et surtout, inutile de chercher la facilité, en suivant les instructions de l’aide en ligne. Suivez la démarche suivante, pas à pas, et vous ne devriez pas rencontrer de problème.

Backup !

Bon, bien entendu, avant d’entamer quoi que ce soit, soyez prudent, et réalisez une sauvegarde de votre installation. Pour ce faire, il vous suffit de sauvegarder :

  • votre base de donnée owncloud
  • le dossier data
  • le fichier config/config.php

Pour la DB, vous pouvez utiliser par exemple mysqldump :

mysqldump -u user -p owncloud > owdb_dump.sql

Pour ce qui est des fichiers, n’importe quelle solution fera l’affaire. Pour aller au plus simple, vous pouvez par exemple utiliser tar :

tar -cvzf owsave.tar.gz owncoud/data owncloud/config/config.php

Mise à jour vers la dernière version mineure

Pour cette première étape, rien de plus simple : utilisez l’Updater App. Elle est normalement installée par défaut sur toute installation, même ancienne, autant donc en profiter.

Cette application va vous permettre de créer automatiquement une sauvegarde de votre installation (oui, ici nous l’avons déjà fait, mais on est jamais trop prudent) et faire la mise à jour automatiquement.

Pour l’utiliser, rendez-vous sur votre page d’administration, où vous pouvez cliquer sur la section Update Center comme présenté à l’image suivante :

Update Center OWVous devriez voir apparaitre une page comme la suivante :

Updater OW

Cliquez donc sur l’onglet Update, puis sur le bouton Update. Tout se fait alors automatiquement.

Si vous voulez plus de détails, tout est documenté en anglais par la communauté.

Mise à jour vers la version majeure suivante

Alors maintenant, faisons vite, faisons bien mais faisons simple.

Si vous n’avez qu’à passer à la dernière version majeur (par exemple, au moment de l’écriture de cet article, de la version 7 à la version 8), vous pouvez passer par votre gestionnaire de paquet, comme indiqué au début de la documentation officielle. Je ne recommande cependant pas cette méthode.

La méthode au final la plus simple, efficace et sûr est donc de faire les choses manuellement.

Étape par étape :

  1. Désactivez toutes les extensions tierces installées. Vous pouvez effectuer cela via l’interface d’administration de votre owncloud.
  2. Téléchargez l’archive de la version majeure vers laquelle vous souhaitez vous mettre à jour
    Pour rappel : vous ne pouvez pas directement passer, par exemple, de la version 6 à la version 8. Ce que vous voulez à cette étape, dans ce cas, serait donc plutôt la version 7.
    Vous pourrez retrouvez les liens de téléchargement sur le changelog. Puis, utiliser wget pour effectuer le téléchargement :
    wget https://download.owncloud.org/community/owncloud-7.0.5.tar.bz2
  3. Stoppez votre serveur HTTP. Par exemple :
    sudo service apache2 stop
  4. Déplacez votre ancienne installation de owncloud :
    mv owncloud owncloud6
  5. Décompressez l’archive de la version précédemment téléchargée de owncloud :
    cd /var/www
    tar -xvjf ~/owncloud-7.0.5.tar.bz2
  6. Déplacez le dossier data et copiez le fichier config.php de l’ancienne vers la nouvelle version.
  7. Vérifiez que le numéro de version est bien spécifié dans le fichier de configuration, et que celui-ci correspond à la version précédente. Par exemple, si vous passez de la version 7 à la version 8 :
    <?php
    $CONFIG = array (
      'instanceid' => 'votre_id',
      'passwordsalt' => 'un_salt',
      'datadirectory' => '/var/www/owncloud/data',
      'dbtype' => 'mysql',
      'version' => '7.0.5.0',
      'dbname' => 'owncloud',
      'dbhost' => 'localhost',
      'dbtableprefix' => 'oc_',
      'dbuser' => 'owncloud',
      'dbpassword' => 'wVRhXWQ5PETj',
      'installed' => true,
      'forcessl' => true,
      'theme' => '',
      'maintenance' => false,
      'loglevel' => '0',
      'trusted_domains' =>
      array (
        0 => 'noelmace.com',
      ),
      'secret' => '7567d658355929581e14ae9ae12c090cd766d14f16188f6ad859d2d8a67025251a875fa00ad353a19a0dd7cab9cdcc58',
    );
  8. Vérifiez les droits d’accès au dossier config et son contenu pour que votre serveur http puisse y accéder.  Par exemple, vous pouvez effectuer la commande suivante :
    sudo chown -R www-data:www-data owncloud/config
  9. Redémarrez le serveur HTTP.
  10. Ouvrez enfin la page d’acceuil de owncloud dans votre navigateur.

A cette étape, vous devriez rencontrer une simple page vous proposant d’effectuer la mise à jour. Cliquez sur le bouton, et le reste se fait alors automatiquement.

Il ne vous restera alors plus qu’à répéter ces dernières opérations jusqu’à disposer de la toute dernière version de owncloud.

Conclusion

Au final, vous aurez vu qu’avec les bonnes informations, la mise à jour de owncloud n’est pas des plus compliquée. Mais sans doute cela vous aura-t-il amené à une autre question : le choix de owncloud est-il toujours pertinent ? En effet, de nombreuses solutions de cloud personnel libre ont vues le jour ces dernières années, et si owncloud fut l’un des premiers, il n’est pas forcément le plus « moderne », intuitif et complet. Surtout, c’est une véritable usine à gaz, qui demande au final beaucoup de ressources pour un usage la plupart du temps assez restreint.

Nous pouvons par exemple trouver une bonne alternative en Cosy Cloud, script léger créé récemment par quelques français (cocorico !).  Peut-être migrerais-je moi même vers cosy cloud prochainement … Si je me décide un jour, soyez assurez que je vous détaillerai la démarche sur ce blog.

Quoi qu’il en soit, si vous rencontrez un quelconque problème avec votre cloud perso, lors de sa mise à jour ou non, ou voulez partagez votre expérience, n’hésitez pas, les commentaires sont faits pour ça.

 

[édito] quelques nouvelles

Vous l’aurez constaté, je manque pas mal de temps pour ce blog ces derniers temps. Alors, qu’est-ce qui m’occupe, et quand pourrez vous espérer voir apparaitre de nouveaux articles ?

Pour ce qui est de la première question, je partage la majeure partie de mon temps entre formation (que je délivre toujours en tant qu’indépendant) et rédaction (supports pour l’essentiel, quelques articles pour d’autres sites et magazines, et même, peut-être bientôt, un livre). Peu de temps, du coup, pour le blog, d’autant que la plupart des nouveaux sujets à traiter le sont déjà via mes cours (autant éviter la répétition). J’ai quand même pu cette semaine libérer un tout petit peu de mon temps pour reprendre le design de mon site principal, d’où le changement de thème ici.

Concernant la seconde … eh bien, je préfère ne rien vous promettre, vu le volume qu’a encore pris ces derniers temps ma todo list.  Parmi mes priorités, la migration de ma boite mail, ce qui devrait donc donner, dans les prochains mois, la suite du dernier article sur Postfix.

Je serai cependant ravis, comme toujours, de recevoir vos remarques et suggestions, voir quelques infos qui pourraient éventuellement donner lieu à quelques articles courts.

[GNU/Linux] Auto-hébergement et migration de vos mails – Partie 1 : installer Postfix

J’ai décidé dernièrement de dire définitivement adieu à 1and1 et autres services en ligne, dont j’avais fait le choix plutôt par facilité qu’autre chose il y a quelques années, pour enfin passer mon nom de domaine chez Gandi, et auto-héberger tous mes services.

L’essentiel étant déjà réalisé (Apache, WordPress, Poche, Owncloud, Analytics …) grâce à un petit serveur dédié acquis chez Digicube, il ne me restait plus qu’une étape avant de dire définitivement adieu à mon ancien hébergeur : les mails.

Autant donc vous en faire profiter, via plusieurs articles. Ce qui nous donnera, étape par étape :

  1. l’installation et la configuration de Postfix sous Debian pour le SMTP
  2. l’installation et la configuration de Dovecot pour l’IMAP
  3. la migration des mails (via imapcopy ou imapsync ou autres, je n’ai pas encore vraiment fait mon choix)
  4. la configuration du DNS
  5. d’autres bonus, en fonction du temps dont je disposerais pour rédiger ces tutos, tels que :
    1. configuration de Procmail
    2. anti-spamming avec SpamAssassin
    3. webmail avec RoundCube
    4. intégration de RoundCube à Owncloud

Quelques-uns de ces sujets ont déjà été traités dans mon cours de préparation à la LPIC2 (11_01-Utilisation des serveurs de messagerie et 11_02-Distribution locale des courriels), mais je me suis dit qu’un bon approfondissement, avec un tuto pas à pas et concret, ne pourrait pas faire de mal.

Sans plus de commentaires, attaquons-nous déjà à cette première partie, en installant Postfix sur notre serveur.

Installation et configuration par défaut

Tout d’abord, il va vous falloir installer Postfix bien sûr. Pour ce faire, sous Debian, lancez cette commande :
[prism field=install_postfix language=bash]

Lors de l’inslation, plusieurs questions vous seront posées afin d’établir une configuration par défaut. Mais comme Debian installe souvent Postfix par défaut, il est fort probable que ces choix ne vous soient pas demandés puisque aucune installation n’est à réaliser. Pour vous assurer dans ce cas d’une bonne configuration, lancez :
[prism field=reconf language=bash]
et faites les choix indiqués plus haut.

Les paramètres alors modifiés seront (dans leur ordre d’apparition) :

  • myorigin
  • destinations
  • relayhost
  • mynetworks
  • mailbox_command
  • mailbox_size_limit
  • recipient_delimiter
  • inet_interfaces
  • inet_protocols

Type de serveur de messagerie

Il vous est tout d’abord demandé de choisir parmi 4 choix d’auto-configuration :

  • pas de configuration
  •  Site Internet
  • Internet avec un « smarthost »
  • Système satellite
  • Local uniquement

Comme notre but est ici de mettre en place un serveur Postfix pour notre domaine (j’utiliserais noelmace.com pour exemple par la suite), nous allons faire le choix de l’option 2, « Site Internet ».

Nom de courrier

Comme indiqué, le « nom de courrier » est le « nom employé pour qualifier toutes les adresses n’ayant pas de nom de domaine ». A priori, vous voudriez donc utiliser le nom de domaine principal que votre serveur mail a à gérer (par exemple noelmace.com).

redirection des comptes système et administrateur

Pour plus de sécurité, Posfix redirige l’ensemble des courriers à destination des comptes root et postmaster (ainsi que d’autres comptes systèmes) vers une adresse de votre choix. Indiquez la future adresse de votre administrateur système (contact@noelmace.com dans mon cas).

liste des domaines reconnus

Un exemple :
noelmace.com, www.noelmace.com, localhost.noelmace.com, localhost

forcer la mise à jour synchronisée

Désactiver cette fonctionnalité risquerais d’entrainer la perte de certaines (rares) mails. Nous répondrons donc « oui« .

réseaux internes

Pensez à mettre ici aussi bien les adresses ipv4 qu’ipv6 pour lesquelles vous voulez que votre serveur SMTP puisse servir de relais. Par défaut, nous n’acceptons que les requêtes à partir de l’hôte local, et garderons donc la configuration suivante pour l’instant :
127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128

activation de procmail pour la distribution locale

Procmail est un utilitaire (MDA pour Mail Delivery Agent) se couplant à votre auxiliaire de transfert de courrier (MTA) Postfix afin de permettre la délivrance des mails selon certaines règles que vous pourrez personnaliser par la suite. En d’autres termes, si vous acceptez cette option en répondant « Oui », Procmail vous permettra de choisir de manière beaucoup plus fine où (dans quel dossier) seront délivrés les mails. Dans le cas contraire, vous n’utiliserez que le MDA intégré à Postfix, qui n’offre que très peu de fonctionnalités.

Procmail vous permettra donc de rediriger vos mails en fonction de leur destinataire, de leur expéditeur, de leur objet, de leur contenu, ou encore de leur appartenance à une liste de diffusion, et pourra même se coupler à un agent anti-spam tel que SpamAssassin.

taille maximale de boite aux lettres

Vous pouvez ici limiter de manière globale la taille maximale que pourra prendre sur votre système chaque boite mail. Indiquez une valeur nulle (0) pour ne donner aucune limite, ou un nombre donné pour indiquer la limite en Mo.

Il est bien entendu fortement recommandé de limiter la taille des boites mail afin d’éviter que votre système soit surchargé (ce que vous pouvez d’ailleurs coupler avec des quotas sur le système de fichiers).

caractère d’extension d’adresse locale

Nous reviendrons sur le paramètre recipient_delimiter plus loin. Vous pouvez pour l’instant simplement laisser la valeur par défaut (+).

protocole IP

Vous pouvez sélectionner ici ipv4, ipv6 ou les deux (« tous »).

Conclusion

Et voilà votre serveur Postfix installé, et suffisamment configuré pour un usage minimal. Vous pourriez donc vous contenter de cette première étape, et utiliser directement le service comme tel.

Comme vous aurez tout de même à mon avis besoin de configurer plus finement tout cela, l’article suivant traitera de la configuration de Postfix et de son « processus maitre », ce qui devrait nous amener à plus d’approfondissements sur la structure et les principes de Postfix.

En attendant, n’hésitez pas à me faire part de vos remarques et questions sur le sujet. Nous sommes partis dans une longue série d’articles. Je tacherais du coup d’y caser autant que possible les sujets que vous m’aurez suggérés.

À très bientôt pour la suite.

[Webdev + GNU/Linux] Se passer de Google Analytics grâce à Piwik

Si vous êtes un habitué de ce type de blog, vous avez sans doute dors et déjà été averti des dangers d’un usage inconsidéré des produits Google, Analytics entre autres. Si cependant cela n’était pas le cas, je vous invite à aller consulter ces quelques articles :

Maintenant que nous sommes tous d’accord du pourquoi, voyons comment fonctionne Piwik, et comment l’installer sur Debian (comme souvent, je m’inspire ici de mon cas personnel).

Installation

Et cela commence par une bonne nouvelle : Piwik a été packagé il y a peu (enfin) pour Debian, ce qui devrait nous simplifier pas mal la tâche. Bon, le paquet n’est pas encore présent sur les dépôts officiels, mais qu’à cela ne tienne, nous allons suivre la doc pour ajouter le dépôt nécessaire.

Voici le script que vous pouvez lancer pour réaliser toutes les opérations nécessaires.

#!/bin/bash

key=$( wget http://debian.piwik.org/repository.gpg -qO - | sha256sum );
if [[ "$key" =~ "0d7c880f6c838bba2d02817dcacfc97fc538b1ebcdb41c3106595265c0d371d4" ]];
        then wget -qO - http://debian.piwik.org/repository.gpg | sudo apt-key add -;
        else echo -e "la clé n'est pas celle attendue\nannulation";
                exit 1;
fi;

echo -e "\ndeb http://debian.piwik.org/ piwik main\ndeb-src http://debian.piwik.org/ piwik main" | sudo tee -a /etc/apt/sources.list.d/piwik.list;

sudo apt-get update && sudo apt-get install piwik;

Télécharger ce script.

Détaillons tout de même un peu. Nous avons donc réalisé les étapes suivantes, dans l’ordre.

Vérifier la clé gpg du dépôt

afin de s’assurer de son identité

wget http://debian.piwik.org/repository.gpg -qO - | sha256sum

Celle ci devrait être la suivante :
0d7c880f6c838bba2d02817dcacfc97fc538b1ebcdb41c3106595265c0d371d4
(pensez tout de même à vérifier que cette information est à jour sur piwik.org

L’installer

wget -qO - http://debian.piwik.org/repository.gpg | sudo apt-key add -

Ajouter le dépôt

La configuration à ajouter à /etc/apt/source.list est la suivante :

deb https://debian.piwik.org/ piwik main
deb-src https://debian.piwik.org/ piwik main

Vous pouvez choisir d’utiliser ou non l’HTTPS, en laissant ou enlever le « s » derrière « http » pour ces deux lignes.

Ou alors, vous pouvez aussi juste lancer cette commande :

echo -e "\ndeb http://debian.piwik.org/ piwik main\ndeb-src http://debian.piwik.org/ piwik main" | sudo tee -a /etc/apt/source.list

Autrement, pour une meilleure organisation, vous pouvez également ajouter ces lignes au nouveau fichier /etc/apt/source.list.d/piwik.list

Mise à jour des dépôts et installation de Piwik

sudo apt-get update
sudo apt-get install piwik

Configuration

Apache

Tout d’abord, il va nous falloir activer Piwik dans Apache. Le paquet que nous venons d’installer nous procure déjà un fichier de configuration /etc/piwik/apache.conf et un lien symbolique /etc/apache2/conf.d/piwik.conf pointant sur ce fichier.

Tout ce que nous avons donc à faire est d’éditer ce fichier, et de dé-commenter la ligne suivante (en enlevant le # en début de ligne) :
# Alias /piwik /usr/share/piwik

Puis on force notre serveur à recharger sa configuration :

sudo service apache2 force-reload

Mise en œuvre

Rendez-vous ensuite, via votre navigateur web préféré, à l’adresse :
http://votreserveur/piwik/
et cliquez sur « suivant ».

Vérification du système

Sur la première page est indiqué si les conditions requises sont respectées ou non. En ayant installé Piwik via apt, vous ne devriez avoir aucun message problématique.

Concernant les conditions optionnelles non mentionnées :
il est tout d’abord recommandé d’utiliser PHP 5.5 au moins, même si Piwik peut fonctionner à partir de PHP 5.3.2. Pensez donc à vérifier tout de même la version installée sur votre serveur avec la commande suivante :

php5 --version

Si la version n’est pas égale ou supérieur à 5.5, pensez à mettre à jour votre système :

sudo apt-get update && sudi apt-get upgrade

Pensez également à bien vérifier que l’extension php-gd est installée si vous voulez avoir l’affichage des graphiques. Si cette page vous indique une croix à coté de « GD > 2.x + Freetype (graphiques)« , lancez la commande suivante :

sudo apt-get install php5-gd

Vous pouvez passer à l’étape suivante même si certaines conditions optionnelles ne sont pas respectées. Faites cependant bien attention à ce que vous validez. Par exemple, la première condition optionnelle « intégrité du fichier » renvoie systématiquement une erreur si vous êtes passés par l’installation par paquet. Vérifiez quand même les fichiers concernés en cliquant sur « Détails« . Si celui-ci ne concerne qu’un fichier comme le README (qui, pour mieux correspondre aux standards Debian, a été déplacé dans un autre dossier et remplacé par un lien symbolique), vous pouvez ignorer le message.

Vous devriez également voir apparaitre une « note » à « Ouvrez l’url », donnant le message suivant :

Note: La mise à jour de Piwik en un clic requiert une permission en écriture sur le dossier de Piwik et son contenu.

Ne modifiez pas pour autant les droits, pour des raisons évidentes de sécurité. Si, par la suite, vous voulez faire une mise à jour en un clic, vous pourrez toujours changer les droits temporairement à ce moment là. Sachant que vous avez à priori installé Piwik à partir des paquets, vous ne devriez de toute manière pas avoir à utiliser cette fonctionnalité.

Installation de la base de données

En cliquant sur suivant, vous passez à la configuration de votre DB. Vous allez donc avoir besoin de réaliser quelques opérations sur votre SGBD avant tout. Connectez-vous via votre client à MySQL, et entrez les commandes suivantes :

Création de la base de données

CREATE DATABASE piwik;

Création de l’utilisateur

CREATE USER 'piwik'@'localhost' IDENTIFIED BY 'votre_mot-de-passe';

Bien entendu, vous aurez besoin de préciser une autre valeur que 'localhost' si votre serveur Apache et votre serveur MySQL ne sont pas hébergés sur le même hôte.

Droits d’accès

GRANT ALL PRIVILEGES ON piwik.*
TO 'piwik'@'localhost' WITH GRANT OPTION;

Paramétrer un site

Une fois la configuration pour la table entrée et le compte administrateur créé, vous pouvez enfin paramétrer votre premier site. Entrez simplement les paramètres demandés, et cliquez sur suivant.

Intégration

Mettre en place un nouveau site

Pour ajouter un site web, allez au menu « Tous les sites web » en haut à droite dans Piwik. Une liste des sites déjà configurés apparait, ainsi qu’un bouton « Ajouter un site » en bas à droite. Cliquez dessus. Vous pouvez également accéder à cette interface « Gestion des sites » en allant dans le menu « Paramètres » (toujours en haut à droite), puis en cliquant sur « Sites » dans la partie « Gérer » dans le menu de gauche.

Entrez le nom de votre nouveau site (celui qui vous permettra de le distinguer des autres dans Piwik) et la ou les url à suivre, et cliquez sur « Enregistrer ». Beaucoup d’autres paramètres sont disponibles, mais tous sont assez explicites.

Enfin, pour récupérer le code JavaScript, allez à la dernière colonne, tout à droite, et cliquez sur le lien correspondant à votre site. Vous pouvez aussi accéder à cette page « Suivi par Javascript » en cliquant sur « Code de suivi » dans la partie « Gérer » du menu de gauche.

WordPress

Pour intégrer le suivit Piwik à votre blog WordPress, vous aurez besoin de l’extension WP-Piwik. Pour l’installer, rendez-vous sur votre interface d’administration wordpress, menu extension > ajouter, et entrez « WP-Piwik » dans la barre de recherche. Cliquez sur « installer maintenant » en dessous du premier résultat de recherche, et activez l’extension.

Une fois l’extension installée et activée, un nouveau menu Réglages > WP-Piwik est disponible.

Récupération des informations

Le premier paramètre est simplement l’url de votre installation de piwik.

Pour récupérer la « auth_tockent », vous devez vous rendre dans piwik, et cliquer sur API, dans le menu du haut.

Activation

Après avoir entré tout les paramètres, vous devez encore intégrer le code javascript de tracking à votre template. WP-Piwik peu s’en charger automatiquement pour vous, à la condition que votre thème utilise bien wp_footer(). Dans ce cas, il vous faudra aller à l’onglet « Tracking » de la page de configuration de WP-Piwik, et sélectionner la checkbox qui s’affiche. De nombreux paramètres vous sont alors accessibles. Je vous recommande de sélectionner « Add <noscript> » et, tout en bas, d’exclure au moins l’administrateur du suivit (en cochant la checkbox associée).

Autres CMS

Des plugins Piwik sont disponible pour la grande majorité des CMS actuels. Vous pourrez tous les retrouver sur le site de Piwik.

S’exclure des statistiques

Pour vous exclure des statistiques, il existe deux solutions :

  • via un cookie, à mettre en place sur vos machines clientes
  • par l’exclusion d’adresses ip

Par adresse IP

Comme moi, il doit certainement vous arriver de consulter votre site en déplacement, depuis un réseau publique, un vpn, etc … L’exclusion d’adresse IP, à moins d’être dans le cadre d’un site professionnel pour lequel on voudrait exclure des statistiques tout les membres d’une même entreprise / d’un même réseau, n’est donc pas la solution idéale, et ne devrait normalement vraiment vous service que pour exclure votre domicile (si vous êtes en ip fixe).

Pour le mettre en place, allez à Paramètres > (Gérer) Sites, et ajoutez les adresses à exclure dans la quatrième colonne.

Par cookie

La meilleure solution selon-moi. Pour générer le cookie d’exclusion, allez dans le menu des paramètres de Piwik, puis dans « Paramètres utilisateurs ». Là, vous trouverez après vos paramètres personnels, un chapitre « Excluez vos visites en utilisant un cookie ». Cliquez simplement sur le lien pour télécharger le cookie (nommé « piwik_ignore »).

[sec] Générer un mot de passe aléatoire

Est-il utile de rappeler que créer un mot de passe à partir de mots réel est une aberration ? Est-il encore utile de rappeler qu’utiliser un même mot de passe, aussi sécurisé qu’il soit, dans de nombreux contextes différents, en est une autre ?

Je ne vais pas m’éterniser sur ces sujets (d’autant que je l’ai déjà traité dans mon cours d’introduction à la sécurité).

Rappelons tout de même que l’aléatoirité en informatique (à moins d’utiliser un périphérique spécifique), n’est jamais réellement totale, et peu s’avérer prévisible. Mais après tout, si la sécurité est aussi sensible dans un contexte donné, c’est que vous aurez sans doute fait le choix de l’authentification forte (non ? eh bien il serait temps de vous y mettre).

Bref, pour en revenir à notre sujet, voici comment générer facilement un mot de passe « aléatoire » sous GNU/Linux.

Installation

sudo apt-get install makepasswd

Le paquet est dans les dépôts officiels de la plupart des distributions, donc inutile de rajouter de configuration.

Usage

Ensuite, l’usage de la commande est assez simple.

Pour générer un mot de passe aléatoire de neuf caractères :

makepasswd

Pour spécifier le nombre de caractères voulus (16 par exemple) :

makepasswd --chars 16

[GNU/Linux] Debian Wheezy : installer un packet à partir des dépôt testing (jessie)

Ayant dernièrement voulu tester Brackets sous Debian Wheezy, je me suis retrouvé face à un léger contretemps : la dépendance de Brackets à libc6 en version supérieure à la 2.14, alors même que les dépôts officiels de Debian Wheezy ne proposent cette librairie qu’en version 2.13 au maximum pour l’instant.

Que faire alors ? Plutôt que d’installer la dernière version de cette librairie à partir des sources (ce qui aurait rapidement rendu les mises à jour assez fastidieuses étant donné son importance), regardons du côté des autres dépôts. Nous voyons directement que la version testing (Jessie) propose la version 2.19 de cette bibliothèque, ce qui devrait parfaitement faire l’affaire.

Comme nous ne voulons pas pour autant passer toute notre distribution en version testing, nous allons voir comment installer juste ce paquet dans la version voulue.

Pour ceux qui voudraient tout de même installer les bibliothèques C GNU à partir des sources, lisez la page consacrée sur LFS et faites un tour sur le site officiel.

Configuration de apt

Nous devons tout d’abord nous assurer que apt privilégiera toujours par défaut la version « stable » (Wheezy) de notre distibution. Pour ce faire, nous allons effectuer la commande suivante pour ajouter une ligne à apt.conf (ou le créer s’il n’existe pas) :

echo 'APT::Default-Release "stable";' | sudo tee -a /etc/apt/apt.conf

Puis, ajouter les dépôts testing :

echo 'deb http://ftp.fr.debian.org/debian/ testing main
deb-src http://ftp.fr.debian.org/debian/ testing main' | sudo tee -a /etc/apt/source.list

Enfin, il nous faudra bien entendu mettre à jour notre base de paquets :

sudo apt-get update

Installation du paquet

Pour installer un paquet testing, il nous suffira alors d’utiliser l’option -t pour surcharger la version par défaut établie dans le fichier apt.conf :

sudo apt-get -t testing install libc6-dev

Je vous recommande vivement de tester cette commande avec l’option --dry-run avant de lancer l’installation pour de bon, afin de vérifier que ce nouveau paquet n’impactera pas l’ensemble de votre installation.

Si ce tuto n’avait pas entièrement répondu à votre question, n’hésitez pas à la poster comme commentaire. Et pour les autres, vous pourrez toujours en apprendre plus via la documentation de Debian.