Notes et astuces sur les systèmes libres basés sur GNU/Linux

Aller au contenu | Aller au menu | Aller à la recherche

vendredi, 10 mai 2013

Zim wiki, Astuces Zimmesques

Bonjour,Logo de zim

Comme prévu, je reviens vous partager ma façon d'utiliser Zim.
J'ai beaucoup appris ces derniers jours, en lisant le site officiel, les astuces, la FAQ ou le manuel.

Les liens sont tous en anglais aussi j'adapte un peu à ma sauce la documentation en la regroupant ici.

De plus, ce billet a été rédigé à 80% sous Zim tant sur la forme que sur le fond. Autant vous dire que c'est plutôt convainquant. J'exporte ma page wiki sous forme Hml, je la copie/colle dans mon Dotclear et c'est quasiment fini.

Astuce 1 : Faire votre todo-list

On peut dire que c'est très simple, soit vous créez une page dédiée et vous la remplissez comme ceci :

[] Ma première tâche

Ce qui donne un truc de ce genre dans Zim :
liste_tache
Vous pourrez la cocher, la décocher mais Zim peut faire bien plus pour vous.

En effet, moi je crée souvent pleins de catégories et de sous pages. Chaque nœud ayant une todo, je finis par m'y perdre.

Zim permet de centraliser votre todo liste et sait l'afficher proprement.

Comment ?

