heftyAD

huge, elegant, fast and transparent Algorithm Demystifier

L’auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Hello Zeste de savoir !

Je vous ai présenté sur ce forum un projet personnel, une application que j’ai nommée heftyAD et dont le but est de vulgariser les algorithmes. Je l’ai développée en parallèle de ma formation universitaire. L’aventure a été longue mais surtout très enrichissante. Ci-après le lien vers le wiki du projet : Wiki Git.

Merci à toutes les personnes ayant contribué à cette discussion.

Édité par misterFad

Mes projets personnels : heftyAD

+6 -0

Super projet !

Cet outil sera aussi bien utile pour les élèves que pour les profs. Fini de dessiner son graphe sur une feuille de papier user par les coups de gomme :p

Des screens que tu montres ça à l'air clair, intuitif, précis et pédagogique au possible.

Continue ainsi l'ami ;) !

Édité par Proktor

+1 -0
Auteur du sujet

Merci pour ces beaux commentaires. ;) Tout n'est pas encore parfait mais j'y travaille.

@Javier : Une matrice des arcs orientés ? Oui j'y ai pensé mais je n'ai pas trouvé ça très intuitif, surtout avec le nom des sommets en indice et les coups que l'on efface lorsqu'on en trouve un de meilleur. Mais bien sûr je suis d'accord avec toi une représentation sous forme de tableau pourrait être intéressante aussi.

De plus comme je l'avais dit, j'ai commencé à préparer la vidéo présentatrice du projet qui sera diffusée plus tard sur YouTube. Cela vous permettrait aussi de mieux comprendre ce que fait l'application, de voir comment heftyAD calcule le plus court chemin, et bien d'autres choses. Les algorithmes sur les automates seront aussi intégrés aisni qu'un système de jeu présenté plus haut.

Pour l'heure j'ai arrêté un peu de coder ; je dessine les icônes ainsi que le logo de l'application. Voici par exemple ce à quoi ressemble actuellement le logo. Ce n'est qu'un début ; je modifierais ensuite ce dessin fait à la main dans un outil approprié (Gimp ? PhotoShop ? etc).

un logo en cours

Donc si vous savez comment on modifie une image faite à la main sur ordinateur, je suis tout ouïe. Merci à vous. :)

Mes projets personnels : heftyAD

+0 -0
Auteur du sujet

Merci à vous !

@QuanticPotato: Merci pour cette remarque, c'est une erreur très bête. ;) C'est corrigé !

C'est l'une des parties non traduites de l'application.

Une capture d'écran

@LeB0ucEtMistere: Avec les logiciels que tu cites (et que je connais que de nom), peut-on dessiner des courbes comme pour les ailes d'un papillon par exemple ?

Merci bien.

Édité par misterFad

Mes projets personnels : heftyAD

+0 -0

Cette réponse a aidé l’auteur du sujet

Oui c'est le principe du dessin vectoriel, y'a pas plus adapté au dessin de logo car le principe c'est que tu dessines des courbes mathématiques (droites, splines, gaussiennes,…) donc je te le recommande fortement ;) je te laisse chercher sur internet et youtube, il y a une foule de tuto sur comment utiliser ces logiciels (ça change pas mal du dessin traditionnel quand même ^^)

+0 -0
Auteur du sujet

Merci pour ce tuyau. J'ai vu quelques tutoriels sur YouTube. Les logiciels sont vraiment intéressants. Mais pour arriver à faire quelque chose de potable, il est essentiel de les utiliser non pas occasionnellement mais très souvent. Du moins c'est ce que je pense d'après ce que j'ai vu. Je vais m'y mettre et espère pouvoir créer un beau logo.

Sinon Adobe Illustrator est écrit en C++, Inkscape en partie. Que dire donc ! Il faut vraiment que je termine heftyAD et bien. :)

Image utilisateur

Merci à vous et à très bientôt pour d'autres nouvelles. Avec toutes les icônes, le logo, sans oublier les logiciels de dessin que je ne connais pour l'instant que de nom, je pense que j'ai déjà pas mal de taff.

Édité par misterFad

Mes projets personnels : heftyAD

+0 -0
Auteur du sujet

Les logiciels de dessin vectoriel (Inkscape en particulier) sont vraiment impressionnants. Et dire que quasi tous mes amis à qui j'ai parlé de la création de logos m'ont orienté vers Gimp. ^^

