samedi, 4 mars 2017

Chaudière à fuel Viessmann

C'est souvent lorsque ça lâche que l'on s’intéresse aux choses :) C'est ce qui est arrivé avec ma chaudière un soir d'hiver ou elle a décidé de ne plus fonctionner. C'est en me rendant devant cette dernière que j'ai constaté plusieurs anomalies :

  • La pression dans le circuit d'eau était extrêmement basse.
  • Un voyant sur la chaudière clignotait et indiquait un dysfonctionnement.

Les premiers pas

J'ai, dans un premier temps, remis de la pression dans le circuit d'eau, en ouvrant la vanne d'arrivée d'eau, afin de remonter la pression à une valeur de 1,5 bars environs. Mais la chaudière ne repartait pas. Naïvement, j'ai tenté de redémarrer électriquement la chaudière (dans le doute reboote :)). Sans succès.
C'est en ôtant le cache en bas de la chaudière que j'ai fais la rencontre du brûleur. Bon ça fait un peu peur la première fois, mais on fini par se repérer un poil. Moi les voyants rouges; bah ça m'intrigue ! et là j'en avais un gros pile sur le brûleur. En cherchant un peu, ça indique que le brûleur pour une certaine raison (ouais à ce niveau ça peut venir de plein de choses) c'est mis en sécurité. Il a préféré s’arrêter plutôt que de tourner dans un mode qui aurait pu l'endommager.
Il suffit d'enfoncer le bouton situé dessus pour réamorcer le brûleur. Une fumée, avec une forte odeur de fioul, s'échappe du devant de la chaudière. En regardant de plus prêt, un joint très usé par le temps, n'existe plus sur plusieurs centimètres entre la chambre de combustion et le brûleur. ça ne doit pas être lié à mon problème mais je pense qu'il faudra regarder ça plus en détail... Et là, magie ! la chaudière est repartie mais ça n'a pas duré longtemps.

J'ai appelé le numéro posé sur la chaudière afin de demander l'intervention d'un chauffagiste. Et au bout du fil je tombe sur un monsieur fort sympathique, qui, devant sentir que j'étais curieux et suffisamment débrouillard, m'a indiqué des éléments qui pourraient être à la cause de ma panne. Première piste, plus de fioul. Étrange, le précédent locataire m'a indiqué qu'il restait un bon mois de fioul il y a de cela 3 jours. J'écarte donc cette piste. Le circulateur, il se peut qu'il soit grippé. Pour s'en assurer, on peut commencer par appuyer la pointe d'un tournevis sur la grosse vis du circulateur et on pose ensuite l'oreille sur le manche du tournevis afin d'écouter le bruit d'un moteur qui ferait tourner le circulateur. Promis c'est vrai c'est le chauffagiste qui l'a dit ! :-) Pas certain de ce que j'ai entendu je demande un autre moyen pour être certain qu'il tourne bien. On démonte la grosse vis en façade. De l'eau assez chaude coule en continu, il faut donc prévoir un seau pour récupérer l'eau. Derrière se trouve une autre vis, qu'on tourne dans les sens indiqué par la flèche sur le circulateur. Si cette dernière tourne sans problème, alors le circulateur n'est pas grippé.

Voyons ce que ça dit maintenant côté électrique. Sur le haut du circulateur, on trouve un boîtier étanche. Ce dernier renferme le raccordement électrique permettant d'alimenter le circulateur. L'idée c'est de vérifier aux bornes si un courant électrique arrive bien. Si c'est le cas, que le circulateur ne tourne pas, et qu'il n'est pas grippé, alors c'est cette pièce qui est endommagée. Je positionne donc un voltmètre aux bornes du circulateur, et là le moment de solitude; pas d’électricité aux bornes du circulateur. Et au bout du fil le plombier qui m'indique que la il faut remonter le fil pour voir s'il est bien branché et s'il n'aurait pas été sectionné à un endroit. Ça commence à devenir compliqué et il faut que je télécharge les notices précises de la chaudière pour savoir comment accéder au fil qui semble poser problème, ainsi que l'endroit supposé ou il doit être raccordé sur le contrôleur de la chaudière. Je vérifie donc les 2 extrémités du fil du circulateur, tout semble bon. Depuis les bornes du contrôleur qui alimente le circulateur, je trouve bien un courant de 220V, mais je ne retrouve pas ce dernier aux bornes du circulateur. Pas de doute j'ai trouvé le souci.

Pour accéder au fil il faut démonter la partie latérale de la jaquette de la chaudière. Je trouve ici une boite de dérivation. En ouvrant cette dernière je constate qu'un fil semble sectionné et n'est plus en contact avec le domino auquel il est relié. Je reprend donc tout les fils et m'assure de bien mettre en contact ces derniers et sert assez fort le domino. Et là je jubile ! La chaudière fonctionne a merveille ! Enfin... Chance du débutant oblige, panne de fioul dans la foulée; à peine 3 jours après l’emménagement. J'ai donc commandé du fioul. 3h plus tard, le livreur était en train de remplir la cuve ! Efficace !

Il faut attendre 2 bonnes heures avant de relancer la chaudière et ce afin que les éventuelles particules présentes dans la cuve, se déposent à nouveau au fond et ne soient pas absorbés par le brûleur au risque d'endommager la chaudière. L'embout immergé dans la cuve ,est muni d'une crépine dont le rôle est de filtrer les plus grosses particules pour éviter ces situations. La chaudière semble à nouveau fonctionner.

Je suis donc revenu sur le joint de la dernière fois et me suis mis en tête de le changer. Ce sera, au passage, l'occasion d'apprendre un peu comment tout ça fonctionne.

L'entretien

Quitte à changer le joint, autant en profiter pour faire un petit bilan de la chaudière et faire l'entretien des divers éléments.

Changer le joint

Histoire de bien comprendre ce qui a motivé le changement du joint voici quelques photos de ce dernier avant.

On voit ici bien 2 traces noirs, d'où s'échappent les fumées à chaque amorçage du brûleur.

