Claude SIMON a écrit 539 commentaires

  • [^] # Re: Intérêt

    Posté par  (site web personnel) . En réponse au journal XULRunner et C++.. Évalué à 3.

    Donc tu passes 10 fois plus de temps à implémenter un truc (des listeners et autres trucs d'interface), pour un résultat qui n'apporte au final rien en terme de perf (au niveau de l'UI).

    Sans entrer dans un débat JavaScript vs C++, il se trouve que je dispose d'outils, qui sont d'ailleurs utilisés dans l'application citée dans ce journal, grâce auxquels je mets nettement moins de temps à implémenter un 'truc' en C++ qu'en JavaScript, et que je ne suis probablement pas le seul, d'où ce journal.

    disclamer : je fais du xpcom c++ depuis des années...

    Moi aussi. Et ?

    Lorsque l'on code une application en JavaScript, on accède en fait à des composants écrits en C++ à travers leur interface JavaScript. L'idée c'est d’accéder à ces composants directement en C++, sans passer par JavaScript. On a donc, au contraire, une couche logicielle en moins...

    moui ok, je comprend mieux le principe de ton truc. Mais quand même, comme je dis, ça n'apporte rien en terme de perf, au niveau de l'interface utilisateur, sauf si tu manipules à tour de bras des centaines d’éléments XUL. En tout cas le rapport (productivité, facilité de dev, de maintenance etc)/performance est très très faible.

    Ça apporte peut-être peu, mais certainement pas rien en terme de performances, vu qu'on évite la surcouche JavaScript. Néanmoins, les performances ne sont pas, à mon avis, le critère déterminant. Il se trouve que, pour moi (et certainement pour d'autres, d'où ce journal), la productivité, la facilité de développement et de maintenance sont nettement plus élevés en C++ qu'en JavaScript.

    Mais elle ne détaille pas comment manipuler un élément XUL en C++. Par exemple, je n'ai trouvé aucune documentation qui indique qu'un élément 'tree' en XUL correspond, en C++, à l'objet 'nsIDOMXULTreeElement'

    Pourtant, tout est indiqué sur la doc de la balise tree, https://developer.mozilla.org/en/XUL/tree , en particulier les interfaces qu'elle utilise, et donc ses propriétés dont la view etc. Etant donné que les objets DOM accessibles en JS sont simplement un accés XPCom aux objets C++ correspondant... Et par le passé, XulPlanet.org était encore mieux documenté au niveau des interfaces etc..

    Sauf que cette page est résolument orientée JavaScript, avec des exemples, alors que pour C++, il faut procéder par déduction en fouillant également dans les fichiers d'entête C++ fournis avec le SDK XULRunner.

    Ça fait plus de 11 ans que j'utilise le CVS de savannah.gnu.org. Pourquoi changer quelque chose qui fonctionne ?

    Pour être plus productif ? Pour faciliter les contributions ? Pour avoir un outil plus performant ? pour avoir une interface web agréable à utiliser ? (le browser CVS est juste horrible).

    (Je vais m'abstenir de répondre à ce propos, d'une part parce qu'il est hors-sujet, et, d'autre part, parce que ma précédente intervention sur le sujet ayant été prise au pied de la lettre).

    M'enfin chacun utilise ce qu'il veut :-)

    On est bien d'accord, c'est pour cela que j'utilise C++ à la place de JavaScript, et si d'autres préfère JavaScript, grand bien leur fasse :-) !

    Pour nous émanciper des géants du numérique : Zelbinium !

  • [^] # Re: Pourquoi pas un autre toolkit ?

    Posté par  (site web personnel) . En réponse au journal XULRunner et C++.. Évalué à 1.

    Le but de XulRunner n'est pas un framework/une plateforme pour écrire une appli entièrement en C++.

    Je ne vois en quoi le fait que ce ne soit pas le but devrait m'empêcher de le faire...

    Pourquoi ne pas utiliser QT ou autre toolkit graphique ?? Parce que si dans ton projet, l'utilisation du JS est à proscrire, tu t'es, à mon avis, trompé de framework.

    Comme dit dans un précédent commentaire, étant donné que l'API JavaScript de XULRunner n'est qu'une surcouche à des objets C++, cela ne me semble totalement dénué de sens de court-circuiter JavaScript pour accéder à ces objets directement en C++, d'autant plus si l'on n'a aucune affinité avec JavaScript...

    Pour nous émanciper des géants du numérique : Zelbinium !

  • [^] # Re: Intérêt

    Posté par  (site web personnel) . En réponse au journal XULRunner et C++.. Évalué à 7.

    oui, je me pose exactement la même question. D'après ce que j'ai compris, on n'a plus à utiliser de gestionnaire d'évènement ou autres trucs "webesque" de XulRunner. Et en gros, tout le code de l'appli est dans des libs externes en C/C++.

    On code l'application exactement comme on le ferait en JavaScript, sauf qu'on utilise C++. Comme en JavaScript, on a toujours un gestionnaire d'évènement à implémenter, mais il sera implémenté en C++. Et tout le code de l’application est effectivement dans une bibliothèque externe.

    Et au final aussi, un truc à la XPCom à été recodé en passant par XPCom. Au final on a donc une couche qui transmet des appels vers les libs externe, donc comme XPCom. -> double couche logicielle pour accéder à la lib externe. à moins d'avoir rien compris au bidule :-)

    Lorsque l'on code une application en JavaScript, on accède en fait à des composants écrits en C++ à travers leur interface JavaScript. L'idée c'est d’accéder à ces composants directement en C++, sans passer par JavaScript. On a donc, au contraire, une couche logicielle en moins...

    Bon, sinon, de la doc sur XPCOM C++, elle existe quand même https://developer.mozilla.org/en/XPCOM. Et il y a aussi une alternative, pour accéder directement aux fonctions d'une lib : js-ctypes.

    Je connais cette documentation (XPCOM), et l'ai abondamment utilisée. Mais elle ne détaille pas comment manipuler un élément XUL en C++. Par exemple, je n'ai trouvé aucune documentation qui indique qu'un élément 'tree' en XUL correspond, en C++, à l'objet 'nsIDOMXULTreeElement', et que pour avoir l'index de l’élément sélectionné dans ce 'tree', il fallait d'abord faire un 'GetView(...)', sur le résultat duquel il faut ensuite faire un 'GetSelection(...)', sur le résultat duquel il faut faire 'GetCurrentIndex(...)'. Quand à 'js-ctypes', c'est apparemment essentiellement pour faire du C...

    (hors sujet: CVS, c'est vraiment pénible, je recommande d'utiliser un gestionnaire de source récent :-p)

    (Ça fait plus de 11 ans que j'utilise le CVS de savannah.gnu.org. Pourquoi changer quelque chose qui fonctionne ?)

    Pour nous émanciper des géants du numérique : Zelbinium !

  • [^] # Re: Intérêt

    Posté par  (site web personnel) . En réponse au journal XULRunner et C++.. Évalué à 3.

    C++ n'est employé qu'en lieu et place de JavaScript. Toute la partie description de l'interface reste en XUL...

    Pour nous émanciper des géants du numérique : Zelbinium !

  • [^] # Re: XSLT?

    Posté par  (site web personnel) . En réponse au journal Nouvelle version du préprocesseur XML 'expp'. Évalué à 4.

    expp est conçu pour réaliser des transformations beaucoup moins importantes que XSLT (que j'utilise par ailleurs quotidiennement, mais dans un tout autre contexte d'utilisation).
    Typiquement, je m'en sert pour gérer un jeu de fichiers de configurations ayant peu de différences entre eux, différences essentiellement dues au fait qu'ils sont destinés à un même logiciel, mais installé sur des systèmes d'exploitation différents. Grâce à la gestion des macros et des variables proposée par expp, je n'ai qu'un seul fichier de configuration à maintenir, à partir duquel je génère les variantes propres à chaque système d'exploitation.
    Le fait que les différentes directives sont situées directement dans le fichier à transformer, à l'endroit même où elles vont agir (contrairement à XSLT où elles doivent être situées dans un fichier distinct), permet d'un simple coup d'œil de voir leurs effets.

    Pour nous émanciper des géants du numérique : Zelbinium !

  • [^] # (Rien à voir ...)

    Posté par  (site web personnel) . En réponse au journal Suite bureautique : microsoft passe au gratuit. Évalué à 6.

    Tu es né un 29 février ?

    (Désolé ...)

    Pour nous émanciper des géants du numérique : Zelbinium !

  • [^] # Re: Honte

    Posté par  (site web personnel) . En réponse au journal La flamme olympique : éteinte. Évalué à 3.

    [...] A voir "arrêt sur image" actuellement sur France 5 [...]

    N'était-ce pas plutôt "C dans l'air" ?

    Pour nous émanciper des géants du numérique : Zelbinium !

  • [^] # \<em\>

    Posté par  (site web personnel) . En réponse au journal Sortie de etmccalc 0.7.0. Évalué à 2.

    Je préfère l'emphase.

    Pour nous émanciper des géants du numérique : Zelbinium !

  • [^] # Re: Kamoulox ?

    Posté par  (site web personnel) . En réponse au journal Sortie de etmccalc 0.7.0. Évalué à 3.

    Les timecodes sont des indicateurs que l'on retrouve dans les logiciels (et appareils) qui manipulent des données audio (comme Audacity) ou vidéo (comme VirtualDub). Ils permettent d'identifier et de marquer temporellement chaque image d'une séquence vidéo, ou chaque échantillon d'une séquence sonore.
    Si l'on veut, par exemple, synchroniser un feu d'artifice avec une bande sonore, on affectera à chaque évènement du feu d'artifice (lancement des différentes fusées) un timecode de la bande sonore. Plus précisement, sachant qu'une fusée explose X s aprés sont lancement, et que l'on veut faire correspondre cette explosion avec l'échantillon de timecode Y correspondant à un coup de cymbale, on utilisera un calculateur de timecode comme etmccalc pour savoir à quel timecode (donc à quel moment) il faudra lancer la fusée (résultat de Y-X).

    Pour l'instant, etmccalc ne permet que d'additionner des timecodes et de convertir des timecodes d'un format à l'autre. A terme, on pourra faire des calculs plus complexes.

    En outre, on n'est pas obligé d'utiliser le logiciel en tant que tel. Les sources fournies comprennent également celles de la bibliothèque de manipulation des timecodes (mthtmc), que l'on peut utiliser pour développer ses propres logiciels ...

    Pour nous émanciper des géants du numérique : Zelbinium !

  • [^] # Re: Un article juste ?

    Posté par  (site web personnel) . En réponse au journal C'est la guerre. Évalué à 1.

    A propos des DRM, Microsoft veut les étendre à tout type de document. Ainsi, une entreprise pourra envoyer un e-mail à ses clients avec une date limite de lecture, et impossibilité d'imprimer ou de dupliquer. De la sorte, si l'entreprise augmente ses tarifs, elle pourra toujours le nier face à un client s'en plaignant, vu que le client en question ne sera plus en mesure de produire le moindre document pour appuyer ses dires ...

    Pour nous émanciper des géants du numérique : Zelbinium !

  • [^] # Re: Un article juste ?

    Posté par  (site web personnel) . En réponse au journal C'est la guerre. Évalué à 2.

    A propos de Windows 2008 Server, j'ai eu l'occasion d'entendre hier un employé de Microsoft en parler. Il y a, paraît-il, deux modes de fonctionnement de Windows 2008 Server, mode que l'on choisit à l'installation (impossible de passer d'un mode à l'autre sans tout réinstaller) : le mode classique et, ... le mode sans GUI (enfin presque). Comme quoi, il arrive même à Microsoft de faire parfois preuve d'un peu bon sens :-) !

    Pour nous émanciper des géants du numérique : Zelbinium !

  • [^] # Re: encore des manquants

    Posté par  (site web personnel) . En réponse au journal Quel sont selon vous les meilleurs morceaux de musique classique ?. Évalué à 2.

    Pour rester avec les allemands, on peut aussi citer Richard STRAUSS, dont tout le monde connait l'introduction de son 'Ainsi parla Zarathustra', popularisé pas le film '2001, odyssée de l'espace', (dans lequel on peut également entendre 'Le beau danude bleu', de son homonyme autrichien). Outre donc son 'Ainsi parla Zarathustra', j'aime bien son 'Mort et transfiguration', ou encore sa 'symphonie alpestre' ...

    Pour nous émanciper des géants du numérique : Zelbinium !

  • [^] # Re: Moi j'aime bien...

    Posté par  (site web personnel) . En réponse au journal Quel sont selon vous les meilleurs morceaux de musique classique ?. Évalué à 4.

    Pour l'anecdote, cette pièce était considérée par Ravel comme une "étude d'orchestration" et l'ampleur qu'elle a pris a été tout à fait inattendue

    Ça me fait penser à un certain Torvalds et son Linux :-) !

    Pour nous émanciper des géants du numérique : Zelbinium !

  • [^] # Re: Compositeurs français

    Posté par  (site web personnel) . En réponse au journal Quel sont selon vous les meilleurs morceaux de musique classique ?. Évalué à 1.

    Il y a aussi César FRANCK, qu'on associe souvent à l'orgue, mais qui a également composé une très belle symphonie (en ré mineur).

    Pour nous émanciper des géants du numérique : Zelbinium !

  • [^] # Re: Chostakovitch ...

    Posté par  (site web personnel) . En réponse au journal Quel sont selon vous les meilleurs morceaux de musique classique ?. Évalué à 3.

    ... qui fait partie de la 'Jazz Suite n°2'.

    Pour nous émanciper des géants du numérique : Zelbinium !

  • # Chostakovitch ...

    Posté par  (site web personnel) . En réponse au journal Quel sont selon vous les meilleurs morceaux de musique classique ?. Évalué à 1.

    (... ou Shostakovich, Schostakovich, Chostacovitch, ... ) dont la musique a été utilisée dans de célèbres publicités pour je ne sais plus quelle assurance. J'aime bien ses symphonies (entre autres).

    Pour nous émanciper des géants du numérique : Zelbinium !

  • # Parmi les moins connus ...

    Posté par  (site web personnel) . En réponse au journal Quel sont selon vous les meilleurs morceaux de musique classique ?. Évalué à 1.

    RESPIGHI (Ottorino de son petit nom) et son triptyque romain :
    - Le Fontane di Roma (Les Fontaines de Rome),
    - I Pini di Roma (Les Pins de Rome),
    - Feste romane (Fêtes romaines),

    interprété notamment par l'orchestre symphonique de Montréal, sous la direction de Charles DUTOIT.

    Pour nous émanciper des géants du numérique : Zelbinium !

  • [^] # Re: Ma liste

    Posté par  (site web personnel) . En réponse au journal Quel sont selon vous les meilleurs morceaux de musique classique ?. Évalué à 1.

    - Tchaikovsky, tout ! ( ..., sa symphonie n°5 m'arrache à chaque fois des larmes. ...)

    La 5ème ? Pas qu'elle ne soit pas bien, mais généralement c'est la 6ème qui est célèbre pour avoir cet effet ; ce n'est pas pour rien qu'elle est surnommée la 'pathétique' ... !

    Pour nous émanciper des géants du numérique : Zelbinium !

  • [^] # Exceptions et RTTI.

    Posté par  (site web personnel) . En réponse au journal Qu'est-ce que bien gérer les erreurs dans ses programmes ?. Évalué à 2.

    De quel compilateur s'agit-il ?

    Avec Visual C++ (8.0), j'utilise les exceptions tout en ayant désactivé le RTTI. Quand j'utilise g++, je ne précise pas d'options ayant trait au RTTI, donc j'ignore si c'est activé ou non, ni même si cela existe sous g++.

    Si on ne dispose pas des exceptions, on peut arriver à les simuler à l'aide de la bibliothèque C 'setjmp.h'. C'est peut-être ce qui est utilisé pour Qt ...

    Pour nous émanciper des géants du numérique : Zelbinium !

  • [^] # Re: comparatif?

    Posté par  (site web personnel) . En réponse au journal VirtualBox 1.5.0. Évalué à 3.

    http://en.wikipedia.org/wiki/Comparison_of_virtual_machines

    Pour nous émanciper des géants du numérique : Zelbinium !

  • # Ecrire du LL, est-ce contribuer au LL ?

    Posté par  (site web personnel) . En réponse au journal Et vous, avez-vous déjà participé à un LL?. Évalué à 1.

    http://zeusw.org/epeios/

    C'est mon projet, et c'est du LL, puisque c'est sous GNU GPL. Ceci dit, vu la diffusion plus que confidentielle de la chose, je ne dirais pas pour autant que je contribue au LL en tant que mouvement.
    Pourquoi ce projet ? Ce sont simplement les bibliothèques et logiciels que j'utilise pour mon boulot ...

    Ah oui, j'avais développé ça pour la FSF, histoire de mettre à l'épreuve mes bibliothèques :
    http://www.gnu.org/software/mll2html/mll2html.html
    Ils l'ont utilisé pendant un temps pour générer certaines pages de leur site ...

    Pour nous émanciper des géants du numérique : Zelbinium !

  • [^] # Re: il repart quand ?

    Posté par  (site web personnel) . En réponse au journal Microsoft embauche.... Évalué à 0.

    J'espère pour lui que ça ne se limite pas à un chiffre, à moins que les salaires soient tellement élevés chez Microsoft qu'ils sont exprimés dans une autre base ou dans une devise qui leur est propre (bon allez, je le mets quand même ; on ne sait jamais) :-) ...

    Pour nous émanciper des géants du numérique : Zelbinium !

  • [^] # Re: Le ZX81 était génial pour faire du graphisme !

    Posté par  (site web personnel) . En réponse au journal [Journal complètement perso] le Sinclair ZX Spectrum a 25 ans aujourd'hui. Évalué à 3.

    Bah oui, je ne pouvais parler que du ZX81, auquel tu fais référence dans ton titre. Y aurait-il un détecteur de lapsus sur 'linuxfr' que j'aurais oublié d'activer ?

    Quand aux résolutions, elles varient selon les sources. Selon mes souvenirs (donc sous toutes réserves), la situation est la suivante :

    Le ZX81 est capable d'afficher 32 x 24 caractères. Mais, en Basic, les deux dernières lignes sont inaccessibles (réservées pour l'affichage des codes d'erreur, me semble-t'il). Donc, en Basic, on ne dispose que de 32 x 22 caractères.

    Pour ce qui est des fonctions 'graphiques', elles utilisent en fait un jeux de 16 caractères semi-graphiques, ce qui fait une 'résolution' théorique de 64 x 48. Mais, en Basic, toujours à cause des deux lignes inaccessibles, on ne dispose en réalité que d'une 'résolution' de 64 x 44, comme indiqué dans mon message.

    Chaque caractère étant constitué d'une matrice de 8 x 8 pixels, le ZX81 a une résolution totale de 256 x 192, qui n'est accessible qu'en assembleur. La zone des deux dernières lignes nous est également accessible puisque l'on ne passe plus par le Basic. On a donc accès à l'ensemble des pixels. Voilà pour le 256 x 192 de mon message.

    Pour nous émanciper des géants du numérique : Zelbinium !

  • [^] # Re: Le ZX81 était génial pour faire du graphisme !

    Posté par  (site web personnel) . En réponse au journal [Journal complètement perso] le Sinclair ZX Spectrum a 25 ans aujourd'hui. Évalué à 2.

    16 nuances de gris ? Même pas ! Il était monochrome, avec une résolution de 64 x 44 en Basic, mais de 256 x 192 en assembleur.

    Pour nous émanciper des géants du numérique : Zelbinium !

  • [^] # Re: Xslt

    Posté par  (site web personnel) . En réponse au journal Sortie de la première version de expp, le préprocesseur XML du projet Epeios.. Évalué à 3.

    Disons que cela n'a pas la même finalité. Ceci dit, on peut arriver au même résultat avec XSLT, mais c'est beaucoup plus compliqué à mettre en oeuvre. Déjà, il est nécessaire d'avoir, en plus du fichier à traiter, un fichier décrivant le traitement à réaliser. Avec expp, les données à traiter et la description du traitement à réaliser est contenu dans un seul et même fichier (certes, ce n'est pas toujours un avantage ...).

    Pour ma part, j'utilise cet utilitaire pour, entre autres, gèrer mes fichiers de configurations (qui sont au format XML).
    Dans certains de ces fichiers, de nombreuses références à des fichiers doivent être fournies. Or, l'application utilisant ces fichiers de configuration est multiplateforme, et la localisation des fichiers n'est évidemment par la même sous Linux que sous Windows. Grâce à expp, juste en modifiant la valeur d'une variable, je génère, à partir d'un seul et même fichier, le fichier de configuration adapté à chaque plateforme.
    En outre, dans ce même fichier de configuration, certaines parties sont répètées à l'identique en de nombreux endroits. J'ai donc affecté chaque partie redondante à une macro, que je développe en différents endroits du fichier selon les besoins, et ce, autant de fois que nécessaire.
    On peut voir un exemple trivial de mise en oeuvre d'xpp à l'adresse http://zeusw.org/epeios/software/expp/tags

    J'ai conçu expp pour qu'il soit à XML ce que cpp est au C/C++ (toute proportion gardée, bien entendu). XSLT n'a pas du tout été développé dans cette optique (me semble-t'il ...).

    Pour nous émanciper des géants du numérique : Zelbinium !