Ce n'est pas encore top, étant donné que je découvre le logiciel. Mais j'espère y arriver. Sinon j'ai implémenté hier la fonctionnalité permettant d'éditer le texte affiché dans un état ou un sommet (vu que heftyAD les nomme automatiquement : 1, 2, 3, … ou bien A, B, C, …).

Mes projets personnels : heftyAD

+2 -0

Génial ! Ton programme à l'air super j'aimerais beaucoup pouvoir le tester (car Dijkstra sur le tableau à craie ça va un temps… :p). Continue ;-)

Mon projet : www.raidghost.com un hébergeur web gratuit sans publicité. Essayez-le !

+1 -0
Auteur du sujet

Salut Rem's, merci pour le commentaire. ;)

Pouvoir tester l'application ?

Pour ce qui est de pouvoir tester, j'avoue y avoir déjà pensé. Aussi, depuis le début, je comptais faire de heftyAD une application accessible à tout le monde. Mais puisque je suis étudiant, il est tout à fait compréhensible que je ne veuille pas me consacrer entièrement à sa réalisation, surtout que c'est ce que j'ai fait ce semestre et j'ai fini avec un ridicule 11 de moyenne. ^^ Afin donc de mieux me motiver à travailler dessus, je me disais que ce serait peut-être mieux si je pouvais la vendre à un prix s'élevant au maximum à 5 euros. C'est un chiffre que j'ai pris au hasard parce que pour moi c'est la limite idéale pour inciter une personne (un apprenant à fortiori) à acheter une application.

Mais bien sûr cela reste des suppositions : rien n'est sûr pour l'instant. Pendant ces vacances (qui arrivent bientôt à terme) je vais faire le maximum que je peux pour la rentrée. Je publierais ensuite la vidéo de présentation (qui sera à mon avis beaucoup plus qu'une démo) sur YouTube.

1ère version de Shadow dans heftyAD

Pour ce qui est de l'assistant dans l'application, celui qui sera l'ombre de l'utilisateur dans son apprentissage des algorithmes (Shadow), mais aussi pendant les phases de jeu (challenge), voici ce à quoi je pense pour l'instant :

Une première version de l'assistant Shadow

Je me demande si c'est une bonne idée de procéder ainsi ou bien faudra-t-il carrément que j'aille chercher un outil de modélisation tel que Blender pour le réaliser ? Pour l'heure j'ai juste dessiné sur papier puis retracer les contours essentiels (pas tous car sinon trop compliqué) dans Inkscape.

Édité par misterFad

Mes projets personnels : heftyAD

+0 -0
Auteur du sujet

Hello !

Est-il normal que tous les commentaires que nous avons écrit aient disparu. Aussi, depuis hier, je n'ai pas pu me connecter à ce site et mon PC m'indique que le site possède un certificat de sécurité qui n'est pas fiable. What's going wrong ?

Mes projets personnels : heftyAD

+0 -0
Auteur du sujet

@Arius: Ah je n'avais pas compris cela. ;)

@ux autres, par rapport à vos précédents commentaires Comme vous l'avez probablement déjà lu, nos précédents commentaires sont perdus et il semble que cette perte est définitive. Pour ceux donc qui n'auraient pas pu lire ma réponse, je vous la résume en quelques lignes.

Au début je comptais faire de heftyAD une application gratuite. Mais des profs ayant clairement exprimé leurs intérêts pour l'application, et des amis m'ayant même suggéré de la vendre ^^ , j'ai commencé à hésiter. Mais il est clair qu'au vu de vos arguments et de ceux évoqués dans ma réponse à vos commentaires, il est bien plus facile et plus rentable pour moi de la rendre gratuite comme je le pensais.

Je publierais donc les exécutables sur ce compte git. Pour l'instant il est vide mais il sera étoffé d'ici là. Vous serez alors averti en temps et en heure. Je suis en train d'apporter quelques modifications en interne. Voici quelques nouveautés : l'intégration de l'assistant (Shadow) et la réécriture du texte entre autres.

avancée 1

Avancée 2

Je vous tiendrais au courant dès que les exécutables seront près. Et en attendant si vous éventuellement vous avez une remarque, surtout n'hésitez pas.

Mes projets personnels : heftyAD

+0 -0

C'est pas tant gratuit, que "ouvert" en fait. (effectivement, dommage que les arguments aient disparus…).

Gratuit pourquoi pas, à la rigueur peu importe. Par contre donner le code pour que des gens puissent regarder comment tu as fait, et surtout t'aider à améliorer ton logiciel, ou en reprendre des petits bouts parce qu'ils n'ont pas besoin de tout, t'aider à corriger des bugs, … Ça, ça risque de "te faire de la pub".

Donc en gros, c'est pas les exécutables qu'il faut mettre sur GitHub, ça ne te fera pas de (bonne) publicité, mais le code source (mets les exécutables aussi si tu veux distribuer facilement le logiciel). Sans le code source, certes les gens trouveront ton logiciel, mais tu perds beaucoup beaucoup des intérêts que j'avais cités dans mon message perdu.

Si tu as peur qu'on te "vole", sache que certaines licences peuvent te permettre de protéger ton code contre des utilisations (commerciales par exemple, ou non). Ce n'est donc pas un "bon" argument :)