Sur cette image on voit bien a gauche de la pièce métallique que le joint est entier, alors qu'à droite il n'existe plus du tout. Pour changer le joint il faut retirer le brûleur en dévissant 3 vis. Une fois le brûleur démonté, il a été nécessaire de nettoyer la surface car le joint avait fusionné avec les parties métalliques. À l'aide d'un couteau et d'une brosse métallique j'ai donc nettoyé la surface. Une fois cette étape réalisé on peut ensuite présenter le joint.

La chambre de chauffe

Vu que le brûleur est déposé, nous en profitons pour nettoyer la chambre de chauffe. Et ce n'était pas superflu ! À l'aide d'une brosse métallique et d'un goupillon, on va enlever toute la calamine présente dans la chambre afin de rendre les échanges thermiques optimum. Et voila le résultat après une bonne demi-heure à frotter et aspirer tout le dépot présent dans la chambre Tout de suite ça fait plus propre.

Le Brûleur

Même sort pour le brûleur. Il faut nettoyer les parties qui étaient en contact avec le joint toujours à l'aide d'un couteau et de la brosse métallique. et tant qu'à faire autant nettoyer toutes les autres parties de ce dernier, en prenant soin de ne pas toucher aux électrodes ainsi qu'à la buse. Et voilà le résultat Il ne reste donc plus qu'à tout remonter et nous allons à présent pouvoir procéder à des réglages plus fins de la chaudière, afin d'en optimiser le rendement.

Les contrôles

Afin de réaliser l'ensemble des tests qui vont suivre; il est nécessaire que la chaudière soit en fonctionnement. J'ai pour ma part augmenté de manière significative la température du circuit de chauffe. C'est uniquement lorsque la chaudière est en fonctionnement, et de préférence depuis un certain temps afin que les fumées soient arrivées a la température de fonctionnement normal, que l'on peut réaliser l'ensemble des tests qui vont suivre.
Sans cela nous aurions des valeurs incorrectes et qui ne reflèteraient pas le fonctionnement de la chaudière.

Le test de fumée

Avant de pouvoir procéder à un contrôle plus poussé de la chaudière, il est nécessaire de réaliser un test de fumée ou "smoke test" qui va nous permettre de déterminer l'indice de suie d'une chaudière. On réalise ce test à l'aide d'une pompe opacimètre. plutôt qu'un long discours voici une vidéo illustrant la manipulation:

https://www.youtube.com/watch?v=_YgzmT_KJUc

On retiendra qu'il faut insérer l'embout de la pompe dans un trou du conduit d'évacuation des fumées de la chaudière. Le trou est en moyenne situé à 2 fois le diamètre du conduit, de la base du conduit. On effectue dix pompages consécutifs. On retire ensuite le papier filtre et on le compare à la grille pour valider que ce dernier est situé entre 1 et 2/3 ;l'idéal étant de tendre vers 1. Si le résultat n'est pas bon il faut faire varier l'apport d'air afin d'obtenir un résultat convenable. Une fois le test réalisé, on peut utiliser la sonde de diagnostic pour des métriques plus précise sur le réglage de la chaudière. Utiliser la sonde dans une fumée trop chargée en suie risquerait d'endommager les capteurs de l'appareil et fausser les résultats.

La sonde de diagnostic

Nous avons utilisé une sonde TESTO 330-1. Ce modèle permet de faire plusieurs sortes de mesures, il peut mesurer le rendement de la chaudière, la teneur précise des fumées rejetées, ou encore le tirage.
Afin de faire varier les résultats c'est comme pour le test de fumée en modulant l'apport d'air que l'on va regler de manière optimum les différentes valeurs remontées par le testeur.
Voici les valeurs les plus remarquables que nous avons obtenu au final. Une petite explication des différentes métriques s'impose:

  • TF : c'est la température des fumées
  • CO² : il s'agit de la quantité de CO² présente dans les fumées. Une quantité trop importante de CO² dans les fumées indique une mauvaise combustion de ces dernières. L'air envoyé est trop important.
  • O² : C'est la quantité d'air (oxygène) relevées dans les fumées.
  • λ : représente l'excès d'air. 1,14, correspond à un excès d'air de 14%
  • CO : Exprimé en particules par mètre cube, c'est la quantité de particules de carbone par mètres cube d'air présent dans les fumées. Cette valeur est soumise à une réglementation fixant le nombre maximal de ppm à 25. (par le passé cette valeur était de 50 ppm)
  • η : C'est le pourcentage de rendement de la chaudière. autant dire que 92% pour une chaudière qui date d'il y a une bonne dizaine d'année c'est plutôt pas mal !

Liens connexes :

jeudi, 16 février 2017

Afficher la RAM des process les plus consommateurs

Voici comment afficher la liste des 10 processus les plus consommateurs et la RAM utilisée par ces derniers.

# ps -eo size,pid,user,command | sort -rn | head -10 | awk '{hr[1024**2]="GB"; hr[1024]="MB";for (x=1024**3; x>=1024; x/=1024) {if ($1>=x) { printf ("%-6.2f %s ", $1/x, hr[x]); break }} } { printf ("%-6s %-10s ", $2, $3) }{ for ( x=4 ; x<=NF ; x++ ) { printf ("%s ",$x) } print ("\n") }'
5.64   GB 28817  mysql      /apps/mysql/cluster-7.4.11/bin/ndbd --ndb-connectstring=vl-d-pxx-12:1186,vl-d-pxx-26:1186 --ndb-nodeid=2 --foreground=true

