Zest Writer un éditeur hors-ligne pour vos contenus ZdS

sortie de la 2.0.0 (03 aout 2020)

a marqué ce sujet comme résolu.

Arf firm1 y’a plein de trucs moches dans ce bout de code :

1/ Tu log rien, tu te contentes d’un printStackTrace, c’est vraiment une mauvaise pratique :(

2/ Tu te compliques énormément la vie pour lire un bête fichier, si tu veux un Path, fais juste une Paths.get(...), et de manière générale, pense à java.nio

3/ En parlant de ça, prends l’habitude de wrapper toutes les opérations sur les fichiers (lectures, écritures) dans des bloc "try-with-resources"

Bref, utilise java 7, on en est à Java 10 là :)

=>

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public class ZMD {

    ScriptEngineManager engineManager;
    ScriptEngine engine;
    Invocable invocable;

    public ZMD() {
        engineManager = new ScriptEngineManager();
        engine = engineManager.getEngineByName("nashorn");
        invocable = (Invocable) engine;
        try(Reader convert = read("js/convert.js"); Reader zmd = read("js/zmarkdown.js")) {
            engine.eval(convert);
            engine.eval(zmd);
        } catch (IOException | ScriptException e) {
            LOG.error("Could not evaluate JS scripts", e);
        }
    }

    public String toHtml(String md) {
        Object html = null;
        try {
            html = invocable.invokeFunction("toHtml", md);
            return html.toString();
        } catch (ScriptException | NoSuchMethodException e) {
            LOG.error("Could not convert md to html", e);
        }
        return null;
    }

    private static Reader read(String path) throws IOException {
        return Files.newBufferedReader(Paths.get(path));
    } 
}

C’est pas fou, mais c’est plus "récent" comme Java déjà.

+4 -0

Yep, pas de pb.

Mais je crois que je t’avais déjà fait la remarque y’a quelques temps : utilise un analyseur de code comme Sonar, ou télécharge la version community d’IntelliJ si tu peux / aimes bien les IDE et fais un clic droit sur tes sources => analyse.

Tu peux même mettre l’analyse de sources en routine pré-commit. Ca t’indiquera que tu peux "faire mieux" avant de commiter.

Franchement, c’est le genre de trucs qui m’ont beaucoup beaucoup appris en Java, recevoir des conseils automatiques et systématiques et essayer de comprendre à chaque fois "pourquoi c’est mieux" (en l’occurrence une ressource qui est automatiquement fermée dans un finally, etc.).

+3 -0

D’ailleurs, des suggestions :

  • une intégration de grammalecte ;
  • une visualisation de la commande commentaire (cf doc du zmarkdown) pour permettre l’annotation par les validateurs ;
+2 -0

J’avouerai qu’une chose m’intéresse, c’est de savoir s’il y aura encore besoin de lancer en tant qu’administrateur  ^^

Ymox

Je n’ai pas recreusé la question depuis, mais c’est bien l’objectif, et c’est techniquement possible. Je l’inscris dans les choses à faire.

Un truc qui pourrait valoir un Proof of Concept : http://www.graalvm.org

Ca pourrait être sympa de tester avec ZestWriter.

Inspiration ici : https://github.com/oracle/graal/blob/master/sdk/docs/PolyglotEmbedding.md

Javier

Intéressant, idem, j’y jetterai un coup d’oeil pour voir si ça peut être rentable.

  • une intégration de grammalecte ;
qwerty

Actullement l’outil qui nous permet de faire la correction se nomme "langage-tools", il n’est pas parfait, mais il a certains avantages. Que pourrais apporter grammlecte de plus ?

  • une visualisation de la commande commentaire (cf doc du zmarkdown) pour permettre l’annotation par les validateurs ;
qwerty

Je ne suis pas certain d’avoir bien compris, tu pourrais développer un peu ?

Je ne suis pas certain d’avoir bien compris, tu pourrais développer un peu ?

Il y a une syntaxe pour les commentaires :

1
2
3
Ceci est mon texte. <--COMMENT Et ceci est une partie commentée. COMMENT--> 

