dimanche 7 décembre 2014

Des intersection avec LaTeX

Dans le cadre de la correction d’un devoir, je cherchais à faire en sorte que tikz puisse me calculer automatiquement les intersections de deux courbes mathématiques. C’est chose faite et je vais commenter un peu avant de présenter le code.

Tout d’abord, nous avons besoin des packages suivants :

\usepackage{tikz}
\usetikzlibrary{hobby,calc,intersections}

Ensuite, à l’intérieur d’un dessin, définissons nos courbes :

\begin{tikzpicture}
  \draw [name path=h] plot [hobby] coordinates {(-4,-2)(-3,2)(-2,6)(0,2)(2,-2)(3,4)} ;
  \draw [name path=f] plot [smooth] (\x,{\x^2 - \x -6}) ;
\end{tikzpicture}

Pour calculer les coordonnées, on trouve dans le manuel de tikz des informations, mais il m’a fallu lire les commentaires sur Extract x, y coordinate of an arbitrary point in TikZ pour comprendre comment faire les choses de la façon la plus efficace. J’ai donc d’abord écrit cette première \definition :

\def\pttocm#1{\pgfmathparse{#1 / 19.93333 }\pgfmathprintnumber{\pgfmathresult}}

qui permet de convertir l’unité de longueur de $\TeX{}$ dans l’unité de longueur de TikZ (cm).

La seconde macro que j’ai utilisé permet ensuite d’afficher les couples de points :