2.34   GB 2000   mysql      mysql-monitor-agent -java-home /apps/mysql/memagent/java -server -Xms32m -Xmx64m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/apps/mysql/memagent/logs/mysql-monitor-agent.hprof -XX:OnOutOfMemoryError=/apps/mysql/memagent/bin/agentRestart.sh -user mysql -pidfile /apps/mysql/memagent/mysql-monitor-agent.pid -wait 90 -outfile /apps/mysql/memagent/logs/mysql-monitor-agent.stdout -errfile /apps/mysql/memagent/logs/mysql-monitor-agent.stderr -classpath /apps/mysql/memagent/bin/bootstrap:/apps/mysql/memagent/lib/commons-daemon-1.0.10.jar -DMYSQL_AGENT_HOME=/apps/mysql/memagent -Djava.library.path=/apps/mysql/memagent/lib -showversion -procname mysql-monitor-agent com.mysql.etools.agent.runtime.Bootstrap --agent-instance-dir=/apps/mysql/memagent

1.15   GB 14832  root       python /usr/bin/goferd

1.05   GB 2582   root       /apps/ITM/lx8266/lz/bin/klzagent

465.77 MB 1948   mysql      /apps/mysql/mcm/libexec/mcmd --plugin-dir=/apps/mysql/mcm/lib/mcmd --defaults-file=/apps/mysql/mcm/etc/mcmd.ini --daemon --pid-file=/apps/mysql/mcm/mcmd.pid

397.02 MB 4054   root       /apps/ITM/lx8266/lz/bin/kcawd

370.44 MB 1660   root       /sbin/rsyslogd -i /var/run/syslogd.pid -c 5

102.05 MB 3685   root       /usr/IBM/TWA/00svczc1/TWS/bin/JobManager

49.28  MB 15067  root       sort -rn

22.54  MB 1738   root       /apps/tad4d/lmt/tlmagent.bin

Sources:

samedi, 12 novembre 2016

Serveur mail : Garder un peu de ma vie privée

En me baladant dans les entêtes de mes mails je m’aperçois que des informations, inutiles à mon goût, mais également intrusives apparaissent dans l'ensemble des mails que j’envoie. Ni une ni deux, j'enfourche mon moteur de recherche préféré et me voilà parti à trouver une solution. Le truc bien avec Postfix, pour envoyer mes mails, c'est que je peux faire n'importe quoi (j'entends autre chose que le faire tomber en panne, ou en marche selon l'alignement des planètes).

Donc l'idée pour ne fournir que les informations nécessaires à la transmission d'un mail; c'est de configurer le serveur SMTP de telle sorte qu'il filtre les entêtes indésirables au moment d'envoyer le mail.

Pour ce faire, on édite le fichier /etc/postfix/master.cf en ajoutant dans la partie relative à la déclaration du service smtp(s) la ligne cleanup_service_name=auth-cleanup comme indiqué ci-dessous

smtps     inet  n       -       y       -       -       smtpd
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o cleanup_service_name=auth-cleanup

on ajoute également cette fois, où on souhaite, dans le fichier /etc/postix/master.cf la directive suivante;

auth-cleanup   unix  n       -       -       -       0       cleanup
  -o header_checks=pcre:/etc/postfix/header_checks

on édite enfin le fichier /etc/postfix/header_checks ainsi;

/^Received:.*with ESMTPSA/              IGNORE
/^X-Originating-IP:/    IGNORE
/^X-Mailer:/            IGNORE
/^Mime-Version:/        IGNORE
/^User-Agent:/          IGNORE

on redémarre enfin le service Postfix

# service postifx restart

et on envois un mail afin de vérifier l'absence des entêtes qui me dérangeaient. L'avantage de cette configuration est qu'elle ne s'applique que sur les mails sortant, laissant ainsi intacte les entêtes des mails reçus.

mardi, 1 octobre 2013

Centreon : superviser la charge mémoire de vos serveurs Oracle

Les gens sensibilisés à la supervision ont tous rencontrés ce problème;
Un applicatif hébergé sur un serveur, se réserve de la RAM au démarrage pour disposer d'un espace d'échange avec la certitude que ce dernier lui sera entièrement dédiée.
Pour le cas d'Oracle cela va permettre au SGBD de charger directement en RAM une structure interne et ainsi avoir des temps de réponse optimum.
Voici par exemple un cas concret avec un serveur Oracle.

$ free -m
             total       used       free     shared    buffers     cached
Mem:          7971       7847        124          0        171       3966
-/+ buffers/cache:       3709       4261
Swap:        16002       1812      14189

On remarque que sur les 8Go de RAM présente sur le serveur, 4Go sont en cache.
À l'aide de la commande ipcs, on relève la RAM allouée spécifiquement au service Oracle.

$ ipcs -m  | grep oracle
0x43906674 11239429   oracle    660        4096       0
0x8a5a4b48 11501575   oracle    660        4096       0

Pour le serveur concerné nous avons 2 instances de bases avec chacune 4Go de RAM allouée.
Il est également possible de voir la valeur de la RAM allouée directement en base de données.

$ sqlplus '/ as sysdba'
SQL*Plus: Release 11.2.0.2.0 Production on Tue Oct 1 10:59:38 2013
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
Connecte a :
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
SQL> show parameter memory

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
hi_shared_memory_address             integer     0
memory_max_target                    big integer 3G
memory_target                        big integer 3G
shared_memory_address                integer     0
SQL>

Il est à noter, que la valeur memory_target, au même titre que celle retournée par la commande ipcs, sont des valeurs maximales, la valeur effective pouvant être inférieure.
Oui mais voilà, comment, côté supervision, traiter ce comportement ? D'un point de vue du système la RAM est allouée, donc consommée. Comment pouvons nous dans ce cas identifier un manque de RAM et décider s'il est nécessaire ou non de redimensionner la machine ?
La supervision de la RAM sur ce genre de serveur est problématique car souvent en statut critique. Le but de la manœuvre est donc ici de continuer de stocker la charge de RAM, sans que cela ne remonte d'état WARNING ou CRITICAL.
% Pour se faire nous allons utiliser un check classique que nous allons chainer avec un second script, j'ai nommé negate.
Voici le script classique utilisé pour superviser la RAM :

# ./check_snmp_storage.pl -H serveur1 -C ro-snmp -m -q Ram -w 90 -c 95 -f ; echo $?
Physical memory: 98%used(3818MB/3886MB) (>95%) : CRITICAL | 'Physical_memory'=3818MB;3497;3691;0;3886
2

Le script retourne bien un statut critique, la valeur du code retour étant 2.
Et maintenant le même script couplé avec negate :

# ./negate -o OK -w OK -c OK /usr/lib/nagios/plugins/check_snmp_storage.pl -H serveur1 -C ro-snmp -m -q Ram -w 90 -c 95 -f ; echo $?
Physical memory: 98%used(3819MB/3886MB) (>95%) : CRITICAL | 'Physical_memory'=3819MB;3497;3691;0;3886
0

Cette fois-ci, le code retour est 0.
Voilà donc, mission accomplie ! Nous continuons de stocker les valeurs d'utilisation de la mémoire vive, sans que celle si ne change jamais d'état coté supervision.
Ce n'est plus la RAM que nous allons superviser, mais la mémoire virtuelle (swap). Ainsi, dès que le serveur va commencer à utiliser la mémoire virtuelle, des alertes seront remontées.
Nous venons donc de voir un moyen efficace et élégant de superviser les serveurs hébergeant des applications fonctionnant sur le principe de réservation de mémoire vive.

samedi, 15 décembre 2012

Dotclear : publier vos billets depuis Libre office grâce à XML RPC

Nous allons ici voir comment configurer notre éditeur de texte Libre Office afin qu’il prenne en charge XML/RPC. Nous pourrons ainsi simplement rédiger des billets dans notre éditeur de texte et les publier directement (ou lorsque vous disposerez d’une connexion internet) sur votre blog.

Les bénéfices sont énorme en terme de facilité de mise en page ( et oui vous éditez vos billets avec un véritable éditeur de texte, du coup tout de suite c’est plus simple :) ) , gestion des images (oui oui, vous avez bien entendu ! L’outil la configuration gère également les images )

Vous pourrez d’ailleurs télécharger le fichier ODT qui a été utilisé pour générer ce billet... Si c’est pas beau ça :) !!

Dans mon exemple j’utilise Libre Office, mais d’une manière générale, il s’utilise avec la plupart des éditeurs de texte dignes de ce nom et supportant le protocole RPC/XML.

Ajout de l’extension

Cette dernière est fourni par Sun, se nomme Sun Weblog Publisher et est disponible ici.

Il vous suffit de télécharger ce dernier. Une fois sur votre disque local ; lancer Libre Office Writer. Dans le menu Outils > Gestionnaire des extensions

sbres_13555356ca-982c7.png

On clique ici sur le bouton Add et on renseigne le chemin vers le fichier sun-weblog-publisher.oxt Sun Weblog Publisher (Dans Téléchargements par défaut). Validez jusqu’à installation de l’extension.

Configuration de l’extension

Une fois l’extension installée, on relance Libre Office. Nous allons à présent pouvoir configurer l’outil. On se rend a nouceau dans le gestionnaire des extensions ( Outils > Gestionnaire des extensions )

sbres_135553499d-52fc9.png

on se positionne sur l’extension Sun Weblog Publisher et on clique enfin sur Options .

sbres_135553685f-e8fc2.png

C’est ici que nous allons déclarer les divers blogs que nous administrons et que l’on souhaite mettre à jour à travers Libre Office.

On clique donc sur Ajouter pour déclarer un nouveau blog

sbres_1355531cdd-7d77f.png

Type : on trouve ici diverses plateforme de blog nativement supportées, mais également type-mobile (xml-rpc). C’est ce choix que j’ai pour ma part utilisé pour Dotclear 2

sbres_135553e795-f415b.png

URL du serveur : cette dernière est disponible dans l’interface d’administration du blog dans la section Paramètres du blog dans la section Interface XML/RPC

il suffit donc de reporter l’adresse fournie, ainsi que les nom d’utilisateur et mot de passe

Une fois les éléments renseigné on clique sur OK et on ferme ensuite le gestionnaire des extensions.

Voilà notre site à présent ajouté avec succès, nous pouvons maintenant rédiger notre premier article.

Rédaction du billet

Avant de constater la simplicité avec laquelle il est à présent possible de publier nos article, je rappelle qu’il est (toujours !) important d’utiliser les styles appropriés au besoin, pour s’épargner toutes sortes de problèmes inutiles. Dans notre cas, il s’agit de garantir que l’export fonctionne correctement.

Ainsi les titres seront de type

Titre 1,

Titre 2,

Titre 3...

NB : pour dotclear

Les diverses mises en formes comme le gras, l’italique, surligné, barré, fonctionnent également.

Les couleurs aussi fonctionnent à merveille.

Les liens html ? Également !

Bref je pense que tout le monde a compris le principe.

Une petite précision cependant concernant le titre utilisé par Dotclear ainsi que l’url généré est défini dans les propriétés du document sur le champ titre.

Fichier > Propriétés > Onglet Description

sbres_1355535f2e-88359.png

Ainsi le titre de notre Article sera « Un titre ». le titre de l’article n’est donc aucunement basé sur le nom du fichier enregistré.

Ayant pour ma part suffisamment de contenu pour en venir au moment fatidique : la publication du billet...

Accrochez vous ! C’est balaise !

Dans le menu Fichier > Envoyer... > To Weblog

sbres_135553968c-63bf8.png

C’est tellement beau que j’en ai un p’tit pincement au cœur ! :)

vendredi, 14 décembre 2012

Un super titre

pour un super post :)

En effet voici mon premier post réalisé via XML/RPC à l’aide de live Writter… Bon pas une gloire en soit mais je découvre les outils basés sur ce protocole.

Concernant les divers liens utiles pour la mise en oeuvre de la configuration je me suis inspiré de ces pages.

Liens connexes

vendredi, 30 novembre 2012

Blog : quelques nouveautés

Un petit billet histoire de faire part de deux nouveautés apparues sur le blog. L'une plus ancienne, mais sur laquelle je n'ai pas pris le temps de communiquer, et la seconde, fraîchement débarquée ce jour.