Bon courage, bonne continuation.

Happiness is a warm puppy

+0 -0
Auteur du sujet

Je te remercie pour ce commentaire très intéressant. :)

Il est clair qu'un projet rendu public et où tout le monde peut contribuer ne peut avoir que du succès. Les preuves évidentes sont Linux, Inkscape, OpenOffice et j'en passe.

Cependant, mise à part la création d'interface graphique Qt, j'ai appris les principales fonctionnalités implémentées dans heftyAD entre début avril et aujourd'hui. Autrement dit, je découvrais les fonctionnalités tout en essayant de les intégrer au mieux dans l'application. Cette remarque est tout aussi valable pour le C++ que j'ai appris sur le tas. Et par fonctionnalités je désigne essentiellement

  • les vues Qt que je ne connaissais pas : pour dessiner les graphes et les automates à la souris
  • ainsi que les threads Qt : pour réaliser des animations lorsque l'algorithme de Dijkstra s'exécute par exemple.

En conséquence, le code source n'est pas très propre et nécessite certainement une réécriture. Je me dis donc que publier un code que tout le monde peut facilement critiquer n'est peut-être pas une bonne idée. Pour information, voici une capture d'écran du dépôt git actuel du projet mais il est privé.

Compte git actuel qui est privé - donc moi seul y est accès

Pour ce qui est des licences, je n'y connais pas grand chose. J'ai cherché sur internet et ai trouvé pas mal d'informations. Mais aucune des licences que j'ai trouvées ne semble empêcher l'usage commercial de l'application par autrui (sauf les Creatives Commons mais j'ignore si on peut l'appliquer à un logiciel). ^^

Édité par misterFad

Mes projets personnels : heftyAD

+0 -0

Ça mériterait un topic à part pour trouver la licence qui te conviendrait le mieux :) (notamment à l'aide des licences françaises : CECILL peut-être ?).

Pour ce qui est du code, il te suffit de l'expliquer dans le README.md. Et plutôt voir ça dans le bon sens :) Tu es débutant et plus ou moins autodidacte, c'est normal que tu produises un code de débutant qui pourrait être repris. Si quelqu'un te dit que c'est mal écrit, demande lui pourquoi. S'il te répond tu progresseras, s'il te "snob" et est condescendant c'est que c'est un abruti. Ca s'arrête là !

Happiness is a warm puppy

+1 -0

Malheureusement, les CeCIll ont exactement les mêmes clauses que (respectivement) la GPL, la BSD et la LGPL, donc pas de protection contre l'utilisation commerciale. Les BiPu proposent quelques variantes avec clause non-commerciale, mais elles excluent explicitement le logiciel. Quant aux CC, même si le nom est trompeur, elles bloquent bien plus que les utilisations commerciales, et ne sont pas vraiment conçues pour le logiciel.

À ma connaissance, il n'y a pas de licence logicielle qui inclue une telle clause (c'est un peu tabou, le non commercial, dans le monde du logiciel libre). Il faudrait sans doute en créer, en prenant la CeCIll pour base. Mais si ça vous intéresse, faudrait ouvrir un nouveau sujet, dans « Autres savoirs ».

#JeSuisGrimur #OnVautMieuxQueÇa

+1 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

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