\newcommand{\printcoords}[1]{
  \newdimen\posx
  \newdimen\posy
  \pgfextractx{\posx}{\pgfpointanchor{#1}{center}}
  \pgfextracty{\posy}{\pgfpointanchor{#1}{center}}
  \scriptsize (\pttocm\posx ; \pttocm\posy ) \normalsize
}

Notons l’utilisation de l’ancre center : en effet, pgfgetlastxy{} renvoie le dernier point utilisé par pgf, qui est parfois n’importe où.

Pour finir, afin d’avoir un affichage compatible avec les notations françaises, on n’oublie pas de positionner certaines variables :

\pgfkeys{/pgf/number format/.cd,fixed,precision=1,dec sep={,}}

On a désormais fini nos définitions et nous voulons désormais tracer et obtenir les coordonnées des points d’intersections :

\path [name intersections ={of = h and f }] ;
\coordinate (A) at (intersection-1) ;
\draw (A) node[draw,cross] {} ;
\draw (A) node[below left] {\printcoords{A}}  ;

On définit donc un chemin nommé intersections (de f et h). intersection- est la n-ième intersection et donc \coordinate (A) at (intersection-1) ; définit un point A qu’on peut dessiner sous forme d’une croix et dont on peut donner les coordonnées.

Deux pistes d’améliorations :

  • fournir une interface plus haut niveau ;
  • fournir une fonction (macros) qui ne renvoie que X ou que Y.

Et pour conclure, un ECM ! Vous noterez dans celui-ci :

  • l’utilisation de domain=a:b pour restreindre un plot à un intervalle ;
  • que l’algorithme de hobby donne parfois des interpolations étranges : pour le voir, recompilez le document avec smooth.

Vous pouvez insérez les axes et la grille pour obtenir le rendu que je publierais la semaine prochaine.

mardi 8 juillet 2014

De la conversion une liste d'événement issue de dotproject

Dans le cadre des activités admin sys de l’April, je suis parfois amené à changer les logiciels, et donc à convertir les données d’un logiciel vers un autre. Ici, il s’agissait de passer de dotproject à OwnCloud. Dotproject ne fournit pas d’interface pour exporter les événements, je suis donc allé  […]

Lire la suite

samedi 19 avril 2014

Des trucs bizarres avec virsh

Bon, je vais pas forcément m’étendre sur le sujet, mais virsh/libvirt pour gérer les machines, c’est pas mal. En revanche, pourquoi avoir choisi xml comme format de stockage des données ?

Du debug de la pile Iscsi dans OpenStack

Bon, OpenStack, c’est «beau», c’est «propre», c’est «libre», mais quand ça merde, tu ne sais jamais pourquoi. Enfin, ce matin, j’ai encore gagné un niveau sur la pile iSCSI ouverte inclus.

En route pour des explications plus complètes.

Lire la suite

jeudi 17 avril 2014

De l'automatisation de la mise à jour d'un site

Dans le cadre de l’activité Premier Samedi du Libre, Parinux, dont je suis le président, maintient à jour le site susmentionné. Le mettre à jour tous les mois est une vraie plaie pour moi qui n’aime pas beaucoup le web et encore moins les tâches répétitives.

Lire la suite

dimanche 13 avril 2014

De la migration d'une clef GPG

SHA1 est cassé, 1024 est trop court, ta clef a 10 ans, …

Si pour une des raisons citées ci-dessus, tu penses qu’il est temps de changer de clef PGP, je te propose de te guider ici. Je m’inspire grandemenet de HOWTO prep for migration off of SHA-1 in OpenPGP

Bon, OpenPGP (version 1 ou 2) supporte la famille de fonction de hachage SHA-2 : SHA512, SHA384, SHA256, et SHA224 ; et des clefs de longueurs au moins égale à 4096 bits (pour 8192, c’est possible, il faut patcher.)

Lire la suite

mardi 29 octobre 2013

De la migration de l'Agenda du Libre

Dans le cadre de son activité de promotion du logiciel libre, l’April a accepté d’héberger l’Agenda du Libre, créé par Thomas Petazzoni courant 2005. En ce qui me concerne, le gros du travail a été l’import des listes de diffusion, précédement gérées par Mailman dans Sympa Je donne ici la méthode  […]

Lire la suite

jeudi 15 août 2013

De l'utilisation d'un Nokia C3-00 comme d'un modem

Suite à une défaillance de mon précédent téléphone, je me retrouve avec un Nokia C3-00. Une petite recherche sur les Internets me livre cette page d’explication pour utiliser un téléphone Nokia comme modem. Alors, allons-y ! zsh/2 1045 % lsusb Bus 002 Device 023: ID 0421:0399 Nokia Mobile Phones Bus  […]

Lire la suite

jeudi 18 juillet 2013

Du contrôle d'un afficheur à led tricolores avec un raspberry Pi

copie_page_web.PNG

Position du problème

On désire afficher des chiffres sur un écran à LED, 16 par 32, tricolores. Ici, cet écran vient de chez HackSpark et se pilote via des librairies fournies par le vendeur. En l’occurrence, mon collègue désire en savoir un peu plus et contrôler plus précisément son affichage. Je lui propose donc mon aide.

On va donc piloter en Python, via le port série /dev/ttyUSB0 l’affichage. Le code présenté ici n’a pas vocation a être beau, il a juste vocation à être pédagogique.

Piloter l’affichage directement depuis une console clavier/écran

On se limite ici au choix de la couleur et à un affichage assez basique : allumé ou éteint. Mon collègue désire programmer lui même le reste de la logique.

Lire la suite

mercredi 10 juillet 2013

Des outils de présentation

Des nouveaux outils de présentation Depuis quelques temps, on assiste à une montée en puissance d’outils de présentation en HTML5/CSS. Un conférence sur le sujet a été donnée aux RMLL 2013, à Bruxelles. C’est l’occasion de faire quelques commentaires sur le sujet et de donner mon avis personnel sur  […]

Lire la suite

mardi 25 juin 2013

De la vérification de l'identité

Je ne vais pas rentrer en détail dans la théorie du chiffrement avec gpg, ni sur la notion de réseau de confiance. En particulier, je vais tâcher d’exposer les motifs qui me conduisent à ne plus participer de façon systématique à la signature de clef gpg. La signature de clef gpg, dans un signing  […]

Lire la suite

dimanche 10 mars 2013

De l'import d'un vserver dans OpenStack

Je continue ici mon travail personnel et associatif sur OpenStack. À titre personnel et pour l’April, j’utilise la technologie vserver de pseudo-virtualisation en espace utilisateur. Et que ce soit à titre personnel ou dans le cadre de l’April, je migre de vserver à OpenStack. Pour la migration  […]

Lire la suite

vendredi 8 mars 2013

De la compréhension de la pile ouverte (OpenStack) et en particulier d'iscsi & co

Dans le cadre de l’administration système à l’April, nous utilisons, sous l’impulsion de Loïc Dachary, OpenStack. Pour ceux qui ne le savent pas encore, OpenStack est une pile logicielle permettant d’offrir de l’informatique dans les nuages et plus précisément des machines virtuelles réparties sur  […]

Lire la suite

dimanche 1 juillet 2012

De l'authentification d'un appli avec oauth

Pfiou comme on dit ! Ça n’a pas été simple, mais j’y suis arrivé : enregistrer une application dans identi.ca, un script pour publier du contenu de façon automatique, parceque bon les opérations manuelles, c’est bien, mais parfois on oublie. Tout à commencer avec la lecture de Getting Started with  […]

Lire la suite

mercredi 13 juin 2012

De l'itinérance avec une authentification LDAP

Je suis un quasi inconditionnel de L.D.A.P. (rfc2307) pour obtenir une authentification unique et uniforme sur toutes mes machines et pour tous mes services.Jusqu’à présent, j’utilisais pam_ldap et nss_ldap avec plus ou moins de succès, en particulier moins dès que le réseau s’avère défaillant.  […]

Lire la suite

De l'envoi différré des courriels

Dans un article précédent, j’ai indiqué quels étaient les éléments clefs me permettant de lire et envoyer des mails de façon assez déconnectée. Au fur et à mesure d’une session de travail déconnectée, on envoie des mails, et on aimerait qu’ils soient stockés en attendant d’être envoyés dès que  […]

Lire la suite

mardi 12 juin 2012

De la redirection du trafic vers une autre machine de votre réseau

Je présente ici une méthode pour rediriger le trafic vers une autre machine de votre réseau en utilisant les capacités de NetFilter, le parefeu du noyau Linux. Ce parefeu se manipule en utilisant l’outil iptables. Suite à la mise en place d’un lintop comme «frontend» IPv4, certains sites web  […]

Lire la suite

samedi 25 février 2012

Du déploiement de sieve à l'April

Dans le cadre d’une utilisation des mails assez itinérante, je trouve utile qu’un certain nombre de traitements automatiques soient effectués direcetement par le serveur mail, plutôt que par des applications clientes. Et je préfère également utilisés des outils intégrés à mon agent de livraison locale : i.e. Dovecot. C’est pour cela que j’ai choisi sieve.

Lire la suite

mercredi 22 février 2012

De l'itinérance avec un simple téléphone

Dans ce billet, je vais décrire sommairement les étapes nécessaires pour utiliser un téléphone comme modem 3G sous Debian GNU/Linux. Je me base en particulier sur Debian Wiki : Use Your CellPhone As Modem

Lire la suite

dimanche 22 janvier 2012

De la soumission à l'Agenda du Libre

Dans le cadre de la soumission d’événements se déroulant le premier samedi du mois, je me suis posé la question de générer automatiquement la liste des premiers samedis de tous les mois d’une année. La commande date de FreeBSD propose une option -v permettant rapidement d’obtenir d’autres dates, par  […]

Lire la suite

- page 1 de 7