`

L’idée est d’affiché ce COMMENT en « post-it » comme sur Word ou Writer ?

Actullement l’outil qui nous permet de faire la correction se nomme "langage-tools", il n’est pas parfait, mais il a certains avantages. Que pourrais apporter grammlecte de plus ?

Ce qui a autour ? En vrai, je connaissais pas langage-tools avant.

+0 -0

Bonjour,

Je suis désolé de poser une question aussi bête, je viens d’installer Zest Writer 32 sur Windows, j’ai entré mes identifiants et mdp dans les préférences, et quand je veux exporter un PDF vers mon bureau, j’obtiens "échec de l’export, le contenu n’a pas pu être exporté, vérifiez l’état de votre connexion internet". Je suis connecté à internet. Que puis-je faire ?

Salut firm1,

Excellent projet que tu as fait. :)

J’ai voulu le tester mais les deux liens pour les installations Windows 32 et 64 bits sont morts.

informaticienzero

Oups.. je me rend compte que le premier topic n’est pas à jour. Les bons liens étaient dans le billet d’annonce.

Windows

Téléchargez le setup correspondant à votre architecture (32 bits ou 64 bits) et lancez l’installateur.

Je repasse par ici, malheureusement c’est pour un petit souci de mon côté.

J’ai tenté de récupérer un billet en rédaction. Le téléchargement s’effectue, je récupère bien les fichiers et dossier de mon billet, mais il n’est pas listé dans les contenus que je peux éditer. Utiliser le menu "Ouvrir" ne change apparemment rien. En revanche, j’ai pu récupérer un article sans souci.

J’avais d’abord tenté d’utiliser la version .jar, puis j’ai fini par installer la version Windows x64. Je croyais me souvenir d’un souci similaire rencontré par quelqu’un d’autre, je croyais même me souvenir d’une version 1.8.1, mais je ne retrouve rien.

Je suis vraiment passé à côté de quelque chose ?

+0 -0

Petit passage rapide, même pépin qu'@Ymox sur mon nouveau tuto. Lors de la création d’un contenu sur Zest Writer et de l’import sur ZdS, tout se passe bien. Le problème survient lors d’une màj du contenu de ZdS vers Zest Writer, par la suite Zest Writer ne veut plus ouvrir la version locale alors que celle-ci est bien présente. Ça sent le problème de compatibilité.

+0 -0

Yep, yep. J’ai uppé le sujet vu qu’il n’y avait pas eu de réponse mais le loup patientera. De toute façon, ce n’est pas bloquant (suffit de ne pas màj du site vers ZW pour éviter de tout casser). :)

+0 -0

En pleine période de "sortez pas de chez vous", j’aurais aimé pouvoir utiliser l’outil, que j’avais apparemment désinstallé/supprimé de ma machine. Les liens vers les versions compilées ne fonctionnent plus, et la version Java ne me permet apparemment pas de travailler sur un tutoriel récupéré depuis une archive — j’ai tous les dossiers et fichiers qui sont "dédoublés" avec des noms normalisés, mais le contenu des fichiers ne suit pas, et j’ai pas accès aux originaux depuis l’application.

Est-ce qu’il y a moyen de récupérer les binaires quelque part en attendant une nouvelle version ?

Edit

Au temps pour moi, ces histoires de contenu viennent de ce que j’avais fait un rechercher/remplacer bourrin sans penser que ça impacterait le fichier manifest.json:ange:

+1 -0

¡olà!

Le nouveau champ ready_to_publish exporté dans le manifest.json ne permet plus d’utiliser Zeste Writer…  :(

Ymox

Bonjour Ymox,

Désolé ne pas donner de nouvelles sur ce sujet. Pour info, je suis au courant de ces soucis, et j’ai même déjà corrigé la plupart des trucs en local. J’ai une nouvelle version dans les bacs, mais je bloque sur un problème purement technique : déployer mon app.

J’ai du version quelques évolutions sur les dépendances :

  • JDK 8 -> JDK 11
  • JavaFX 8 -> JavaFX 13
  • python-zmarkdown (Python) -> zmarkdown (Javascript)

Du coup, le plugin de build gradle qui me permettait de créer un fichier installable (rpm, deb, exe, etc.) pour chaque environnement ne fonctionne plus. J’ai essayé d’autres trucs, mais je vais de problèmes en problèmes (la plupart liés à la nouvelle façon de gérer les modules en Java).

C’est rageant parce que c’est la dernière étape avant la sortie de la nouvelle version.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte