IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Débats sur le développement - Le Best Of Discussion :

Qu’est ce qui fait la beauté d’un logiciel ?


Sujet :

Débats sur le développement - Le Best Of

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Chroniqueur Actualités
    Avatar de Michael Guilloux
    Homme Profil pro
    Data Consultant
    Inscrit en
    Juillet 2013
    Messages
    2 976
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Data Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 2 976
    Billets dans le blog
    2
    Par défaut Qu’est ce qui fait la beauté d’un logiciel ?
    Qu’est ce qui fait la beauté d’un logiciel ?
    D’après un bloggeur, cela n’a rien à avoir avec la technologie et la beauté du code source

    On a l’habitude de discuter de la beauté d’un code ou d’une architecture logicielle. Mais il s’agit d’un aspect que ne voit pas l’utilisateur final pour lequel le logiciel est développé. Suite à plusieurs débats interminables sur ce sujet, on peut résumer que la beauté d’un code peut être définie par plusieurs critères. On peut rappeler entres autres, la clarté du code, le style d’écriture c’est-à-dire le nommage, l’utilisation intensive ou limitée de commentaires, les espaces, etc. Certains développeurs associent parfois la beauté du code à la performance. Bref, il s’agit d’une appréciation subjective qui est souvent liée à la technologie utilisée, mais là encore il s’agit d’un aspect que les utilisateurs finaux ignorent totalement.

    Ce que les utilisateurs finaux voient, c’est l’interface utilisateur. Et ce qu’ils peuvent apprécier, c’est la convivialité du logiciel, comment est-ce qu’il leur permet de résoudre leurs problèmes et combien agréable c’est d’interagir avec le logiciel. Si les codeurs ont un penchant pour le code, c’est le logiciel qui compte pour les utilisateurs. Il est alors important de se demander ce qui caractérise un logiciel capable d’emballer les utilisateurs, étant donné que c’est par leur appréciation que l’on peut définir le succès du logiciel.

    Pour le bloggeur Ole Lensmar, un beau logiciel est difficile à caractériser mais c’est quelque chose qui doit respecter les critères d’intégrité, d’utilisabilité et d’innovation.

    « Un beau logiciel résout un problème, et il le fait mieux que tout autre », a écrit Lensmar. L’intégrité veut que le logiciel soit sans relâche fidèle à son objectif, c’est-à-dire le problème à résoudre. Il ne doit s’écarter ni à gauche, ni à droite pour flirter avec d’autres fonctionnalités. Il doit également rester fidèle à son « ton » avec l’utilisateur.

    Selon le bloggeur, « un beau logiciel vous enseigne la danse, même si vous êtes nouveau à la musique ». Il dit cela pour faire allusion à l’utilisabilité. En d’autres mots, le logiciel doit être capable de guider l’utilisateur à travers les tâches à accomplir sans aucune ambiguïté, tout « en minimisant les risques d’un malentendu ou une mauvaise utilisation de ses fonctionnalités ». Il simplifie l’utilisation pour les utilisateurs moyens, mais permet également aux utilisateurs avancés d’exploiter son plein potentiel sans aucun problème.

    En ce qui concerne l’innovation, Lensmar ne parle de nouvelles fonctionnalités comme on pourrait toute de suite le penser. Pour lui, un beau logiciel n'a pas peur de résoudre les problèmes dans de nouvelles façons. Autrement dit, il doit être flexible de sorte à permettre à l’utilisateur de résoudre un problème d’une manière différente de la façon dont il résout habituellement le problème. Cela doit être le genre de logiciel capable d’ouvrir les yeux de l’utilisateur sur de nouvelles opportunités, qui existaient déjà mais dont l’utilisateur n’était pas au courant.

    Une chose est de définir ce qu’est un beau logiciel, mais c’en est une autre de pouvoir en arriver là. Pour Ole Lensmar, la technologie et la qualité du code ne suffisent pas pour créer un beau logiciel. Ce qu’il faut, c’est « une véritable vision du produit, nourrie par son créateur, le propriétaire du produit et l'équipe produit », et cela ne peut pas être exprimé dans un carnet de commandes ou traduit par une expression de besoins des utilisateurs. Le développeur doit aimer ses utilisateurs et investir dans leur interaction avec le logiciel.

    Source : Smartbear

    Et vous ?

    Qu’en pensez-vous ?

    Qu’est-ce qu’un beau logiciel ? Quelle est la place de la technologie et la qualité du code dans la création d’un beau logiciel ?
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 10
    Par défaut Un beau logiciel ?
    Effectivement, si on se place du côté du développeur ou de celui de l'utilisateur, on aura certainement une définition différente de ce qu'est un beau logiciel. Je suis développeur mais j'ai été sensibilisé (et essaie de le resté) à l'aspect pratique de ce que je développe vis à vis de l'utilisateur final. Après tout, c'est pour ce dernier que je travaille (et aussi pour gagner de l'argent si on se veux plus bassement terre à terre).

    Mais un autre aspect doit-être pris en considération. Les clients pour qui je travaille on souvent des demandes d'évolutions, il peut aussi y avoir des bugs (personne n'est parfait). Et je ne suis pas forcément disponible (vacances, déplacement...). Il faut donc que le code soit lisible, facilement compréhensible pour quiconque aurait à le maintenir. C'est un aspect extrêmement important il me semble.

  3. #3
    Membre très actif
    Avatar de landry161
    Homme Profil pro
    C#,PHP,MySQL,Android...
    Inscrit en
    Juillet 2010
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : C#,PHP,MySQL,Android...

    Informations forums :
    Inscription : Juillet 2010
    Messages : 423
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Amnésix Voir le message
    Effectivement, si on se place du côté du développeur ou de celui de l'utilisateur, on aura certainement une définition différente de ce qu'est un beau logiciel. Je suis développeur mais j'ai été sensibilisé (et essaie de le resté) à l'aspect pratique de ce que je développe vis à vis de l'utilisateur final. Après tout, c'est pour ce dernier que je travaille (et aussi pour gagner de l'argent si on se veux plus bassement terre à terre).

    Mais un autre aspect doit-être pris en considération. Les clients pour qui je travaille on souvent des demandes d'évolutions, il peut aussi y avoir des bugs (personne n'est parfait). Et je ne suis pas forcément disponible (vacances, déplacement...). Il faut donc que le code soit lisible, facilement compréhensible pour quiconque aurait à le maintenir. C'est un aspect extrêmement important il me semble.
    Très important

  4. #4
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 532
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 532
    Par défaut
    bonsoir j'ai remodifié mon message.

    Citation Envoyé par Michael Guilloux Voir le message
    Qu’est-ce qu’un beau logiciel ? Quelle est la place de la technologie et la qualité du code dans la création d’un beau logiciel ?
    Affirmer qu'un logiciel est beau ça peut peut-être s'appliquer à des jeux vidéos ou des logiciels de création de paysage comme Bryce3d avec une interface utilisateur "design"

    maintenant la "beauté d'un logiciel" peut se caractériser par la manière dont on transcende le génie et l'intelligence humaine.
    Moi ce qui me motive à faire un logiciel c'est de le construire comme une montre avec un mécanisme d'horloge suisse c.a.d. avec des modules qui s'interconnectent entre eux intelligemment , qui sont fonctionnels.
    Par exemple comme la la machine d'anticythère pour extrapoler...

    Citation Envoyé par Amnésix Voir le message
    Effectivement, si on se place du côté du développeur ou de celui de l'utilisateur, on aura certainement une définition différente de ce qu'est un beau logiciel. Je suis développeur mais j'ai été sensibilisé (et essaie de le resté) à l'aspect pratique de ce que je développe vis à vis de l'utilisateur final. Après tout, c'est pour ce dernier que je travaille (et aussi pour gagner de l'argent si on se veux plus bassement terre à terre).
    paroles sensées...qui résument ma pensée...
    Citation Envoyé par sazearte Voir le message
    L'utilisateur final déteste se qui n'est pas universelle.
    remarque très pertinente que j'aime bien lire....
    si l'utilisateur final déteste ce qui n'est pas universel ( et générique ) c'est que le le logiciel a soit été mal pensé, correspond mal aux besoins des utilisateurs...contrairement à des outils comme Word, Excel très simples à utiliser.
    Bref les projets "non universels" c'est peut-être la vision romantique des directeurs de services informatiques qui veulent "leur" projet informatique, une SSII arrive et développe ce projet et les utilisateurs disent "bof à quoi ça sert ? "
    Citation Envoyé par lankoande Voir le message
    La beauté c'est quelque chose de subjective, c'est comme le goût.
    tout à fait exact.J'a déjà eu un sujet de philo dans ce genre au baccalauréat.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2011
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 79
    Par défaut
    Cela me fait repenser à une citation de Marcel Dassaut : "Si il est beau, il volera bien !".

    De mon point de vue :
    Il est très important de soigner l'IHM, même pour un logiciel "simple". Cela met en confiance l'utilisateur et il sera + tolérant avec les nouvelles contraintes d'utilisation
    que le soft peut engendrer (essayez par exemple de déloger un collègue qui a toujours fait du Fortran depuis 20 ans pour l'envoyer sur Matlab...

    L'utilisateur voit l'extérieur du soft. Pour l'intérieur, c'est au développeur de se débrouiller, par n'importe quel moyen. Evidemment, cela n'empêche pas de coder avec
    pertinence et prendre en compte les évolutions potentielles, les mises à jour, les corrections de bugs... mais ce n'est pas le problème de l'utilisateur !

    Dans mes premiers développements, je m'attachais aux fonctionnalités, peu ou pas à l'IHM. Puis j'ai été confronté à des clients (au sens business) qui utilisaient un produit
    développé par ma boite (pilotage de vérins hydrauliques + acquisition de données, le tout sous DOS): 90% des remarques étaient liées à l'IHM, les 10% restant à des performances
    et/ou fonctionnalités Hard. Le hard avait été bien pensé, pas l'IHM. Nous avons rapidement corrigé le tir sur l'IHM : explosion des ventes ! Aujourd'hui encore, certains logiciels
    tournent encore (si si !) et les clients reconnaissent que "ça avait de la gueule pour du DOS !"

    Nous avions une chance dans notre boite : un débogueur fou ! Un collègue spécialiste des manips foireuses à la souris, en mixant les clics et les touches, les mouvements
    de fenêtre dans des endroits improbables, tout en appuyant sur les touches pourries, genre ESC... Il nous en a trouvé pas mal !

    Pour la version Windows, nous avons lancé un sondage chez tous nos clients avant d'attaquer le développement : encore une fois, 90% des remarques concernaient l'IHM.

    Depuis, j'essaye de "penser" comme un utilisateur avant de coder : qu'attend-il du logiciel ? comment lui simplifier la vie ? Quelles sont les évolutions possibles qu'il demandera ?
    C'est imparable.

    Un beau logiciel est un logiciel qui fonctionne bien, robuste et qui répond au cahier des charges.

    Ce n'est que mon avis !!!

  6. #6
    Inactif  

    Homme Profil pro
    NR
    Inscrit en
    Juin 2013
    Messages
    3 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : NR
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2013
    Messages : 3 715
    Billets dans le blog
    9
    Par défaut
    L'utilisateur final déteste se qui n'est pas universelle.

    Les logiciels qui n'ont pas un thème classique par rapport l'os (Nvidia GeForce Experience par exemple), sa agace l'utilisateur.

    Moins c'est exotique (l'interface graphique ou les ligne de commande a rentrer), plus c'est beau. C'est ma définition.

    Chez Apple ils l'ont bien compris, l'interface de MacOS n'a pas énormément changée en 10ans.

  7. #7
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    508
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 508
    Par défaut
    Qu’en pensez-vous ?
    • Cela existe la beauté d'un logiciel ? Je croyais que c'était un myth de développeur (:p)
    • Du peu d'experience que j'ai a partir de N+1 ou N+2 vers l'infini, ils en ont rien a f***re de la qualité logiciel. C'est le temps et le cout de developpement.
    • J'ai deja vu des logiciels qui implantaient des design Pattern juste pour que ce soit jolie. Mais au final, cela servait a rien.



    Qu’est-ce qu’un beau logiciel ? La technologie et la qualité du code ont-elles vraiment une place dans la création d’un beau logiciel ?
    • Je pense que la qualité d'un code n'est pas donne a tout le monde. C'est comme un sabre, il faut beaucoup de pratique et de pragmatique. Dans le monde de l'entreprise, le temps est un bien précieux. La plupart du temps (Ce n'est pas vrai partout) on corrige plus de bugs qu'on développe.


    Apres tout le monde le sait, l'utilisateur regarde juste l'interface graphique ou si il va cliquer de la meme facon que sont autre logiciel p****ri (un bouton de plus ou de moins, va le destabilise).

  8. #8
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 771
    Par défaut
    Citation Envoyé par koyosama Voir le message
    Apres tout le monde le sait, l'utilisateur regarde juste l'interface graphique ou si il va cliquer de la meme facon que sont autre logiciel p****ri (un bouton de plus ou de moins, va le destabilise).
    Et pourtant si

    Imagines, tu utilises un logiciel et il y a 2 boutons: "Sauvegarder" et "Exporter"

    Ou inversement, il n'y a que "Rechercher", mais toi tu veux "Rechercher et Remplacer" ("Remplacer" est une option de "Rechercher")

  9. #9
    Membre extrêmement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par défaut
    pff..

    Si les utilisateurs avaient réellement du gout, le sens de l'esthétique et de la qualité, ça se saurait.
    et ce n'est uniquement pour le monde des logiciels que cette "grande question" se pose...

  10. #10
    Membre très actif Avatar de bruneltouopi
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 308
    Par défaut
    Un beau logiciel repond d'abord aux fonctionnalités puis l'ergonomie ensuite la facilité d'exécution des tâches. Lorsque l'utilisateur retrouve 80% de cela alors pas de souci

  11. #11
    Membre très actif
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 614
    Par défaut
    Est ce que quelqu'un a un lien vers un post de blog d'un ingénieur méca présentant le concept d'une "belle machine à laver" ? Ou un menuisier posant les fondation de ce qu'est une "belle scie sauteuse" ? Sérieux, quand on bosse dans l'IT on n'a tellement rien à dire qu'on ouvre un sujet sur la définition d'un "beau logiciel" ? Un logiciel est un outil, on s'intéresse réellement à la "beauté" d'un outil ? À la rigueur, ça se trouve dans les objets qui trônent dans notre salon (disons B&O) ou dans le bureau (un bureau avec un iMac a quand même plus la classe qu'avec une boite en plastic cheap :p ) mais un logiciel une fois qu'on ne s'en sert plus, on ne le voit plus... Enfin, je ne sais pas, certains le laissent peut être actif parce qu'il est Bô...

  12. #12
    Membre confirmé

    Homme Profil pro
    Mâle reproducteur chez Amazon
    Inscrit en
    Mars 2006
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Mâle reproducteur chez Amazon

    Informations forums :
    Inscription : Mars 2006
    Messages : 208
    Par défaut
    Citation Envoyé par martopioche Voir le message
    Est ce que quelqu'un a un lien vers un post de blog d'un ingénieur méca présentant le concept d'une "belle machine à laver" ? Ou un menuisier posant les fondation de ce qu'est une "belle scie sauteuse" ? Sérieux, quand on bosse dans l'IT on n'a tellement rien à dire qu'on ouvre un sujet sur la définition d'un "beau logiciel" ? Un logiciel est un outil, on s'intéresse réellement à la "beauté" d'un outil ? À la rigueur, ça se trouve dans les objets qui trônent dans notre salon (disons B&O) ou dans le bureau (un bureau avec un iMac a quand même plus la classe qu'avec une boite en plastic cheap :p ) mais un logiciel une fois qu'on ne s'en sert plus, on ne le voit plus... Enfin, je ne sais pas, certains le laissent peut être actif parce qu'il est Bô...
    +1
    Un jour, j'ai vu un trick génial dans un code J2SE. Mais c'est invisible pour l'utilisateur. Regardez le code de la page d'accueil Google. Vous voyez le moindre commentaire? Et puis, un code en assembleur sera beaucoup plus efficace qu'un code en Java. Mais l'assembleur, je trouve pas ça très beau... Enfin, après, les goûts et les couleurs....

  13. #13
    Membre expérimenté
    Avatar de vinmar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2012
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Août 2012
    Messages : 139
    Par défaut
    Citation Envoyé par martopioche Voir le message
    Est ce que quelqu'un a un lien vers un post de blog d'un ingénieur méca présentant le concept d'une "belle machine à laver" ? Ou un menuisier posant les fondation de ce qu'est une "belle scie sauteuse" ? Sérieux, quand on bosse dans l'IT on n'a tellement rien à dire qu'on ouvre un sujet sur la définition d'un "beau logiciel" ? Un logiciel est un outil, on s'intéresse réellement à la "beauté" d'un outil ? À la rigueur, ça se trouve dans les objets qui trônent dans notre salon (disons B&O) ou dans le bureau (un bureau avec un iMac a quand même plus la classe qu'avec une boite en plastic cheap :p ) mais un logiciel une fois qu'on ne s'en sert plus, on ne le voit plus... Enfin, je ne sais pas, certains le laissent peut être actif parce qu'il est Bô...
    C'est ce qu'on appelle le design :

    Le design est la création d’un projet en vue de la réalisation et de la production d’un objet (produit, espace, service) ou d’un système, qui se situe à la croisée de l’art, de la technique et de la société.
    Source : https://fr.wikipedia.org/wiki/Design

    Un logiciel est un outil, on s'intéresse réellement à la "beauté" d'un outil ?
    J'en vois des exemples tous les jours : une belle voiture (qui peut-être considérée comme un outil), une scie sauteuse avec une poignée ergonomique et une belle gueule, un stylo, un bleu de travail, etc. C'est ce qui te pousse à acheter telle ou telle marque.

    La beauté d'un logiciel se définie peut-être en fonction des yeux au travers desquels il est vu.

    Pour ma part, je suis développeur et j’exècre les logiciels moches au niveau de l'interface utilisateur même si le code est propre. Tu auras beau avoir un chassie de Porche, si tu a la carrosserie d'une Traban, ce ne sera pas beau.

    Qu’est-ce qu’un beau logiciel ? Quelle est la place de la technologie et la qualité du code dans la création d’un beau logiciel ?
    Un logiciel est beau lorsqu'il répond au besoin + accompagné d'un design [voir définition plus haut] qui apporte une vraie plus value + un code stable, solide et conforme aux règles utilisée par l'équipe qui le développe => comme ça tout le monde est content à son niveau.

    Et comme dit lankoande : "On ne pourra jamais s'entendre, c'est trop subjectif."

  14. #14
    Membre Expert
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 149
    Par défaut
    L'utilisateur ne voit pas un logiciel mais un produit.
    Cela change tout...

    On ne s'émerveille pas devant la motorisation d'une voiture (bien que) ou bien de son système d'air conditionné.
    Par contre on s'émerveille du rendu final et de son utilisation.

  15. #15
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Par défaut
    Citation Envoyé par shaynox Voir le message
    Alors, mais à quoi bon faire tout ce micmac pour au final n'avoir qu'un logiciel ... tout ça pour n'avoir que cette récompense -_-
    Citation Envoyé par transgohan Voir le message
    L'utilisateur ne voit pas un logiciel mais un produit.
    Ce sont souvent les petites choses (comme du code bien écrit et un bon environnement de travail) qui font parfois la différence entre un bon développeur qui reste dans la boite, et un bon développeur qui se barre en se disant "de toute façon, c'est partout pareil alors je vais dans cette boite car le salaire est meilleur / ça fera bien sur mon CV...".

    Et parfois, il se barre au pire moment (ex. quand on est sur le point de démarrer un gros projet) et on n'arrive pas à le remplacer au pied levé.

    Et sans bon développeur, pas de bon produit...

    Citation Envoyé par transgohan Voir le message
    On ne s'émerveille pas devant la motorisation d'une voiture (bien que) ou bien de son système d'air conditionné.
    Par contre on s'émerveille du rendu final et de son utilisation.
    C'est justement ce soucis du détail qui fait la différence entre un bon et un mauvais produit.
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  16. #16
    Membre Expert
    Avatar de e-ric
    Homme Profil pro
    Apprenti chat, bienfaiteur de tritons et autres bestioles
    Inscrit en
    Mars 2002
    Messages
    1 568
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Apprenti chat, bienfaiteur de tritons et autres bestioles

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 568
    Par défaut
    Pour répondre à la question: l'emballage des CD et la pub
    Pour ça, j'aime bien WinDev


    ( une deuxième fois, c'est pas une attaque sur le produit mais il y a toujours des sacrés photos)

    M E N S . A G I T A T . M O L E M
    Debian 64bit, Lazarus + FPC -> n'oubliez pas de consulter les FAQ Delphi et Pascal ainsi que les cours et tutoriels Delphi et Pascal

    "La théorie, c'est quand on sait tout, mais que rien ne marche. La pratique, c'est quand tout marche, mais qu'on ne sait pas pourquoi. En informatique, la théorie et la pratique sont réunies: rien ne marche et on ne sait pas pourquoi!".
    Mais Emmanuel Kant disait aussi : "La théorie sans la pratique est inutile, la pratique sans la théorie est aveugle."

  17. #17
    Membre très actif
    Avatar de LeoBeutel
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 139
    Par défaut
    Honnêtement, pour moi la beauté (interface) d'un logiciel c'est pas ce qu'il y a de vraiment d'important.

    A la limite si on me demande ce qui faut absolument faire pour avoir un bon logiciel prêt à être "commercialiser", c'est sa simplicité d'utilisation et ses fonctionnalités. Le reste, c'est du détail.

  18. #18
    Membre Expert

    Profil pro
    Inscrit en
    Septembre 2013
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 639
    Par défaut
    Le plus important c'est le marketing et la pub.

    Un logiciel génial mais mal vendu, ce sera un flop et personne ne saura qu'il existe.

    Un logiciel qui fait la même chose en pourri, avec un bon marketing et une bonne pub, fera gagner le jackpot.

    EDIT : et la "joliesse" d'une interface graphique, ça fait partie du marketing.

  19. #19
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 047
    Par défaut
    Est ce que quelqu'un a un lien vers un post de blog d'un ingénieur méca présentant le concept d'une "belle machine à laver" ? Ou un menuisier posant les fondation de ce qu'est une "belle scie sauteuse" ? Sérieux, quand on bosse dans l'IT on n'a tellement rien à dire qu'on ouvre un sujet sur la définition d'un "beau logiciel" ? Un logiciel est un outil, on s'intéresse réellement à la "beauté" d'un outil ? À la rigueur, ça se trouve dans les objets qui trônent dans notre salon (disons B&O) ou dans le bureau (un bureau avec un iMac a quand même plus la classe qu'avec une boite en plastic cheap :p ) mais un logiciel une fois qu'on ne s'en sert plus, on ne le voit plus... Enfin, je ne sais pas, certains le laissent peut être actif parce qu'il est Bô...
    D'accord mais c'est ce qui explique que certains informaticiens sont incompris de leurs uilisateurs.
    ils ont fait un beau code mais ca répond pas au besoin. c'est pas grave c'est beau

  20. #20
    Invité
    Invité(e)
    Par défaut
    Beau code ? hmm

    Pouvez-vous donnez vos conceptions de beaux codes par des exemples, bien beau de parler d'art de programmation, mais je doute que tous aient une notion commune x) (langage web )

    Perso je me pencherais plus vers:
    - le squelette du code, comment il tient debout
    - son workspace
    - sa compilation
    - ses dépendances (trop = très mauvais )
    - certains tours de passe-passe permettant de raccourcir le code
    - organisation des instructions (asm/c/c++/...) du code pour l'aérer lors de sa lecture (alignement de bloc d'instru par colonne, isolation de bloc de code en mini fonction si possible, ...)
    - documentations inline dans le code
    - Et un peu d'art-ascii pour "habiller" le code
    - Et enfin une un peu de couleur dans le code, après tout un tableau en couleur est plus beau/vivant qu'un en noir et blanc.

    skeleton:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    close loop
    {
        if (keyboard(z, q, s, d, alt, ²) or mouse(right_click + move_mouse)) is active, then
        {
            if msg = (alt + ²)                 , then quit the close loop
            if msg = (z, q, s, d)              , then move   the camera
            if msg = (right_click + move_mouse), then rotate the camera
    
            clear  the screen
            update the scene(object) (by applying object rotation/movement and camera rotation/movement      )
            update the screen        (by project the scene into the array_screen through perspective equation)
            show   the screen        (by send the array_screen to the screen                                 ) 
        }
    
        show the frame per second
    }
    
    quit the program
    workspace:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    HackEngine:
    |Headers:
    ||library:
    ||- ASM_library.h
    ||
    ||source:
    ||- source_def.h
    ||- source_macro.h
    ||
    ||WinAPI:
    ||- WinAPI_def.h
    ||- WinAPI_macro.h
    ||
    ||- function_ext.h
    |
    |Resources:
    ||custom_exe:
    ||help:
    ||obj3D:
    ||screenshot:
    |
    |Sources:
    ||data:
    ||- scene.asm
    ||- values.asm
    ||
    ||garbage:
    ||
    ||update_scene:
    |||camera:
    |||- 1-manage_camera.asm
    |||- 2-manage_camera.asm
    |||- 3-manage_camera.asm
    |||
    |||object:
    |||- 1-manage_object.asm
    |||- 2-manage_object.asm
    |||
    |||scene:
    |||- 1-manage_scene.asm
    |||- 2-manage_scene.asm
    ||
    ||update_screen:
    ||- update_screen.asm
    ||
    ||- create_obj.asm
    ||- manage_event.asm
    ||- source_function.asm
    ||- WinAPI_function.asm
    |
    |- source.asm
    |- readme.txt
    compilation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    nasm -f win64 1.ASM/HackEngine/source.asm
    gorc /o /machine x64 1.ASM/HackEngine/Resources/custom_exe/custom_exe.rc
    golink /console /entry start 1.ASM/HackEngine/source.obj 1.ASM/HackEngine/Resources/custom_exe/custom_exe.obj C:\Windows\System32\kernel32.dll C:\Windows\System32\user32.dll C:\Windows\System32\gdi32.dll C:\Windows\System32\msvcrt.dll C:\Windows\System32\winmm.dll
    dépendances :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    kernel32.dll
    user32.dll
    gdi32.dll
    msvcrt.dll
    winmm.dll
    aeration du code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
            start:
           ;{
                mov     [instance]         , rcx
                mov     [previous_instance], rdx
                mov     [cmd_line]         , r8
                mov     [cmd_show]         , r9d
    
                LoadImageA_     0, "data\Hackengine_logo.ico", IMAGE_ICON, 0, 0, LR_LOADFROMFILE
                mov             [init_windows.icon_program], rax
    
                system_     "color 0A"
                system_     "title HackEngine"
    
                ; Set personalize resolution
                    mov     [float_length], f32(1203.0)
                    mov     [float_width ], f32(899.0)
                    mov     [int_length  ], i32(1203)
                    mov     [int_width   ], i32(899)
    
                call_   set_info_screen, init_windows
    
                .l1:
               ;{
                    call_   windows_event, show_fps
               ;}
                jif  [quit] ,=, i32 false, .l1
    
                system_     "echo DONE"
    
                ret
           ;}
    documentations inline:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
            func:
           ;{
                ;=============================================================================================.
                ; Name    : func(...)                                                                        ;|
                ; Purpose : None                                                                             ;|
                ; Input   : None                                                                             ;|
                ; Output  : None                                                                             ;|
                ; Destoy  : None                                                                             ;|
                ; Define  : None                                                                             ;|
                ; Data    :                                                                                  ;|
                            [section .data]                                                                  ;|
                           ;{                                                                                ;|
                                    ; None                                                                   ;|
                           ;}                                                                                ;|
                            [section .code]                                                                  ;|
                ;=============================================================================================.
               ;{                                                                                            ;|
                    ; Code                                                                                   ;|
               ;}                                                                                            ;|
                ;=============================================================================================.
                ; / func                                                                                      |
                ;=============================================================================================.
    
                ret
           ;}
    art-ascii:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    ;==========================================================================================================================================================================================================
    ; HEADER      HEADER      HEADER      HEADER      HEADER      HEADER      HEADER      HEADER      HEADER      HEADER      HEADER      HEADER      HEADER      HEADER      HEADER      HEADER      HEADER
    ;==========================================================================================================================================================================================================
    ;{
            %include    "1.ASM\HackEngine\Headers\source\source_def.h"
            %include    "1.ASM\HackEngine\Headers\source\source_macro.h"
            %include    "1.ASM\HackEngine\Headers\WinAPI\WinAPI_def.h"
            %include    "1.ASM\HackEngine\Headers\WinAPI\WinAPI_macro.h"
            %include    "1.ASM\HackEngine\Headers\library\ASM_library.h"
            %include    "1.ASM\HackEngine\Headers\function_ext.h"
    ;}
    ;==========================================================================================================================================================================================================
    ; END_HEADER      END_HEADER      END_HEADER      END_HEADER      END_HEADER      END_HEADER      END_HEADER      END_HEADER      END_HEADER      END_HEADER      END_HEADER      END_HEADER
    ;==========================================================================================================================================================================================================
    
    ;==========================================================================================================================================================================================================
    ; CODE      CODE      CODE      CODE      CODE      CODE      CODE      CODE      CODE      CODE      CODE      CODE      CODE      CODE      CODE      CODE      CODE      CODE      CODE      CODE
    ;==========================================================================================================================================================================================================
    [section .code]
    ;{
            start:
           ;{
                mov     [instance]         , rcx
                mov     [previous_instance], rdx
                mov     [cmd_line]         , r8
                mov     [cmd_show]         , r9d
    
                LoadImageA_     0, "data\Hackengine_logo.ico", IMAGE_ICON, 0, 0, LR_LOADFROMFILE
                mov             [init_windows.icon_program], rax
    
                system_     "color 0A"
                system_     "title HackEngine"
    
                ; Set personalize resolution
                    mov     [float_length], f32(1203.0)
                    mov     [float_width ], f32(899.0)
                    mov     [int_length  ], i32(1203)
                    mov     [int_width   ], i32(899)
    
                call_   set_info_screen, init_windows
    
                .l1:
               ;{
                    call_   windows_event, show_fps
               ;}
                jif  [quit] ,=, i32 false, .l1
    
                system_     "echo DONE"
    
                ret
           ;}
    ;}
    ;==========================================================================================================================================================================================================
    ; END_CODE      END_CODE      END_CODE      END_CODE      END_CODE      END_CODE      END_CODE      END_CODE      END_CODE      END_CODE      END_CODE      END_CODE      END_CODE      END_CODE
    ;==========================================================================================================================================================================================================
    
    ;==========================================================================================================================================================================================================
    ; FUNCTION      FUNCTION      FUNCTION      FUNCTION      FUNCTION      FUNCTION      FUNCTION      FUNCTION      FUNCTION      FUNCTION      FUNCTION      FUNCTION      FUNCTION      FUNCTION
    ;==========================================================================================================================================================================================================
    [section .code]
    ;{
    Voilà à vous maintenant de définir votre conception de l'art.

    Sinon j'ai remarqué une nette tendance de la disparition de cet art au fur et à mesure qu'on acquiert un langage de niveau supérieur
    Dernière modification par Invité ; 07/07/2015 à 15h09.

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/12/2010, 10h29
  2. faire un logiciel qui fait parsing d'un fichier xml existant sur le serveur
    Par wajdiisi2007 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 08/08/2007, 12h09
  3. je cherche un logiciel qui fait du reverse engeneering
    Par walid0577 dans le forum Autres
    Réponses: 2
    Dernier message: 29/03/2007, 00h16
  4. Réponses: 12
    Dernier message: 16/03/2004, 14h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo