Feuilles de calculs et outils libres

Le document suivant a été rédigé avec TexMacs et Maxima. Bien que n’étant pas encore finalisé, il démontre clairement les possibilités de ces logiciels qui, avec quelques tours de dextérité, peuvent très bien convenir a des usages professionnels.

Voici dans un premier temps la version PDF de mes premiers balbutiements avec ces logiciels…

Télécharger (test-macs.pdf,PDF, 159KB)

Comme il y a moyen de créer des modèles complexes et d’utiliser plusieurs sortes de consoles de calculs (maxima, scilab, Octave, Xcas, …), il n’y a pas de doute que l’on vienne à bout de pratiquement n’importe quel calcul, et d’en présenter correctement le déroulement et le résultat !

Monitoring serveur: traquer les zombies ou processus morts

Monitoring serveur: traquer les zombies ou processus morts

La problématique

Il arrive quelquefois qu’un processus ou service démarré à un moment donné sur un serveur finisse anormalement ou avant sa fin programmée et/ou ne récupère pas le code de fin des processus fils qu’il a engendré. Dans ce cas, les processus concernés disposent toujours encore de leur PID associé à leur bloc de contrôle. Lorsque ces cas se multiplient, il occupent des ressources qui vont manquer par ailleurs, provoquant des ralentissements voire un gel du système. C’est mieux de les détecter et de corriger le problème car il est souvent récurrent…

Les solutions

  1. Une première solution consiste à lancer un “ps aux” qui va prendre un instantané des processus en cours. Mais comme les processus varient en continu, il faudrait répéter l’opération très souvent pour tomber sur le coupable !
  2. Une seconde solution est offerte pas la commande “top ou htop qui fournit la même chose, mais en live. La commande prouve bien que les processus varient en continu et qu’il est important d’avoir une résolution suffisamment fine pour les détecter. C’est finalement cette commande avec ses filtres que l’on va utiliser pour une analyse en temps réel.
  3. Mais pour une détection sur un réseau qui contient plusieurs serveurs, mieux vaut disposer d’un automate associer à un moniteur centralisé comme Nagios par exemple.
    J’ai écris le script Perl ci-après pour que le moniteur Nagios se charge de ce travail. Ce dernier avertira si des processus zombies existent et alertera si leur nombre dépasse un seuil toléré.

Le script PERL sur le serveur

Afin d’augmenter la résolution du moniteur qui, au meilleur des cas, est d’une requête toute les 15s, et pour diminuer le temps de latence qui devrait inclure le temps d’éxécution de la commande, multipliée par x serveurs, mon astuce consiste à passer par une base de donnée SQLite installée sur le serveur et dont la taille est limitée (une autre astuce !).

Sans révéler tout le synoptique que j’ai mis en place pour l’analyse des processus, je peux affirmer avoir multiplié par 10 ou 20 la résolution des données récoltées par le moniteur Nagios tout en divisant par deux le temps de latence d’un cycle de requêtes. Je ne vais livrer ici que le script Perl qui stocke les données dans la base existante côté serveur.

  • L’authentification fonctionne-elle ?
  • Le temps de réponse est-il dans les limites acceptables ?
  • Le contenu de la page est-il conforme à celui attendu (même taille, même contenu, …) ?
  • Eventuellement la page est-elle identique sur le serveur mirroir ?

Principe :

Sans trop rentrer dans les détails techniques …

  • On se connecte à la page par l’authentification requise, c’est à dire en transmettant un nom d’utilisateur et un mot de passe. Il est préférable de définir pour cet accès un nouvel utilisateur spécifique à cette requête.
  • On doit alors également gérér un coockie de session pour la durée de celle-ci.
  • Pour accéder à la page voulue, il peut être nécessaire de cliquer sur des menus, des liens ou faire des choix dans un formulaire, dépendament de la configuration du site.
  • Lors d’une première connexion “manuelle”, on crée un fichier de référence (ou modèle) de la page à analyser. Evidemment celle-ci devra être vérifiée la première fois par le concepteur.
  • Lors des autres visites, on récupère la page pour la compiler dans un tableau. Dès lors, ce sont les fonctions de PERL qui se chargenet de ce travail.
  • On affiche le résultat de l’analyse sous une forme interpretable par le moniteur nagios pour qu’il puisse la transmettre par son interface et les courriels paramétrés.

Le script