Il faut utiliser le plugin "Liste de tâche", un petit tout dans Édition=> Préférence => Onglet Greffons.
Et là, et là on peut vraiment faire quelque chose :

  • Configurer le greffon afin qu'il reconnaisse lui même les mots clés pour les ajouter à notre todo list
  • Fixer une priorité à chaque tâche à l'aide des points d'exclamations (plus on en met plus c'est important)
[] Ma première tâche !

  • Fixer une date butoir (deadline)
[] [d:25/05/2014] Ma première tâche

  • Tagger chaque tâche afin de pouvoir les filtrer plus facilement
[] Ma première tâche @travail


Ensuite, il nous reste plus qu'à cliquer sur l’icône liste des tâches et paf ça génère une belle liste de tâche :

dialog_tache

Astuce 2 : afficher calendrier

Je vous l'ai dit, il est important pour moi de noter toutes mes actions de la journée afin de :

  • Capitaliser sur mes connaissances grâce à la fonction recherche de Zim
  • Assurer un reporting précis à mes responsables
  • Détecter la manipulation ou action ayant entrainé une défaillance
Pour mettre en place cette bonne pratique, Zim vous propose de gérer chaque jour comme un espace de nom différent, d'afficher un calendrier dans votre panneau latéral.
On retourne dans Édition=> Préférence => Onglet Greffons, sélectionner le plugin Journal.
Cliquer sur configurer :
option_journal

Puis fermer votre Zim et le relancer et la ça devrait faire des chocapics !!

SI vous activez l'option qui va bien dans les préférence du plugin "Liste de tâche" comme ceci :
Option_tache

Vous pourrez fixer une date de rendu des tâches en allant ajouter une tâche le jour où vous souhaiter votre deadline.

Astuce 3 : récupérer page supprimer

Si par malheur vous avez supprimé une page un peu trop vite et que celle-ci contenait tout un travail documentaire sur l'extinction des bigorneaux en Alaska à cause de leur homosexualité.

Rassurez-vous Zim gère une espèce de poubelle sans vous le dire.
Celle-ci est située dans votre home sous /home/thomas/.local/share/Trash/files/
C'est quand même une bonne nouvelle de ne pas perdre toute une année de dure labeur.

Astuce 4 : Plugin Zim

Un petit plugin bien sympathique qui permet de stocker vos liens et bouts de textes directement dans Zim depuis Firefox.Je vous encourage à aller sur le site du Français qui a développé ce plugin :  http://omacronides.com/projets/ff-zim-clip/

Une fois le plugin installé, vous pourrez surligner un texte et d'un clic droit l'importer sous Zim dans bloc note de votre choix.
La page vous intéresse, vous n'avez qu'à cliquer sur la petite icône ZIm dans la barre des modules Firefox et cela va rajouter l'adresse dans une autre bloc note.

Astuce 5 : Modifier le rendu dans Zim

Il suffira d'aller éditer le fichier présent dans votre home sous .config/zim/style.conf puis de redémarrer votre ZIm pour prendre en compte vos modifications.

Un bout d'exemple :

 [Tag code]
 background=#2e3436
 foreground=black
 family=monospace

C'est tout les folks, à bientôt pour de prochaines aventures :

je vois dans mes boules que le prochain billet portera sur LXC ou pure-ftp.

samedi, 4 mai 2013

Zim wiki, mon bloc notes à tout faire

Stylo

                               Hello world ! 

Comme tout administrateur système qui se respecte, on m'a fortement conseillé à mes débuts de noter tout ce que je faisais.
Je vois deux raisons essentielles à coucher sur papier mes actes :

  • Être capable de reproduire une même configuration sur une autre machine sans farfouiller sur Internet à chaque bug ...
  • Être en mesure d'analyser à posteri à des fins de reporting ou de debug (Hier la prod s'est cassée à 14h20, qu'ai-je fait à ce moment là ?)

C'est en faisant des erreurs qu'on apprend :

La rédaction de ces cahiers m'avait jusqu'à présent casser les pieds.
J'écrivais quelque jours le temps d'un nouveau boulot et puis le temps passant, l'envie d'écrire disparaissait.
Je trouvais la prise de note trop contraignante, il fallait en permanence recopier des lignes de codes invraisemblables.
J'ai donc essayé de noter dans notepad ... Mais le peu de mise en forme disponible m'a fortement rebuté.
Puisque le besoin de forme était important, je me suis laissé tenté par un traitement texte conventionnel. Mais là encore, cela n'a pas collé car je n'ai pas trouvé de moyens propres d'annoter toutes mes actions de la journée. De plus, l'interopérabilité qui m'est vitale manquait cruellement.

Le cahier des charges :

Il me fallait donc un outil multi-plateforme permettant une saisie quotidienne des actions avec la possibilité de les mettre en forme proprement. Je me désespérais de trouver une solution quand j'ai vu déboulé dans mon agrégateur RSS,un logiciel nommé Zim.

Voici les points forts de cette solution :

  • Multi-plateforme
  • Capacité intrinsèque à la mettre en forme du texte
  • Affichage d'un calendrier afin de noter jour par jour les actions effectuées
  • Création/Gestion une todo-list
  • Export aisé de document selon un template prédéfini (pratique pour fournir de jolies documentations rapidement)
  • Possibilité de lancer un mini serveur Web hébergeant votre wiki en deux coups de cuillères à pots (WTF !)

A l'usage :

Il faut quand même avouer que cela n'a pas été un coup de foudre mais plutôt une adaptation sur le long terme.
Le seul bémol de ce logiciel est son utilisation local, son point fort est en fait presque un point faible.
Vous me direz si cela ne tient qu'à cela, tu n'as qu'à te monter un serveur wiki. Je vous répondrais la phrase suivante :
Que nenni, le web a trop inertie ou est trop lourd pour moi.

Exemple, on souhaite écrire un article pour note blog favori :
Première contrainte, on doit avoir accès au web, on doit se rendre sur le site, aller sur la page rédaction.
Arghh, les raccourcis claviers de mise en forme ne marchent pas.
Une fois qu'on a fini, on doit cliquer sur enregistrer. On attend que le texte soit sauvegardé dans la base de données, on visualise la mise en forme, on retouche le contenu etc ...

Celui qui me sort que le Web est le support idéal pour le développement de client léger, je l'étripe. Client légèrement fatiguant oui.

Non, définitivement non, écrire sur le web, c'est pénible ...

Wait, wait ...

Je suis en train de me rendre compte que ce qui m’empêche d'écrire plus souvent sur le blog ne tient qu'à l'utilisation de l'éditeur de billet tout pourri de Dotclear.

Mais c'est une petite bombe dans ma tête, je vais essayer d'écrire dans Zim et m'exporter mon texte dans un format compatible à Dotclear. Et la, une avalanche de billets va déferler sur ce blog assoupi tel un matou devant la cheminée.

Reprise du discours :

Bon après cette petite digression, reprenons le fil du paragraphe décrivant le petit bémol du logiciel.
Comme je le disais, il me manque la synchronisation de mes bloc-notes.
Mais je pense la résoudre en montant un petit serveur GIT.
Après lecture du wiki Zim , il y a un plugin pour ça !
J'utilise actuellement Github qui me permet de stocker mes configuration Puppet en les pushant par HTTPS.
Pour la synchronisation de mes notes, j'attendrais de m'être hébergé sur un VPS/dédié (vous ai-je déjà dit que j'allais le faire, là je le sens bien, c'est chaud breizh) car mes écrits sont assez personnels.

Une fois tout cela réglé, je vais pouvoir vous partager deux/trois astuces ... dans le prochain billet !

Bah oui, pour l'instant j'écris ce blog depuis ce put**n de Dotclear et cela me prend le choux, je vais devoir relire et mettre en page l'article pendant deux heures...

Mais promis, je vous programme une petite astuce bientôt.

Prise de note

                            Salut les zouzous !! 

Ps : Et voilà, un billet commencé à 18h, finit à 19h40

mardi, 26 mars 2013

Méthode de génération rapide de paquet debian

Paquet. Bonjour à tous,

Aujourd'hui pour changer une petite note sur les systèmes Debian.

Y a pas de raisons que je parle toujours de ArchLinux alors que je travaille en permanence avec des serveurs sous Ubuntu/Debian.

Quand on gère un parc de machines conséquent, on souhaite automatiser un maximum de choses, dont des petits patchs, scripts...
Pour ce faire, j'ai pensé générer un paquet debian avec le système des dummy-packages.
Cela me permets de vous présenter une méthode de génération de paquet allégé, rapide à prendre en main.
En général, c'est utilisé pour résoudre des problèmes de dépendances, mais nous pouvons l'utiliser pour autre chose.

En premier lieu, il est nécessaire d'installer le paquet equivs.

aptitude update && aptitude install equivs

Suite à cela, nous avons deux outils complémentaires à notre disposition.
Le premier est equivs-control, il permet de générer un fichier control standard.

equivs-control nom_de_notre_futur_paquet

Dans mon exemple, un fichier de configuration nommé nom_de_notre_futur_paquet sera crée dans mon current directory.
Il s'agira de remplir/dé-commenter les champs qui nous intéressent.
Mais nous pouvons pousser la démarche plus loin en y ajoutant des fichiers supplémentaires ou des fichiers postinst,preinst,prerm,postrm.
Pour plus de détail, je vous invite à consulter le man de equivs-build Il est important de noter que le fichier de contrôle n'accepte pas les lignes vides, voici un exemple de fichier de control avec un script de postinst :


Section: misc
Priority: optional
Standards-Version: 3.6.2
Package: Choix-libres
Version: 1.4
Maintainer: Martin
Depends: Internet
File: postinst
 #!/bin/sh -e
 set -e
 echo "Installation réussie"
 exit 0
Description: Paquet installant un blog choix-libres

Une fois le fichier de configuration dument remplie, nous pouvons lancer la commande de génération du paquet.

equivs-build nom_de_notre_futur_paquet

Et paf !!! ça fait un paquet debian généré en moins de 10 minutes.

A tantôt tout le monde !

dimanche, 30 décembre 2012

Ttyecho : Lancer un editeur de texte CLI depuis une GUI

Echo

Bonjour,

Derrière ce titre un peu alambiqué se cache un petit plaisir personnel enfin assouvi.
Je m'explique, imaginons que vous utilisiez un explorateur de fichier de type GUI (eg. Nautilus, pcmanfm ...) parce que vous êtes un peu tordu, vous utilisez un éditeur de texte en ligne de commande (eg. vim, emacs ou nano).
Cette situation est embêtante car vous avez envie d’éditer un programme en C que vous voyez s'afficher dans votre explorateur mais vous ne pouvez double-cliquer directement dessus car cela ne va pas vous lancer votre éditeur favoris.

Alors, j'ai trouvé une solution que je vais vous détailler ci-dessous, cependant si vous avez d'autres idées je suis comme un bar dans une soirée étudiante, open !

Bon on commence par récupérer le code source magique de ttyecho :

#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <string.h>
#include <unistd.h>

void print_help(char *prog_name) {
        printf("Usage: %s [-n] DEVNAME COMMAND\n", prog_name);
        printf("Usage: '-n' is an optional argument if you want to push a new line at the end of the text\n");
        printf("Usage: Will require 'sudo' to run if the executable is not setuid root\n");
        exit(1);
}

int main (int argc, char *argv[]) {
    char *cmd, *nl = "\n";
    int i, fd;
    int devno, commandno, newline;
    int mem_len;
    devno = 1; commandno = 2; newline = 0;
    if (argc < 3) {
        print_help(argv[0]);
    }
    if (argc > 3 && argv[1][0] == '-' && argv[1][1] == 'n') {
        devno = 2; commandno = 3; newline=1;
    } else if (argc > 3 && argv[1][0] == '-' && argv[1][1] != 'n') {
        printf("Invalid Option\n");
        print_help(argv[0]);
    }
    fd = open(argv[devno],O_RDWR);
    if(fd == -1) {
        perror("open DEVICE");
        exit(1);
    }
    mem_len = 0;
    for ( i = commandno; i < argc; i++ ) {
        mem_len += strlen(argv[i]) + 2;
        if ( i > commandno ) {
            cmd = (char *)realloc((void *)cmd, mem_len);
        } else { //i == commandno
            cmd = (char *)malloc(mem_len);
        }

        strcat(cmd, argv[i]);
        strcat(cmd, " ");
    }
  if (newline == 0)
        usleep(225000);
    for (i = 0; cmd[i]; i++)
        ioctl (fd, TIOCSTI, cmd+i);
    if (newline == 1)
        ioctl (fd, TIOCSTI, nl);
    close(fd);
    free((void *)cmd);
    exit (0);
}

1. On stocke tout ça dans un fichier ttyecho.c par exemple.

2. On compile :

make ttyecho

3. On fait une petite copie vers un répertoire binaire contenu dans votre PATH :

sudo cp ttyecho /usr/local/bin/ttyecho

Pour vérifier que tout est en ordre, vous pouvez ouvrir deux terminaux.

#Terminal1
tty
> /dev/pts/0

sudo ttyecho -n /dev/pts/1 echo "toto"
#Terminal2
tty
> /dev/pts/1
>toto
  • Il est à noter que nous sommes obliger d'effectuer cette opération en tant que root.
  • L'option -n, permet d'effectuer un retour chariot dans le terminal distant.

Pour remédier au problème de droit, je vous propose cette manipulation qui comme d'habitude n'est pas très secure :

chmod +s /usr/local/bin/ttyecho

Avec le sticky bit, les utilisateurs qui lanceront cette commande auront les droits du propriétaire du fichier autrement dit "root".

Et maintenant le bouquet final : Application à notre problème

  • On ouvre notre explorateur de fichier, pour moi c'est pcmanfm.
  • On fait un joli clic-droit sur le fichier que nous souhaitons editer (ttyecho.c).
  • On choisit l'item "open with" et on remplit l'onglet "custom command line" comme suit :
ttyecho -n/dev/pts/0 nano %f

Il peut paraitre sot de rappeler qu'il faut que /dev/pts/0 soit déjà ouvert ...

Enjoy !

dimanche, 18 novembre 2012

Selector : un outil bash de gestion d'historique de commandes et de repertoires visités

Ceci est une revolutionBonjour,

Cela fait depuis quelques semaines que j'accumule les billets que j'aimerai partager.
J'aurai même le temps de vous les écrire mais je n'ai pas eu l'envie suffisante; à la place je ponds des compte rendu de réunion inutiles.



Mais aujourd'hui, j'ai pris ma plume pour vous présenter une révolution (Steve si tu me regardes)

Cet outil est vraiment mon coup de cœur du moment, je vais vous détailler en deux points les défauts qu'il corrige.

  • Qui n'a jamais pesté contre le Ctrl+R de bash, il suffit que l'on ait une commande que l'on ait exécuté plusieurs fois avec des paramètres différents pour s'en rendre compte. Ce maudit raccourci vous allez devoir le taper x fois jusqu'à temps de tomber sur la bonne commande. Je ne vous parle même pas de l'utilisation non ergonomique de la commande history ...
  • Qui ne s'est jamais dit, j'en ai marre de faire des 'cd' dans tous les sens, j'étais dans /usr/lib/cups/backend/noname puis je suis allé dans /var/log/apache2/, puis dans mon home et maintenant je voudrais retourner dans /usr/lib/cups/backend/noname. J'ai passé des heures à essayer divers bricoles comme autojump et autres pour gagner du temps.

Mes biens chères sœurs (y en a !), mes biens chers frères :

Ce temps est révolu grâce à l'outil Selector de François Fleuret.


Cet outil vous offre :

  • Une interface d'historique des commandes accessible en un raccourci clavier (Alt-r), recherche immédiate dès le premier caractère (à la google), compatible avec les expressions régulières ...
  • Une interface qui présente de la même manière vos pérégrinations sous votre OS.

Maintenant que vous piaffez d'impatience place à l'installation de cet outil révolutionnaire !

1. Premier étape, installation de git (et de ncurses-dev, make pour les autres distros)

yaourt -Sy git

Parce que git c'est trop à la mode, je vous conseille la lecture de ce tutoriel pour être hype.

2. Deuxième étape, on rapatrie le code source :

cd /opt
git clone http://fleuret.org/git/selector/ 
cd selector

3. On compile le code

make selector

4. On fait un petit lien ou on copie le binaire dans un repertoire qui est dans votre path :

ln -s /usr/local/bin/selector /opt/selector/selector

5. On met le joli script d'interception des commandes dans votre .bashrc

cd
nano .bashrc
+ source bash-selector.sh --hist --cd

6. On se ressource :

source .bashrc

Copie d'ecran de l'outil selector 7. On profite : En faisant pleins d'aller et venue dans tous les répertoires puis on fait un alt+r pour consulter l’historique des commandes ou un alt+c pour consulter l'historique des navigations.

Quelques notions très basiques :

  • Pour utiliser une commande surlignée, appuyer sur la touche enter.
  • Pour quitter l'outil, utiliser la touche echap ou ctrl+c.
  • Pour plus d'information :
selector --help

Qu'on se le dise, ceci est une révolution, cela devrait être intégré dans tous les OS Unix ! Et dire que j'ai même pas trouvé un paquet pour l'installer ...

Je trouve cet outil vraiment sympa et je ne l'ai pas beaucoup vu circuler sur le web, j'ai peut être un train de retard aussi !

A bientôt !

Source image : les guignols

Merci à Linus Torvalds pour le prêt de son doigt ! Je trouve ça magique !

jeudi, 18 octobre 2012

Mon ordinateur me rend analphabète

Bonjour,

Aujourd'hui j'aimerais vous faire part d'une constatation, plus je vieillis plus mon niveau orthographique baisse.
Alors comme je passe beaucoup de temps sur l'ordinateur/portable/télé comme vous, je me suis dit que le votre aussi.
Mon raisonnement est peut être erroné car il est basé sur une induction (non ce n'est pas la plaque qui chauffe vos plats mais le raisonnement inverse de la déduction). Je pense que ce fait est connu mais je ne m'en étais pas rendu compte et voici quelques éléments qui selon moi peuvent influer sur notre orthographe/grammaire.

  • Utilisation de l'ordinateur :

Nous passons beaucoup de temps à consulter des articles, des forums sur le web. Le problème principal de cette activité est que peu de personnes font l'effort d'écrire correctement. Je pense également que le web est largement utilisé par des jeunes personnes maitrisant peu notre langue. Nous passons donc notre journée à lire des textes peu français. Comme je le disais lorsque l'on écrit sur un ordinateur, c'est souvent de manière informelle donc sans attention particulière. Ensuite, nous sommes en permanence assistés par un correcteur d'orthographe qui retouche les accents, cet outil nous enlève le doute sur un mot, nous ne faisons plus vraiment attention à l'orthographe exacte du mot, nous tapons une suite de caractère et le logiciel fait le reste.

  • Utilisation du téléphone portable :

C'est un débat connu mais je pense que la rédaction des SMS contribuent à la détérioration de notre français. Comme dit (cf. dialecte strasbourgeois), nous rédigeons des messages de manière rapide, nous voulons que cela soit instantané, nous avons une limitation de caractère qui nous pousse à remplacer les mots par des phonèmes.

  • Utilisation de la télévision :

Depuis une petite décennie, nous avons le droit à des programmes appelés "télé-réalités". Ces émissions ont la particularité de mettre en avant la France d'en bas. Il faut le dire, ces pauvres gens n'ont pas particulièrement de qualité oratoire. Nous rentrons donc le soir, on se met devant la télévision et là c'est une véritable boucherie grammaticale/orthographique.

  • Le résultat :

Tout ce temps passé sur écran ne nous invite plus à lire les œuvres écrits par des gens lettrés, lus et relus par des correcteurs. Le français comme toutes les autres langues vivantes s'apprend en la pratiquant (lecture, écriture, écoute), vous ne pouvez que partagez que nous nageons en permanence dans la médiocrité ce qui a pour effet de tirer notre niveau vers le bas.

Gare au passage sur papier où le correcteur orthographique ne passera plus derrière moi pour me signaler ma bêtise crasse. Je ne nous parle même pas des accents existant uniquement grâce au correcteur automatique. A partir de là, je ne peux que constater que mon niveau orthographique est en chute libre (peut-être l'aviez-vous remarqué, merci de me signaler mes fautes, je fais mon maximum pour qu'il y en ait le moins possible).

Forçons nous à écrire et à relu, lire des écrivains sachant écrire correctement le français.

Cours d'orthographe

A tantôt tout le monde !

Source image : L'actu en patate

- page 2 de 7 -