Vous remarquerez la présence d'une section Pages dans le menu de droite, cette dernière compte pour le moment 2 pages.

  • Politique de confidentialité : L'outil me permettant d'établir des statistiques de fréquentation de mes sites, j'ai nommé Piwik, m'offre la possibilité de vous laisser le choix de ne pas participer aux statistiques. il vous suffit pour cela de vous rendre sur la page et de désactiver le suivi. Sachez cependant que l'anonimisation des données est activée sur l'instance Piwik que j’héberge.
  • Statistiques : Il s'agit ici encore d'une fonctionnalités offerte par Piwik et permettant d’intégrer des statistiques directement dans le contenu de votre site. De la sorte il est ainsi possible de publier des statistiques d'utilisation de votre site directement sur ce dernier.

Voilà pour aujourd'hui, en vous souhaitant bonne visite.

jeudi, 11 octobre 2012

Firefox : utiliser l'authentification NTLM (SSO) pour vos sites internes

J'avais déjà cherché une première fois comment passer le jeton d'authentification Windows généré à l'ouverture de ma session au navigateur Firefox que j'utilise. En effet ceci se fait de façon complètement transparente via Internet Explorer, mais ce navigateur me donnes des boutons.

Voilà donc les actions à effectuer
On lance notre navigateur Firefox et dans la barre d'adresse on saisit about:config ceci pour nous permettre d'accéder aux options avancées de configuration de Firefox.
dans la case recherche on tape : network.automatic pour n'afficher que les occurrences commençant par cette séquence.
Les deux variables sur lesquelles nous allons porter notre attention sont :
network.automatic-ntlm-auth.trusted-uris : cette variable va nous permettre de déclarer les différentes url des sites pour lesquelles le jeton d'authentification sera envoyé. Pour plus d'informations sur la syntaxe se reporter ici
network.automatic-ntlm-auth.allow-non-fqdn : lorsque l'on utilise des noms de machines sans préciser la zone, par exemple intranet au lieu de intranet.domain.com, il est nécessaire que cette valeur soit positionnée à true

Liens connexes:

lundi, 12 mars 2012

Facebook : c'est du propre

Au détour de la configuration de mon proxy je me suis rendu compte d'une chose plutôt étrange .... Sans épiloguer sur ma soirée et son déroulement, j’étais en train d'échanger avec un ami à travers mon client Pidgin. J'ai configuré ce dernier pour qu'il puisse utiliser mon compte facebook et ainsi accéder, sans utiliser l'interface, à la liste de mes contacts( pour faire plus court, j'utilise le service XMPP de facebook à travers mon client :)). J'avais donc une conversation que nous pourrions qualifier de privée. Je précise tout cela pour avoir une idée du contexte.
Au détour de la conversation je lui envoie un lien pointant vers un des sites que j’héberge sur un serveur.
Il se trouve que j'avais un fichier de log ouvert en arrière plan, je vois donc la trace de la requête de mon interlocuteur déclenchée au clic du lien que je lui ai écris précédemment.
Et là très grosse surprise... Le lien ne correspondait absolument pas à celui que j'avais renseigné...

ainsi, là où j'avais indiqué une adresse de type http://domaine.com, mon interlocuteur a reçu pour sa part ce lien http://domaine.com (l'idéal étant de copier/coller les 2 liens dans un bloc-note pour apprécier la différence).
Il est à noter que pour mon exemple j'ai utilisé un champ h aléatoire ne sachant pas à quoi il correspond mais semblant lié à mon profil personnel. Pour cette raison le résultat ici, est d'être redirigé vers une alerte facebook vous informant d'un rebond vers un autre site. Dans le cas d'un champ h valide; la redirection se fait en totale transparence. le premier champ u correspondant à l'adresse du site à atteindre, h semble correspondre à une sorte de hash entre le profil et quelque chose d'autre (ou pas). Il semble même possible de réutiliser la variable "h" en modifiant le contenu de "u".
C'est à s'y méprendre les mêmes me direz-vous. Et pourtant, l'un pointe directement chez moi, tandis que l'autre fait un petit détour par facebook pour enfin revenir chez moi. Tout ceci je le rappelle se passe sans utiliser l'interface web de facebook.
. Voici ici le protocole de tests utilisé :

Test 1

Objectif :
  • identification et tentative de localisation d'une réécriture
Contexte :
  • Les 2 clients utilisent l'interface web facebook
Validation du test :
  • client A écrit manuellement un lien et l'envoi à client B
  • client B copie/colle le lien au format texte pour visualiser le lien présent dans le href généré
  • client A copie/colle le lien au format texte pour visualiser le lien présent dans le href généré
Résultat attendu :
  • le lien reçu par client B est réécrit.
  • le lien affiché par client A n'est pas réécrit.
interprétation si le test est valide :
  • Il y a réécriture des url au travers du service Facebook semblant intervenir au moment de la réception de par client B. En effet le lien affiché dans la fenêtre de conversation du client émetteur du message n'est pas modifié.

Test 2

Objectif :
  • localisation de la réécriture.
Contexte :
  • Client A utilise un client XMPP et accède au service avec son compte Facebook.
  • Client B utilise l'interface web facebook
validation du test :
  • Client A envoie un message a client B
  • Client B envoie un message a client A
Résultat attendu :
  • le lien reçu par client A n'est pas réécrit
  • le lien reçu par client B est réécrit
interprétation si le test n'est pas valide :
  • Il y a réécriture des url et ce uniquement au travers de l'interface web facebook.

MITIGATION : Il suffit donc d'utiliser directement le service XMPP sans passer par l'interface web facebook pour ne plus subir cette réécriture d'URL.

Bien évidement, il s'agit la de collecter une fois de plus des données, on ne sait pour quel usage. Mais bon comme dirais l'autre : "t'as signé, c'est pour en chier !" :). Une des implication de la pression de la touche "Accepter" en bas de page d'inscription de votre fournisseur de service préféré...
Personnellement, ce qui me dérange ici le plus c'est qu'il s'agit clairement d'une manipulation de mon message pour en réécrire la substance... Bref encore un truc qui m’énerve ! Méchant ! Méchant facebook! Pas beau va !

Pour la solution de contournement, elle est simple :) : chiffrez vos échanges ! on ne le répétera jamais assez. Il ne s'agit pas là d'une quelconque psychose ou je ne sait quel autre argument en bois, (ah j'oubliais l’éternel "j'ai rien à cacher" ou l'excellent "tu fais des trucs pas clairs"), mais belle et bien d'une réelle alternative à toutes ces problématiques de protection des données, ou encore le respect de la vie privée ou je ne sais quoi.
Il s'agit ici de s'assurer que le service effectue son travail de fournisseur en toute neutralité, et que nous conservions la maîtrise de notre contenu. Notez bien que le principe s'applique de façon relativement transparente sur les mails ainsi que la messagerie instantané.
Utilisons donc le service que nous souhaitons, qu'il s'agisse du numéro un mondial ou de votre serveur dans votre placard, mais arrêtons de dépendre de la faiblesse de ce fournisseur. La mise en place prend certes un poil plus de temps, mais le gain est immense !
Pour faire cela,avec les outils de messagerie instantané, j'utilise le client multi protocole Pidgin avec son excellent plugin pidgin-encryption. ça prend 5 minutes à installer et c'est transparent dans l'usage quotidien. Foncez !! :D

Liens connexes :

jeudi, 19 janvier 2012

Megaupload & Co c'est fini

Voilà, c'est fini. Suite à une superbe décision dont vous trouverez le détail ici, les machines du célèbre hébergeur de contenu Megaupload ont étés saisies ce jour dans le cadre d'une investigation. Le service n'est donc plus disponible.

Liens connexes :

mercredi, 4 janvier 2012

Duck Duck Go : un moteur de recherche qui vous veut du bien

Je cherchais depuis quelques temps une alternative à Google en temps que moteur de recherche. Je me suis aujourd'hui décidé pour Duck Duck Go.

Ce dernier est très largement configurable et permet de mettre rapidement en place un moyen efficace de se prémunir de la collecte d'informations vous concernant. Pour un bref rappel des enjeux vous pourrez trouver ce superbe guide illustré disponible ici.

Configuration

Je vais ici présenter quelques options à mettre en œuvre lors du premier usage. Bon nombre des actions présentées, sont pour la plupart présenté dans la section Privacy
Sans plus attendre; commençons par le commencement :).
Pour éditer les options du moteur, nous allons nous rendre dans la section settings.
Dans la partie Result settings :
On édite le champ Région : à France
Dans la partie Privacy Settings :
On édite le champ Address Bar : à Off
On édite le champ HTTPS : à On
Dans la partie Interface Settings :
On édite le champ Advertisements : à Off
Je ne voudrais pas vous assommer avec les nombreuses fonctionnalités que comporte l'outil et vous invite donc à lire la documentation très bien faite à ce sujet. N'hésitez pas à me faire part de vos remarques ou suggestions sur la configuration de l'outil.

Intégration

Il est bien évidement possible d'intégrer ce nouveau moteur à votre navigateur.
Un module est disponible pour Firefox. Vous trouverez plusieurs déclinaisons de l'outil, j'ai pour ma part choisi Duck Duck Go SSL.
Vous pouvez ensuite modifier le comportement de la barre d'adresse pour que cette derniere utilise également votre nouveau moteur de recherche.
Pour cela, saisissez about:config dans la barre d'adresse de Firefox et recherchez l'occurrence keyword.url.
Remplacez la valeur par défaut http://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q= par https://duckduckgo.com/?q=

Liens Connexes :

Pour une fois l'article est largement fourni en lien donc ça va être plutôt light.

jeudi, 22 décembre 2011

Facebook et DPC : Un pas en avant pour vos données personnelles

