El Titi a écrit 3953 commentaires

  • [^] # Re: Domain Driven "Design"

    Posté par  . En réponse au journal Conception pilotée par le domaine ou Domain-driven design (DDD). Évalué à 3.

    Une bonne part de mes critiques rejoignent cet article.

    http://www.theenterprisearchitect.eu/blog/2009/06/25/8-reasons-why-model-driven-development-is-dangerous/

    et de ce commentaire:
    https://softwareengineering.stackexchange.com/a/55698

    Surtout concernant la gestion de conf, lorsque tu construis des chaines de transformation de modèles c'est un cauchemar. Ca ne scale pas. Les outils de merge dédiés n'aident pas (Le problème est déjà pa simple pour du code alors imagine pour des fichiers structuré comme le XMI. PAs facile de rendre consistant et atomique un changement réparti (un modèle est un graphe au final)

    Ensuite le manque de sémantique d'un modèle (qui est intrinsèquement une abstraction) implique qu'il faut souvent plusieurs points de vue pour effectuer la transformation vers ton modèle/texte cible.
    Assurer cette cohérence est complexe et contre productive (Je ne parle même pas de générer des comportements dynamiques)

  • [^] # Re: Domain Driven "Design"

    Posté par  . En réponse au journal Conception pilotée par le domaine ou Domain-driven design (DDD). Évalué à 3.

    Je n'ai pas saisi ta remarque précédente ni trop cette question.
    Tu parles du MDA, du MDSD ?

    Et ca serait un peu long de développer. Sauf si tu me payes une bière :)
    Tu connais un peu la spec de l'OMG ?

    D'expérience (j'ai bossé sur un projet de déploiement d'une approche MDE pendant plusieurs années) les problèmes sont nombreux et vraiment le Model Driven est aux antipodes des méthodes agiles.

    Les seuls usages qui sont encore utiles selon moi sont:

    • Soit de partir de modèles exprimés dans un DSL textuel et par transformation "Model to Text" générer un artéfact et jeter le modèle à la poubelle.
      Lorsque c'est bien fichu on appelle … le scaffolding ou …la compilation

    • Soit comme déjà évoqué, enrichir suffisamment ton code pour faciliter la rétro-ingénierie à des fins documentaires et éventuellement, refactorer ton code pour aller vers l'architecture cible toujours en bottom up.

    L'approche top down est une fausse bonne idée et le roundtrip au delà d'un certaine limite est quasi impossible.

    La Hype est bien retombée. Il suffit de voir les tracks modeling à l'EclipseCon pour s'en rendre compte.

  • # Patchez moi !

    Posté par  . En réponse à la dépêche Pijul, contrôle de version et théorie des patchs, version 0.12. Évalué à 3. Dernière modification le 29 avril 2019 à 20:59.

    Bonjour,

    Je suis peut-être ici le seul ignare mais j'ai un peu du mal à saisir cette arithmétique des patchs car je ne trouve nul part dans la doc la définition de ces patchs que Pijul manipule.

    Pour moi un patch, (hormis la syntaxe du diff pour un cas simpliste), c'est
    file.c:
    +1, "blabla"

    et mon fichier file.c contient:

    blabla

    si je rajoute:
    file.c:
    +1, En voilà du
    +3, Et patati et patata

    J'obtiens

    En voilà du
    blabla
    Et patati et patata

    Si je commute les patchs, j'obtiens

    blabla

    Et patati et patata

    Pourrais-tu donner un exemple concret d'un patch avec Pijul ?
    Parce que A et B ça ne me parle pas du tout.

  • [^] # Re: Et pour les fichiers binaires ou du moins autres que texte?

    Posté par  . En réponse à la dépêche Pijul, contrôle de version et théorie des patchs, version 0.12. Évalué à 4.

    Après avoir réinventé les workspaces séparés du repo, le lock exclusif de fichiers pour certains type non mergeable (comme les images ou les storyboards), le stockage des gros objets dans un format de sérialisation différent en dehors de l'historique, tout ça grâce à Git LFS,
    … simplement parce que tout le monde utilise git en centralisé, gageons qu'ils vont avoir la bonne idée d'homogénéiser les types de fichier en créer des type manager pour gérer le merge/la comparaison /et le stockage des fichiers qui ont leur propres spécificités:
    https://www.ibm.com/support/knowledgecenter/en/SSSH27_9.0.1/com.ibm.rational.clearcase.cc_ref.doc/topics/type_manager.htm

    Encore un petit effort et on aura bientôt les vues dynamiques pour la CI et on pourra enregistrer la recette de fabrication des objets dérivés (le version de chaque fichier impliqué dans le build d'un objet) et on optimisera les builds entre différentes branches en réutilisant ces objets dérivés mis en cache.

    Encore un petit effort et il vont nous mettre une db pour optimiser le stockge de tout ça à coté.

    Encore un petit effort et après avoir épluché toutes les solutions bancales (submodules, subtree, …) pour gérer plusieurs repos dans la même vue logique et qui faisaient finalement la force de Bitkeeper il vont réinventer les config spec ou leur équivalent Perforce.

    Encore un effort et git évoluera vers un modèle décentralisé plutôt que distribué ou chaque site distant aura la maîtrise sur certaines branches plutôt que de confier ça à un seul intégrateur (https://www.ibm.com/support/knowledgecenter/es/SSSH27_7.1.1/com.ibm.rational.clearcase.cc_ms_admin.doc/c_mstrshp_branch.htm). Et aussi parce que les forges (non distribuées elles) ont complété ce modèle incomplet avec des garde-fous sur les branches (webhook) pour pallier tout ça. (Le modèle méritocratique à la Linux en entreprise y'en a qui l'ont déjà vu sérieux ?). Et puis parce que bon les hooks coté client … voilà

    Et on se dira qu'en fait plutôt que de se faire chier à gérer un simple cache d'historique (le D de DVCS) explicitement, on aurait pu utiliser un vrai cache qui n'oblige pas à cloner 1 repo de 5 Go qui t'oblige à faire des contorsions quand on se prend ça:
    https://stackoverflow.com/questions/21277806/fatal-early-eof-fatal-index-pack-failed

    Et on réinventera Perforce ou Clearcase en new gen.

    Welcome back to the future :)

    A oui j'oubliais Git n'est pas un un outil de gestion de conf juste un "content manager" qui disaient !

    Et dire qu'on est même pas vendredi.

  • [^] # Re: Domain Driven "Design"

    Posté par  . En réponse au journal Conception pilotée par le domaine ou Domain-driven design (DDD). Évalué à 2.

    Les transformations M2M (model 2 model) font aussi partie de la galaxie "Eclipse Modeling" ainsi que la génération de texte à partir de ton modèle (M2T) comme par exemple ton fichier de mapping ORM.
    https://www.eclipse.org/modeling/transformation.php

    L'ennui de cette approche et la principale raison pour laquelle le MDSD (Mode Driven Software Development) a échoué est que cette approche est top down. Ton modèle et ton code se retrouvent à un moment désynchronisé et il n'y a intrinsèquement pas de moyen resynchroniser ton modèle.

    C'est pour ça que la notion de "Living Documentation" se retrouve dans tous les concepts liés aux approches agiles y compris pour le DDD.

    Dans le BDD (Behaviour Driven Development), tes spécifications son exécutables. Ce couplage implique que tout changement de spec, couvert pas des tests, doit être aligné dans le code si nécessaire et à l'inverse un changement de code qui casse les tests indique soit un bug ou implique une maj de tes specs.
    La documentation est toujours à jour.

    Le DDD soutient ce principe puisque le métier est directement transcrit dans le code.
    La vidéo Youtube que je t'ai pointée est très instructive car elle reprend ce principe à tous les niveaux et y apporte des solutions pratiques.
    (Doc utilisateur, archi, specs, …)

    En conclusion disposer d'une représentation de ton métier avec un modèle basé sur les concepts DDD pourquoi pas ?
    Mais toujours en respectant les principes agiles, il est plus pertinent d'adopter une approche bottom-up par rétro-ingénierie à partir du code (le réel) quitte à enrichir ce code avec des annotations par exemple. Et on repart du code pour faire évoluer le modèle.
    Tu peux aussi pratiquer du sketch modeling à l'ancienne comme base comparative mais toujours en évitant la tentation de regénérer le code (top down).

    Le livre et la vidéo de l'auteur détaillent vraiment bien toutes ces pratiques

  • [^] # Re: UML n'est pas une méthode

    Posté par  . En réponse au journal Conception pilotée par le domaine ou Domain-driven design (DDD). Évalué à 2.

    Ce n'est pas de l'UML justement.

    Ca part d'une implémentation du MOF (https://en.wikipedia.org/wiki/Meta-Object_Facility) dans la spécification de l'OMG pour construire des "Domain Specific Modeling Languages" directement, par opposition aux "General Purpose Modeling Languages" dans lequel s'inscrit UML.
    Tu reconstruis ton propre langage directement à partir d'un méta-modèle.
    Avec UML; il faut restreindre la sémantique du langage avec des profils et les outils sont souvent moins adaptés pour ce genre de cas d"usages et il faut plus recourir au code
    Papyrus (https://www.eclipse.org/papyrus/) s'inscrit dans cette démarche

    Sirius adopte la stratégie inverse. Il part de l'Ecore (l'implémentation du MOF pour Eclipse) pour construire ton propre langage et te permet de générer tout le tooling nécessaire (éditeurs, palettes, query, …)

    Ces 2 projets s'appuient sur le même cœur, le projet Eclipse Modeling: https://www.eclipse.org/modeling/

    Tu peux aussi définir des DSL textuels grâce au même outillage et donc disposer de point de vue différents sur le même modèle:
    https://www.eclipse.org/modeling/textual.php

    Je ne connais pas d'autres alternatives opensource pour couvrir ce genre de besoins hors du monde Eclipse.

  • [^] # Re: Domain Driven "Design"

    Posté par  . En réponse au journal Conception pilotée par le domaine ou Domain-driven design (DDD). Évalué à 3.

  • [^] # Re: UML n'est pas une méthode

    Posté par  . En réponse au journal Conception pilotée par le domaine ou Domain-driven design (DDD). Évalué à 3.

    Si tu veux vraiment te lancer dans l'aventure de la modélisation DDD, tu peux peut être jeter un coup d'oeil à Sirius qui est métamodeleur et te permet de créer ton propre DSL graphique.
    https://www.eclipse.org/sirius/

    Il y'a quelques projets qui peuvent t'inspirer sur le "markeplace"
    https://github.com/ObeoNetwork

  • [^] # Re: Domain Driven "Design"

    Posté par  . En réponse au journal Conception pilotée par le domaine ou Domain-driven design (DDD). Évalué à 2.

    Je ne suis pas certain de ce à quoi l'auteur fait référence mais cela est peut-être lié à l'éternel débat "Anemic" vs "Rich Domain Model" et l'utilisation de frameworks qui ont tendance à s'écarter des fondamentaux de l'approche objet comme Spring Data par opposition au DDD.

    https://martinfowler.com/bliki/AnemicDomainModel.html

    https://blog.pragmatists.com/domain-driven-design-vs-anemic-model-how-do-they-differ-ffdee9371a86

    Dans le monde Java, par exemple un framework comme Axon encourage une approche Domain Driven.

  • [^] # Re: Ressources

    Posté par  . En réponse au journal Conception pilotée par le domaine ou Domain-driven design (DDD). Évalué à 3.

    Complément:
    Un livre à prix libre sur la documentation vivante (incluant DDD):
    https://leanpub.com/livingdocumentation

    et la video d'une conf de l'auteur:
    https://www.youtube.com/watch?v=Tw-wcps7WqU

  • # Ressources

    Posté par  . En réponse au journal Conception pilotée par le domaine ou Domain-driven design (DDD). Évalué à 3.

    Un livre gratuit pour introduire les concepts:
    https://www.infoq.com/minibooks/domain-driven-design-quickly

    Sinon tootella:
    https://github.com/heynickc/awesome-ddd

  • [^] # Re: Code source

    Posté par  . En réponse au journal Mobicoop, une alternative « libre » à Blablacar. Évalué à -1.

    Ah bin merde alors.
    Avec ta gueulante plus haut c'était pas plus libre que Blabalacar.

    Là c'est pas assez pour Môssieur.
    C'est plus libre que Blablacar du coup non ?

    Ca devient hyper chiant de te voir la ramener sur tous les journaux pour montrer que tu as la plus grosse.

    T'as pas une vraie vie ?

    Et si mon ton ne te plait pas, relis tes posts hargneux et pète un coup.

  • [^] # Re: #meilleurhashtag

    Posté par  . En réponse au journal Elphyrecoin : la cryptomonnaie au service de l'opensource est sortie en version 2. Évalué à -8.

    C'est vrai que, aussi candide qu'on soit, poster un projet/une idée auquel/à laquelle on croit de bonne foi sur DLFP et se faire démonter la gueule avec le Boyard en chef en tête de file, ça donne envie de répondre.

    Les gars de la monnaie libre ont compris la leçon aussi je pense.

    Tout le monde a compris que ce site est devenu un panier de crabes a peu près au même niveau qu'AgoraVox

    D'ailleurs, on le mesure au dynamisme du site aujourd'hui

  • [^] # Re: et ben

    Posté par  . En réponse au journal (Bonne nouvelle sur le) Renouvellement du droit d'auteur en Europe. Évalué à 0.

    Rohhhh. Comme c'est petit. Ca y est il l'a lâché. Le point Godwin.
    BRA-VO

    A partir de là ton discours déjà pas super crédible s'achève dans la crasse la plus putride.
    Fais gaffe ne te retourne pas y'a sûrement un crétin dans la salle à coté de toi. Donc tu en es sûrement.

  • [^] # Re: et ben

    Posté par  . En réponse au journal (Bonne nouvelle sur le) Renouvellement du droit d'auteur en Europe. Évalué à 7.

    Si tu es une bille en C# ou en programmation et qu'on t'oblige à utiliser un logiciel libre en C# pour accéder à ton compte en banque en ligne et que ce bug t'emmerde, bouge toi.

    Tu saisis la nuance ? On subit le système politique qu'on s'y implique ou non, qu'on en soit capable ou pas, ce qui en arrange certains comme toi visiblement.

  • [^] # Re: et ben

    Posté par  . En réponse au journal (Bonne nouvelle sur le) Renouvellement du droit d'auteur en Europe. Évalué à 4. Dernière modification le 15 février 2019 à 18:48.

    Mais tu reconnais que tu n'as pas toujours les "compétences".
    Tout le monde n'a pas vocation à faire de la politique mais est en droit d'attendre à ce que les politiques qu'il a élu lui rendent compte et pas seulement tous les 5 ans. Sans compter le jeu des chaises musicale qui font que le système permet à ses hypocrites de se faire parachuter à Marseille pour sauver leur cul de privilégiés.

    Ou alors si tel n'est pas le cas, bin il faut se passer de représentant. CQFD

    Et on voit encore Zenitroll et sa dictature de la majorité débarquer.
    Il préfère la dictature de la minorité de planqués et va encore nous ressortir le coup de la Suisse et des minarets alors que même les libéraux citent en exemple ce pays.

  • [^] # Re: et ben

    Posté par  . En réponse au journal (Bonne nouvelle sur le) Renouvellement du droit d'auteur en Europe. Évalué à 3. Dernière modification le 15 février 2019 à 18:37.

    je ne vais pas accuser le projet en question d'être pourri car ils ne me doivent rien.

    Par contre nos élus, eux, nous doivent quelque chose. Ton argument teinté de mauvaise foi ne tient pas.

  • [^] # Re: et ben

    Posté par  . En réponse au journal (Bonne nouvelle sur le) Renouvellement du droit d'auteur en Europe. Évalué à 3.

    Et si je trouve qu'il n'y a pas de candidats valables pour me représenter, plutôt que de râler dans mon coin, je fonde un parti et je me présente.

    Yaka Fokon.
    J'espère qu'à chaque fois que tu trouves un bug dans ton LL tu corriges illico et tu envoies une PR.

    Comment ça t'as pas que ça à foutre ?

  • [^] # Re: Amnesty International, c'est "puissamment fort" komeme

    Posté par  . En réponse au journal La France n'est pas une dictature mais. Évalué à 3. Dernière modification le 01 février 2019 à 17:46.

    Et puisqu'il est question de liberté d'expression restons dans le thème:
    https://www.youtube.com/watch?v=v5VvJiNUCIA&feature=youtu.be

    Planquez-vous la team Weboob

  • [^] # Re: Amnesty International, c'est "puissamment fort" komeme

    Posté par  . En réponse au journal La France n'est pas une dictature mais. Évalué à 3.

    En plus on s'aperçoit que la neutralité dans la recherche de l'égalité homme/femme est un thème qui leur est cher:
    https://twitter.com/amnestyusa/status/1085287352090669056

    C'est assez fun sachant que l'autre lien du journal dénonce la chasse aux sorciers contre ceux qui ne cautionnent pas la doxa féministe.

    La liberté d'expression… à condition que vous pensiez comme moi. Vaste débat.

    Je sais à qui je ne ferai pas de don au moins.

  • # Amnesty International, c'est "puissamment fort" komeme

    Posté par  . En réponse au journal La France n'est pas une dictature mais. Évalué à 3.

    "Cette formulation, vague et floue,"
    "sans aucun contrôle par un juge judiciaire,"

    Ils creusent vraiment les sujets sans vacuité vide.

  • [^] # Re: par ailleurs

    Posté par  . En réponse au journal La France n'est pas une dictature mais. Évalué à 0.

    Rohhh, attends-toi à une descente en règle du sieur Zenitroll pour te démontrer qu'entre la peste et le choléra, il faut choisir sinon les autres choisiront pour toi.
    Bref tu pâmeras quand même.

  • [^] # Re: Passé

    Posté par  . En réponse au journal Aider le quotidien L'Humanité. Évalué à -1.

    Rohh, on se doute bien que la ligne éditoriale des ultra-cathos de droaaate, c'est plutôt le "Fig" et "Valeurs actuelles" alors passe ton chemin si tu ne te sens pas concerné.

    Merci

  • # Real programmers use c

    Posté par  . En réponse au journal Mes activités open sources / libres récentes. Évalué à 2.

    C'est vraiment un super boulot tout ça.
    Sais-tu quand la prochaine release intégrant tes modifs est prévue ?
    Le leader du projet n'est toujours pas décidé à migre sous une forge Git ?

  • [^] # Re: Ça m'énerve

    Posté par  . En réponse au journal Nouvelle version de Notepad++. Évalué à 4.

    Oh bah c'est pas comme si on t'obligeait à signer une pétition ou sortir un gilet jaune pour passer le barrage ?
    Ah ba si dis donc !