J'essaie d'utiliser Umbrello, l'outil de KDE qui permets de générer un modèle objet à partir d'un code source (C++ dans mon cas) et a priori le dernier open source avec un potentiel correct (non, dia ne fait pas le taf. Il y avait bien bouml mais d'une part il n'est plus libre et la dernière version freeze anyway. Quant à son fork, il faut mingw pour le compiler, hors, la, pas de bol je suis au taf sous windows, et pas du tout envie d'installer un autre compilo sur cette machine).
Quelqu'un sait s'il y a moyen de sélectionner plusieurs classes d'un coup afin de les ajouter au diagramme de classes? Parce qu'après l'import d'une arborescence (contenant un peu plus de 120 headers, qu'il a déjà fallu que j'aille chercher dans tous les sous-dossiers, tant qu'a faire) c'est assez pénible de les mettre dans le diagramme…
Question subsidiaire (pas encore cherché, pour le moment je me galère a ajouter les classes dans le diagramme): comment faire pour ne pas afficher les méthodes et les propriétés (variables membres)?
[Edit]
Bon, j'ai trouvé pour l'affichage «réduit» des classes, c'est classique en fait: soit ça se config dans les propriétés de l'élément, soit dans celles du diagramme. J'avais peur que ça ne soit un truc à la con, vu comment j'ai déjà galéré faire quoique ce soiy, y compris trouver ce damné treeview (qui n'est pas affiché par défaut au 1er lancement, non non).
# C'est utilisable ce truc ?
Posté par totof2000 . Évalué à 3.
Je me rappelle l'avoir essayé il y a quelques temps (à vue de nez je dirais il y a un peu plus d'un an), et j'en ai eu un mauvais souvenir : complètement inutilisable.
Si ça a changé, je veux bien repasser un peu de temps à le tester.
[^] # Re: C'est utilisable ce truc ?
Posté par freem . Évalué à 3.
À priori, il est utilisable, mais c'est un peu pénible:
J'ai aussi l'impression qu'il n'a pas sauvegardé le fichier sur lequel je bossais, ce qui m'agace un poil, mais j'ai peut-être fait une mauvaise manip, ou windows m'a trahit. Sur ce point, je n'ai pas d'éléments tangibles.
Je ne me suis pas encore essayé à la génération de code, et ne le ferais pas de toute façon: j'utilise surtout ce type d'outils pour démêler l'écheveau des relations dans du code sale, non documenté, inutilement complexe que je ne connais pas: parce que dans le cas contraire, un coup de doxygen suffit souvent.
# A propos de Bouml
Posté par Bruno Pagès (site web personnel) . Évalué à 3. Dernière modification le 01 septembre 2017 à 09:14.
Bouml est de nouveau libre d'utilisation, et je continue son développement, bonnes modélisations
Bruno
[^] # Re: A propos de Bouml
Posté par freem . Évalué à 2.
J'ai bien vu qu'il est de nouveau gratuit, mais comme je l'ai dit, lorsque j'essaie de reverser le code , le plugout freeze à 23%. Je n'ai pas vu d'indices qui pourraient me permettre de déterminer pourquoi, malheureusement.
[^] # Re: A propos de Bouml
Posté par Bruno Pagès (site web personnel) . Évalué à 2.
Pardon, je n'avais pas compris votre remarque à propos du freeze, j'ai cru que vous parliez du développement
Quelle version de bouml utilisez-vous et sous quel OS êtes vous ?
Vous pouvez m'envoyez à contact@bouml.fr une archive des sources à reverser que je puisse faire des essais ?
[^] # Re: A propos de Bouml
Posté par freem . Évalué à 2. Dernière modification le 01 septembre 2017 à 10:28.
Windows 7. Je ne me souviens plus de la version que j'avais installée, probablement la dernière mais un doute me prend, peut-être me suis-je trompé entre la 7 et la 7.1.
Je vais vérifier avec la 7.1 par acquis de conscience (je n'aime pas avoir des applications qui ne me sont pas utiles sur mes machines, du coup je l'ai supprimé).
Ça, ça ne vas pas être possible, malheureusement.
[Edit]
Je ne me suis pas trompé, le lien est simplement mauvais: sur le miroir, la version n'est pas la même que sur le 1er lien. Du coup j'étais avec la v7, je retente la 7.1.
[^] # Re: A propos de Bouml
Posté par Bruno Pagès (site web personnel) . Évalué à 2. Dernière modification le 01 septembre 2017 à 10:37.
Me dire seulement "ca bug" sans plus de détails cela ne va pas m'aider à corriger ;)
De quel reverse s'agit-t-il, C++ ?
Lorsque c'est bloqué est-ce que cpp_reverse (si c'est bien pour C++) est encore dans la liste des process ? si oui boucle-t-il ?
Vous ne pouvez pas réduire les sources à reverser (en copiant dans un/des autres(s) dossier et en retirant des dossiers/fichiers au fur et à mesure) pour pouvoir m'envoyer une version réduite des sources ?
P.S. je ne vais pas diffuser les sources que vous me fournirez pour essais, je ne pirate pas les logiciels, j'en diffuse un :-)
[edit] ah oui le lien vers bouml pour windows n'allait pas vers la 7.1 sur la page en Anglais, c'est corrigé[/edit]
[^] # Re: A propos de Bouml
Posté par freem . Évalué à 2. Dernière modification le 01 septembre 2017 à 10:46.
Évidemment :) je rédigeais un complément d'info, compte tenu du fait que je n'avais pas la bonne version. Le temps d'avoir plus d'infos.
Ce n'est pas la question, juste, c'est une clause de mon contrat. Je ne l'apprécie pas nécessairement, mais pas envie d'avoir d'emmerdes ;)
Ceci dit, je pense que mon complément d'info peut donner un indice pour reproduire. Bon, j'ai un peu de temps, je vais voir si c'est bien cette macro multiligne suivie d'un if.
[^] # Re: A propos de Bouml
Posté par freem . Évalué à 2.
Bon, voici un code minimal qui reproduit:
La définition de
class A{};
n'est pas nécessaire, c'est juste histoire que ce soit éventuellement compilable.PS: c'est pénible d'afficher par défaut le dossier d'installation de bouml. La racine C, j'aurai compris, mais je pense que le mieux aurait été le %HOMEDIR% ou $HOME (en fonction de l'os).
[^] # Re: A propos de Bouml
Posté par freem . Évalué à 2.
Freeze confirmé à 23%. Seul cpp_reverse.exe consomme du CPU (13%, sur un octocore, un cœur occupé à quasi 100% aka ~= 13*8… cet OS est vraiment ridicule, incapable d'indiquer intelligemment le temps consommé par un processus pfff), à vue de nez c'est une boucle infinie. Pas de malloc dans l'air, la mémoire reste stable.
Le maximum d'informations que j'ai le droit de donner (je ne suis pas sous windows pour le plaisir), c'est que le fichier qui semble être traité au moment du freeze est constitué à 100% de macros, y compris des macros multilignes.
En l'occurrence, la dernière ligne indiquée dans la trace est une macro dont la 2nde ligne commence par un if. Les macros multilignes précédentes ne présentent pas cette caractéristique.
Je ne vois pas comment donner plus d'infos (sans rompre de clauses dans mon contrat, je veux dire).
[^] # Re: A propos de Bouml
Posté par Bruno Pagès (site web personnel) . Évalué à 2.
si vous mettez le fichier en cause seul dans un répertoire provisoire et que vous lancez le reverse sur ce répertoire est-ce que cela reproduit le problème du reverse ?
si oui vous deviez pouvoir réduire le contenu du fichier (en coupant en 2 par essais successifs cela ira très vite) permettant de situer le problème, ensuite vous pouvez remplacer les identificateurs avec des xxx rendant le code non sensible ni utilisable autrement que pour me permettre de corriger le problème ;-)
[^] # Re: A propos de Bouml
Posté par Bruno Pagès (site web personnel) . Évalué à 1.
C'est bon, en lançant le reverse sur /usr/include (!) j'ai reproduit le problème
Merci pour votre aide, ce sera corrigé dans la prochaine version
[^] # Re: A propos de Bouml
Posté par freem . Évalué à 2.
Au pire, j'ai un code minimal posté un peu plus haut. Bon courage pour le fix.
[^] # Re: A propos de Bouml
Posté par Bruno Pagès (site web personnel) . Évalué à 2. Dernière modification le 01 septembre 2017 à 11:53.
Je peux reverser sans problème votre code, en tout cas sous Linux
Le code qui produit le problème dans mon cas est issu de socket.h et n'a rien à voir avec les macros :
C'est la phase de scan qui boucle
[^] # Re: A propos de Bouml
Posté par Bruno Pagès (site web personnel) . Évalué à 2.
Correction triviale, il manquait juste une détection de fin de fichier quelque part, la dernière forme dans mon cas n'étant pas une forme C++ standard (finissant par un ';' etc)
Je peux maintenant reverser /usr/include (produisant 12697 classes, 25270 attributes, 24277 relations et 2381 opérations !)
Je vais vous mettre une nouvelle version du reverse C++ pour Windows afin que vous puissiez me dire si cela corrige également votre cas que je ne peux pas le reproduire
[^] # Re: A propos de Bouml
Posté par Bruno Pagès (site web personnel) . Évalué à 2.
J'arrive bien à reproduire votre problème sous Windows, contrairement à ce qui se passe sous Linux
Ma correction est également valable pour votre cas, en attendant une version officielle vous pouvez remplacer vos exécutables avec les nouveaux :
[^] # Re: A propos de Bouml
Posté par freem . Évalué à 4.
Merci beaucoup. Je confirme, c'est réglé.
[^] # Re: A propos de Bouml
Posté par pralines . Évalué à 1.
chapeau bas pour la réactivité !
ça me rend triste que le paquet pour Archlinux soit "out of date" (v6.11.3-1 alors que pour les autres distributions on a des paquets en v7.1)
quelle serait la meilleure solution pour l'installer, compilation à partir des sources, utiliser les binaires d'une autre distrib ?
Envoyé depuis mon Archlinux
[^] # Re: A propos de Bouml
Posté par Bruno Pagès (site web personnel) . Évalué à 1.
Bonjour,
Ce n'est pas moi qui gère le paquet pour Archlinux, et vu que les sources des 5.x et 6.x n'étaient pas disponibles je ne comprends pas trop comment le paquet pour la v6.11.3 a bien pu être fait, à moins d'être parti de binaires que je produis pour une autre distribution comme vous sembliez le dire, mais dans ce cas laquelle ?.
Sur https://aur.archlinux.org/packages/bouml/ les liens vers les tar tombent dans le vide, comment faisiez-vous pour obtenir la version pour Archlinux ?
P.S. Pour se rendre compte qu'il y a des réponses ici il faut allez voir soit même, ce qui n'est vraiment pas pratique, je n'ai pas trouvé comment paramétrer mon compte pour recevoir un mail automatiquement, est-ce possible ?
[^] # Re: A propos de Bouml
Posté par pralines . Évalué à 1. Dernière modification le 02 septembre 2017 à 19:36.
je ne l'ai jamais installé, ce sont ces échanges qui m'ont donné envie d'essayer
l'install de la v6 ne fonctionne pas, trop tard pour moi donc…
j'ai essayé yaourt bouml
==> ERREUR : Erreur lors du téléchargement de https://github.com/funilrys/archlinux-bouml-src/archive/v6.11.3-64.tar.gz
Abandon…
cela dit, je suis preneur d'une solution (pour Archlinux)
Envoyé depuis mon Archlinux
[^] # Re: A propos de Bouml
Posté par Bruno Pagès (site web personnel) . Évalué à 1.
Je produis déjà 36 paquetages pour atteindre différents OS, différentes versions de ceux-ci, majoritairement en 64b et une douzaine en 32b, ce qui me prend une journée complète. Je verrais pour ArchLinux (en 64b) une fois que j'aurais livré la 7.1.1 qui corrige quelques bugs et ajoute le roundtrip Php
[^] # Re: A propos de Bouml
Posté par pralines . Évalué à 1. Dernière modification le 02 septembre 2017 à 19:52.
je ne crois pas qu'il soit possible d'être notifié par email, mais dans la FAQ du site il est fait mention de 2 solutions alternatives
Envoyé depuis mon Archlinux
[^] # Re: A propos de Bouml
Posté par freem . Évalué à 2.
Ça doit être possible avec le flux RSS, non? Un peu plus bas dans la page?
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.