Le script est anonymé ! Il conviendra donc de remplacer les adresses IP, le “login”, le “mdp” (mot de passe) et l'”user” par ceux voulus.

Il faudra également adapter la structure du script à celui du site, pour tenir compte du cheminement qui permet d’atteindre la page à analyser.

 

Une variante du script

Il se peut que le script précédent ne fonctionne pas correctement dans votre environnement. Ce fut d’ailleurs mon cas après des modifications survenues au niveau de l’authentification.
Vous pourrez alors essayer une autre méthode en remplaçant les modules de perl choisis.
A SUIVRE …

Reconstruction d’un mur de soutènement

Reconstruction d’un mur de soutènement

 

Localisation et données géométriques


Le mur se situe dans la municipalité de St-Irénée à 130 km au Nord de la ville de Québec (Canada). Il supporte la route 362 dans une côte au coeur du village.

Relevé de dommages


Vue d'ensemble

Vue d’ensemble



Façade du mur

Façade du mur


Le long de la côte montante, les deux tiers supérieurs du mur sont fissurés, fracturés et montrent une inclinaison notable vers l’arrière. Les réparations précédentes ont permis de contenir partiellement les fissures, mais pas l’inclinaison.

Principe de la reconstruction

Nous décidons de remplacer cette section par un mur de soutènement en “L” fait de béton coulé en place. La longueur de mur remplacé sera de 45 m et d’une hauteur variant de 3,50 m à 1,20 m. Il faudra tenir compte de la forte pente du nouveau mur qui devra être, d’après les relevés que j’ai effectué sur place avec un niveau optique, de 10% pour la moitié inférieure dans la côte, et de 12% pour la moitié supérieure. Le nouveau mur comportera donc un point d’inflexion en son milieu où il subira un changement d’angle horizontal (virage) et vertical (changement de pente).
Par ailleurs la conception doit tenir compte de l’importance de la route 362 pour le village. Pour cela, une voie de circulation par alternance devra être maintenue en permanence ainsi que les dispositifs de gestion pour celle-ci.
Compte-tenu de la forte pente, une attention particulière devra être portée pendant la mise en oeuvre concernant la caractéristique à l’affaissement du béton.

Eléments de conception

Le mur est conçu selon le dessin type, l’armature étant déduite d’un tableau en fonction de la hauteur du mur. Une membrane géodrain ainsi qu’une membrane d’étanchéité seront installées sur le coté interne (vers la route supportée). De plus, il sera équipé d’un drain en PVC perforé dans son coin inférieur pour empêcher l’accumulation d’eaux de ruissellement du terrain, ainsi que d’un drain en pierres nettes et barbacanes aux 2/3 environ de la hauteur pour les eaux d’infiltration de la surface. Une isolation supplémentaire en polystyrène devra protéger la fondation coté externe du gel.
 

Télécharger (CH-7103-154-15-0271_SC_F2.pdf,PDF, 3MB)


 

Télécharger (CH-7103-154-15-0271_SC_F3.pdf,PDF, 416KB)


 

Télécharger (CH-7103-154-15-0271_SC_F5.pdf,PDF, 1.17MB)


 

3D-drainage

Face interne : conception



Façade du mur

Façade du mur



 

Quelques moments charnières au chantier

Les photos ci-dessous illustrent tout le déroulement du chantier.

 
Démolition et préparation du sol


 
Fondation: coffrage et ferraillage

 
Mur: coffrage et ferraillage, détail des ancrages pour la glissière 210A

 
Mur: étanchéité et équipements

 
Mur: réparation des anciennes fissures

Remblais: compactage, drain de pierre nette, nivelage, glissière 201A

 
Route et glissière: pavage et dispositif d’extrémité

 
Fin des travaux : Nettoyage et engazonnement

Bilan

Une conception rigoureuse et exhaustive aura permis un déroulement rythmé au chantier. Les problèmes liés à la complexité de la situation, notamment la forte pente (10%, puis 12%), le point d’inflexion au centre du mur et le coin en retour ont tous été résolus à la conception grâce aux techniques 3D. Leur utilisation pour le design de la glissière 210A (avec des tubes carrés) a été d’un soutien indispensable.
 
La bonne volonté et la rigueur de l’entrepreneur au chantier que je félicite au passage pour être parvenu à maîtriser toutes les difficultés lors de l’exécution de l’ouvrage ont permis d’obtenir un résultat remarquable, fonctionnel et esthétique, au regard des défis liés au contexte.