Le 21 décembre 2011, la DPC (l'équivalent de la CNIL française en Irlande) a rendu sa copie, après 3 mois d'audit (dont 6 jours sur site) de Facebook-Irlande, siège du célèbre réseau social.
Parce que vous êtes feignants, mais aussi, parce que je trouve important de communiquer sur ce genre de choses, voici quelques points notables que j'ai pu relever à la lecture (en diagonale :) )de ce dernier.
La partie la plus importante concerne les périodes de rétention des données collectées, et l'anonymisation de ces dernières au fil du temps. Ainsi, la période de rétention , jusqu'ici d'une durée illimitée, est ramenée à 2 ans. Au delà de cette période un processus d'anonymisation est déroulé. de la même façon, les données collectées au travers des divers add-on (J'aime, Partager, ...) sont elles aussi supprimées. Le délai est, cette fois, variable selon la façon dont elles sont collectées.
La suppression des comptes devrait, elle aussi être améliorée. Ainsi les données devront être supprimées de façon irrévocable dans un délai maximum de 40 jours après la demande.
Un des reproches récurrents, est aussi le manque de documentation sur les conditions d'utilisation, ou encore les options de sécurité présentées à l'utilisateur.

Il est tout de même important de souligner quelques points.
Le module de reconnaissance faciale permettant la suggestion d'identification lorsque vos contacts publient des photos dans lesquelles vous semblez apparaître est bien désactivé lorsque l'utilisateur désactive la fonction "Suggestions d'identifications". Voilà dans les grandes lignes les quelques points clé que j'ai pu relever.

Pour ma part, après la lecture de ce rapport je me suis empressé de parcourir les options de mon profil afin de désactiver, et supprimer, bon nombre de fonctionnalités activées par défaut et dont je n'avais même pas connaissance. Je vous invite chaudement à parcourir vos options de confidentialité. J'ai pu remarquer un gros travail sur la clarté des explications fournies pour chacune des options. Et pour les plus courageux, je vous encourage à parcourir le rapport dont le lien figure ci-dessous. Enfin pour les sceptiques, une revue est déjà planifiée pour juillet 2012.

Liens connexes :

jeudi, 3 novembre 2011

Piwik mobile: vos statistiques à portée de main

Voila quelques temps déjà que j'utilise ce merveilleux outil qu'est Piwik pour avoir un certain regard sur les statistiques des différents sites que j’héberge. Je suis tombé aujourd'hui sur un client en version mobile permettant ainsi d'acceder à l'ensemble des statistiques depuis son téléphone portable. Disponible aussi bien pour iPhone (IOS) que pour Android. Vous trouverez ici toutes les informations utiles:

mardi, 25 octobre 2011

Déménagement !

Nous y voila ! Depuis quelques temps déjà je travaille à la mise en oeuvre d'une infrastructure à la maison. ondulée et tolérante à de nombreuses pannes, je suis à présent parvenu à quelque chose de relativement mature. Ceci me permet à présent d'heberger l'ensemble de mes services directement chez moi. Voila donc chose faite, le blog, ainsi que quelques autres services, viennent d'être migré. Reste les données contenus sur un autre serveur qui seront rapatriés ultérieurement. Vous apprécierez au passage le reverse de mon IP :)

jeudi, 29 septembre 2011

Firefox 7 : afficher http et https dans les url

Vous l'aurez certainement remarqué mais dans firefox 7 le http ou https du début des adresses internet... Allez comprendre ... Ceci étant dit pour faire réapparaitre le début de vos adresses voila comment procéder: saisissez dans la barre d'adresse "about:config" passez ensuite la variable

browser.urlbar.trimURLs=false

pour la couleur c'est cette variable qu'il faut modifier

browser.urlbar.formatting.enabled=false

lundi, 6 juin 2011

Gnome et scrot : Capture de zones d'écran

Nous allons voir ici comment ajouter une fonction de capture d'une zone spécifique de l'écran. Pour rappel il est par défaut possible de faire deux type de captures:

  • La touche PrintScreen capture l'intégralité de l'écran
  • la combinaison Alt + PrintScreen capture l'intégralité de la fenêtre présente sous le curseur.

Nous allons ajouter une troisième combinaison de touche, qui nous permettra de sélectionner une zone, à l'aide du curseur de la sourie, délimitant la zone à capturer.

pré-requis

scrot doit être installé. la procédure est pour un environnement gnome. elle est donc à adapter pour d'autres environnements.

Mise en œuvre

Nous allons créer un script contenant les informations suivantes :

~/script$ cat screenshot.sh 
#!/bin/sh 
SCREEN_PATH="$HOME/Screenshot"
DATE=$(date +%Y-%m-%d-%H:%M:%S) 
sleep 1 && scrot -s -b $SCREEN_PATH/screenshot_$DATE.png 
On prend soin de rendre le script executable
~/script$ chmod u+x screenshot.sh

Nous allons ensuite créer un raccourci clavier afin d'utiliser simplement cette fonctionnalité : Système > Préférences > Raccourcis Clavier. On clique sur ajouter scrot_1.png on renseigne ensuite les informations suivantes (à adapter selon votre configuration) scrot_2.png Il ne reste plus qu'à sélectionner la combinaison de touches de votre choix. Pour ma part j'ai choisi la combinaison Ctrl + PrintScreen Je dois dire que je suis assez satisfait du résultat. Il me suffit à présent de taper la combinaison Ctrl + PrintScreen pour sélectionner une zone de l'écran à capturer.
Enjoy !

jeudi, 2 juin 2011

find : optimisation de traitements

On ne fini jamais d'en apprendre sur la merveilleuse commande qu'est find. Aujourd'hui grâce au remarques de jsz', voici ce que j'ai pu constater :

$ time find Bureau/ -type f -exec ls {} >/dev/null \;
real    0m13.386s
user    0m21.149s
sys     0m8.297s
$ time find Bureau/ -type f -exec ls {} >/dev/null +
real    0m0.205s
user    0m0.116s
sys     0m0.088s

la subtilité réside ici dans la façon dont sont traités les occurrences retournées par find. Dans le premier cas les occurrences sont traitées de façon unitaire; ainsi pour n occurrences nous lancerons n fois la commande ls.
Dans le second cas, nous utilisons la capacité de ls à traiter simultanément plusieurs chemins. Ainsi pour n occurrences la commande ls ne sera exécutée qu'une unique fois. il y a concaténation des occurrences pour ne former qu'une unique ligne.
Pour la partie optimisation, et bien les temps de traitement parlent d'eux-même.

vendredi, 20 mai 2011

Firefox : optimisation des bases SQlite

J'entends beaucoup parler d'optimisation de navigateur avec des manipulations plus ou moins pertinentes à effectuer sans que le gains ne soit réellement mesuré. Aujourd'hui je vous propose une optimisation relativement triviale visant à nettoyer les bases SQlite utilisées par Firefox pour y stocker diverses informations.

Les pré-requis:

  • sqlite3 doit être installé
  • Firefox doit être fermé au moment des manipulations, faute de quoi les commandes à venir se solderont par un message vous informant que la base est verrouillée.

Mise en œuvre

les fichiers relatifs au profil utilisateur sont, par défaut, stockés dans le répertoire ~/.mozilla/firefox/*.default/. Nous allons donc optimiser tous les fichiers sqlite présents dans ce répertoire à l'aide de la commande suivante:

$ find ~/.mozilla/firefox/*.default/ -iname "*.sqlite" -exec sqlite3 {} 'VACUUM;' \;

Pour comprendre l'opération effectuée il suffit de se reporter à la documentation sqlite. La directive VACUUM vise à reconstruire dans son intégralité la base sqlite en compactant cette dernière au maximum. Pour le détail des actions effectuées par la commande je vous invite à lire l'excellente présentation de la documentation officielle. http://www.sqlite.org/lang_vacuum.html Voici une présentation de chacun des fichiers sqlite afin de mieux comprendre (Merci Gniarf):
urlclassifier3.sqlite : c'est la base qui est fournie par google pour la fonction anti-malware, ca pèse facilement 23 Mo a la sortie d'une installation. Si la fonctionnalité est désactivé vous n'avez donc pas besoin de stocker cette base.
cookies.sqlite : va contenir l'ensemble des cookies stockés par les différents sites visités.
places.sqlite : contient l'historique des pages visitées donc avec une rétention de 90 jours, ce fichier peut facilement atteindre 20Mo. Vous pouvez trouver une présentation exhaustive de cette base ici.
key3.db : c'est la base de mots de passes enregistrés dans firefox. Cette dernière est chiffrées et ne peut donc être accédée :

sqlite> SELECT name FROM sqlite_master WHERE type = "table";
Error: file is encrypted or is not a database

signons.sqlite : il fonctionne apparemment de paire avec la base key3.db. ce dernier n'est pas chiffré. On peut donc imaginer qu'il est utilisé pour accéder aux informations chiffrées de la base key3.db
downloads.sqlite : contient la liste de téléchargements lancés dans le navigateur.
content-prefs.sqlite : Contient les préférences individuelles appliquées à des pages. ici pour plus de détails le contenu (désolé la page n'était disponible que dans le cache google au moment ou j'écris).
premissions.sqlite : contient l'ensemble des préférences appliquées sur un site. On y liste donc les sites autorisés à utiliser ou non les cookies, ou encore afficher ou non des images.
formhistory : contient l'historique des formulaires saisis dans votre navigateur.
search.sqlite : contient la liste des différents moteurs de recherche intégrés au navigateur.
webappsstore.sqlite : contient les données au format DOM générées par les différents sites. plus de détails ici

Maintenant est-ce vraiment efficace ?

J'ai effectué mes tests sur un navigateur Firefox fraichement installée, je n'ai donc pas observé de changement significatif de performances. Cependant les chiffres parlent d'eux même. Voici donc les variations de taille que j'ai pu observer sur les différents fichiers SQLite une fois le nettoyage des base effectué. Optimisation des bases SQLite Firefox On constate que 3 bases (cookies.sqlite, urlclassifier3.sqlite, places.sqlite) ont fait l'objet d'un sérieux nettoyage et j'avoue avoir été surpris d'un tel gain après un temps si court d'utilisation. J'imagine donc largement à quel point cette optimisation peut s'avérer bénéfique dans le cas d'une utilisation prolongé de Firefox. J'ai entamé un suivi des bases sqlites constitutives du profil, nous pourrons ainsi voir l'évolution de ces dernières dans le temps et générer des jolis graphiques :). Voici donc comme promis un graphique représentant le bénéfice du compactage des bases dans le temps. compactage de base sqlite pour la version en taille originale vous pouvez la trouver ici

Liens connexes

mercredi, 24 novembre 2010

Pidgin : le certificat omega.contacts.msn.com n est plus valide

SI vous aussi votre client pidgin se plaint d'une erreur de certificat au moment de la connexion à votre compte de messagerie hotmail; il vous suffit simplement de récupérer le nouveau certificat en vigueur. Pour se faire rien de plus simple. Ouvrez un terminal et tapez simplement la commande suivante:

wget "http://files.andreineculau.com/projects/pidgin/omega.contacts.msn.com.txt" -O ~/.purple/certificates/x509/tls_peers/omega.contacts.msn.com

J'ai péché l'info ici quand même. Merci à l'auteur pour le tip.

vendredi, 15 octobre 2010

UCI : l'Interface de Configuration Unifié d'OpenWrt

Voila un outil qu'il est sympathique. En effet UCI est un outil en ligne de commande permettant de facilement configurer votre système OpenWrt. Voici quelques exemples de configuration, libre à vous de parcourir les documentations existantes pour trouver votre bonheur.

Configuration du serveur DNS pour les clients DHCP:

Mon service DNS étant hébergé sur une autre machine que le routeur OpenWrt, il est nécessaire que les clients récupère l'adresse du service DNS afin de pouvoir l'interroger.
Nous allons donc fixer le DNS primaire et secondaire pour l'ensemble des clients DHCP de la zone lan.

root@OpenWrt:~# uci add_list dhcp.lan.dhcp_option="6,192.168.10.254,192.168.10.1"

s'agissant d'une liste de paramètres, on utilise la directive add_list. Enfin pour les options DHCP il suffit de se repporter à la RFC relative à DHCP : 2132 ainsi qu'aux options disponibles dans dnsmasq. on applique ensuite notre nouvelle configuration

root@OpenWrt:~# uci commit dhcp

Puis on vérifie

root@OpenWrt:~# uci show dhcp.lan
dhcp.lan=dhcp
dhcp.lan.interface=lan
dhcp.lan.start=100
dhcp.lan.limit=150
dhcp.lan.leasetime=12h
dhcp.lan.dhcp_option=6,192.168.10.254,192.168.10.1

Il ne nous reste donc plus qu'à relancer le service DHCP pour que la nouvelle configuration soit appliquée:

root@OpenWrt:~# /etc/init.d/dnsmasq restart

Configuration du hostname. Par défaut il est défini à "OpenWrt" Nous allons donc parcourir la configuration à la recherche de cette occurrence:

root@OpenWrt:~# uci show | grep OpenWrt
--luci.themes.OpenWrt=/luci-static/openwrt.org--  <--- correspond au thème graphique nommé  "OpenWrt" et disponible dans Luci 
system.@system[0].hostname=OpenWrt  <--- correspond au nom de l'hôte
uhttpd.px5g.commonname=OpenWrt  <--- correspond au Common Name utilisé lors de la génération du certificat SSL
root@OpenWrt:~#

Nous allons donc éditer les deux variables ainsi:

root@OpenWrt:~# uci set system.cfg02f02f.hostname=courgette
root@OpenWrt:~# uci set uhttpd.px5g.commonname=courgette
root@OpenWrt:~# uci commit dhcp

Et voila le tour est joué Je vous encourage à parcourir la documentation disponible sur cet outil fort sympatique.

Liens connexes:

- page 1 de 5