Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/10/2015, à 12:00

Gloops

NodeJS

Bonjour tout le monde,
Ayant écrit un fichier d'aide au format PDF, je cherche à créer un bouton dans une barre d'outils Thunderbird pour l'afficher.
L'extension Custom Butons facilite grandement la création du bouton, ensuite il reste à voir quel code mettre dedans.
Si j'ai bien lu la page de l'extension, il serait souhaitable d'installer nodejs et node sur Ubuntu, et de coder le script avec ça.
J'ai donc un script ~/scripts/displpdf/displpdf.js qui contient ceci :

console.log("Chargement en cours du fichier PDF");
var exec = require('child_process').exec;
var child = exec('/usr/bin/evince "/home/ordi02/Guides/Affichage de la liste des guides.pdf"', function(err, stdout, stderr) {
    if (err) throw err;
    else console.log(stdout);
});

et si je tape ceci sur la ligne de commande ça affiche bien le fichier après avoir affiché chargement en cours :

nodejs ~/displpdf/displpdf.js

Avec le bouton sous Thunderbird ça ne donne rien. J'ai posé la question sur un forum Thunderbird, mais maintenant j'attaque avec des questions spécifiques à Ubuntu.
Ici sur hacksparrow.com je vois qu'après avoir fait ce qu'il faut je devrais pouvoir obtenir le même résultat en tapant juste displpdf depuis n'importe quel répertoire.

J'ai mis #! /usr/bin/env node sur la première ligne. D'entrée de jeu j'avais autorisé l'exécution du script. J'ai créé un fichier ~/scripts/displpdf/package.json avec le contenu mentionné, puis après avoir installé npm j'ai tapé depuis le répertoire ~/scripts/displpdf :

npm link

Donc, la seule chose que j'aie conscience de ne pas avoir faite comme c'est dit, est d'utiliser la commande touch. Si je ne m'abuse cette commande donne au fichier la date et l'heure système, donc ça fait une différence pour un fichier pré-existant, mais pas pour un nouveau fichier, si ?
Comme le fichier package.json a nécessité une petite modification manuelle je vous laisse voir le résultat :

{
    "name": "displpdf",
    "version": "0.0.1",
    "description": "List all the files in a directory, even hidden ones!",
    "preferGlobal": "true",
    "bin": { "displpdf": "displpdf.js" },
    "author": "Hack Sparrow ",
    "engines": { "node": "*" }
}

Il y aura à corriger la description et l'auteur, mais je serais épaté que ça soit ça qui bloque.

Dernière modification par Gloops (Le 11/10/2015, à 12:10)


Ah, oui, Ubuntu ... Ça va me rappeler des souvenirs.

Hors ligne