01:56 <alain_afpy> Sortie de Django 5.2 - https://www.djangoproject.com/weblog/2025/apr/02/django-52-released
08:48 <discord_afpy> <saturn7694> ah ah j'avais jamais remarqué que Django n'avait pas de composite PK
08:58 <discord_afpy> <agnes1825> J'ai remarqué pas plus tard que ce lundi 🤗 coïncidence amusante
09:11 <discord_afpy> <saturn7694> c'est vrai que c'est un truc bien utile mais dont on a pas toujours besoin
09:12 <discord_afpy> <saturn7694> donc c'est normal de pas s'en rendre compte tout de suite
10:01 <discord_afpy> <Dorian TURBA> composite pk, c'est quand on a une clé primaire composé de deux colonnes c'est ça ?
10:02 <discord_afpy> <Dorian TURBA> (deux ou plus, vous m'avez compris)
10:03 <discord_afpy> <Dorian TURBA> je suppose que c'est ce qu'ils entendent par "multiple fields"
10:13 <discord_afpy> <saturn7694> oui c'est ça
10:14 <discord_afpy> <saturn7694> on peut trouver des "workaround" si ç'est pas possible donc je comprends que ça arrive si tard
10:32 <discord_afpy> <chadys> c'est surtout considéré comme une mauvaise pratique, néanmoins pour les systèmes legacy sur lesquels ont a pas la main ben... ça sert malheureusement et c'était très demandé à cause de ça
10:48 <discord_afpy> <saturn7694> bon il y a plein de mauvaise pratique largement répandues en SQL
10:49 <discord_afpy> <saturn7694> https://stackoverflow.com/questions/26078535/composite-primary-keys-good-or-bad
10:52 <discord_afpy> <saturn7694> pour faire une relation M2M qui porte des données c'est quand même le plus logique je pense
10:53 <discord_afpy> <saturn7694> en tout cas le plus facile
10:54 <discord_afpy> <saturn7694> Tu peux avoir un Model avec deux FK mais parfois ç'est compliqué de leur trouvé un nom, quand tu est censé justemetn modéliser une relation
10:57 <discord_afpy> <saturn7694> Et franchement faut vraiment aimé Django pour vouloir l'utiliser sur une BDD legacy. SQL alchemy est beaucoup plus adapté pour ça
11:02 <discord_afpy> <eyecontrol> On ne peut pas utiliser SQLAlchemy avec Django ?
11:02 <discord_afpy> <eyecontrol> On m'avait dit qu'on pouvait choisir son ORM (même si a priori Django ORm est généralement utilisé)
11:16 <discord_afpy> <Dorian TURBA> Il me semble que si mais c'est comme vouloir faire une pizza dans un four à gateau ("ça existe pas un four à gateau" gneugneugneu tu vois ce que je veux dire)
11:16 <discord_afpy> <Dorian TURBA> J'ai un projet dans un carton pour faire du SA dans Django, mais j'ai jamais eu la motive de le faire
11:16 <discord_afpy> <Dorian TURBA> Si jamais tu es super motivé, on pourra regarder ensemble si tu veux
11:17 <discord_afpy> <Dorian TURBA> Hahaha
11:19 <discord_afpy> <chadys> C'est pas trop fait pour non, après tout est toujours possible
11:19 <discord_afpy> <Dorian TURBA> Challenge accepted
11:20 <discord_afpy> <Dorian TURBA> @Karine a cause de toi, je finirais jamais ce mud, tu casse les pieds avec tes idées à la noix
11:20 <discord_afpy> <chadys> tout dépend de ce que tu veux en faire, j'ai utilisé django avec une DB2 AS400 de la mort pour quelques tables et comme c'était du django partout ailleurs et que l'équipe était à l'aise avec, ça faisait sens
11:22 <discord_afpy> <chadys> Je comprends pas la problématique, c'est le nommage de la table "through" du manytomany ? Et puis même dans ce cas avec tes deux foreignkey, rajouter une pk explicite évite l'utilisation des clefs composites
11:23 <discord_afpy> <saturn7694> ça a longtemps été impossible en tout cas
11:23 <discord_afpy> <chadys> je vois pas en quoi ce serait plus facile avec clef composite, tu économise un champ, mais à quel prix
11:24 <discord_afpy> <saturn7694> après c'est une question de goût, d'équipe etc... mais connaissant les deux sur ce cas précis j'aurais tendance à privilégier SA
11:25 <discord_afpy> <saturn7694> c'est plus lisible en terme de modèle métier. Faudrait surtout dire ce qu'est ce fameux pris à payer
11:27 <discord_afpy> <Dorian TURBA> si tu as une table avec des champs dont aucun n'est unique, mais la combinaison l'est, et que tu as d'autres tables avec ces données, plutôt que de devoir faire une traduction des info composite pour récup l'id et utiliser l'ID partout, l'usage de la clé composite t'évite de le faire
11:27 <discord_afpy> <Dorian TURBA> +1 pour Mik: quel prix ?
11:29 <discord_afpy> <Dorian TURBA> je suis loin d'être bon en SQL, mais tu me donne des lignes avec A, B (qui pourrait être la clé composite) à inserer en DB, si AB ne sont pas CPK et que je dois récup l'ID avant de pouvoir inserer les données, je ne sais pas comment faire sans une requete intermédiaire super lourde pour préserver l'ordre de requete et récuperer tout les ID.
11:30 <discord_afpy> <Dorian TURBA> du genre, en proto code, select user.id where user.a + user.b in [list of composite AB]
11:31 <discord_afpy> <saturn7694> Pour moi Django ça a toujours été un framework pour modéliser rapidement et de manière acceptable un métier sur une table ad hoc. et SA plus un framework pour faire des trucs avec une base de données (legacy, ou pas). On peut interchanger les rôles mais il y a clairement des domaine ou l'un brille plus que l'autre et inversement
11:31 <discord_afpy> <Dorian TURBA> c'est quoi une table adhoc?
11:31 <discord_afpy> <chadys> pourquoi c'est plus lisible? Tu as quand même tes deux foreignkey qui pointent ou il faut.
11:31 <discord_afpy> <chadys> prix à payer par exemple :
11:31 <discord_afpy> <chadys> - api http plus complexes pour manipuler les objets
11:31 <discord_afpy> <chadys> - convention django avec le suffixe "_id" qui permet d'accéder aux PK étrangère sans se poser de question ni avoir besoin de connaitre le détail du schema.
11:31 <discord_afpy> <chadys> - les colonnes utilisés en clefs composite il faudra faire attention de ne jamais les modifier, donc il doit s'agir de colonne sans sens sémantique
11:32 <discord_afpy> <saturn7694> un base pardon. une base from scratch (ad hoc ça veut dire fait pour répondre au besoin)
11:32 <discord_afpy> <Dorian TURBA> > api http plus complexes pour manipuler les objets
11:32 <discord_afpy> <Dorian TURBA> Pour moi, qu'une PK soit Nom Prénom me semble plus facile pour lire et manipuler qu'un ID abstrait qui ne serait qu'une surcouche, nécessitant un get id (nom prénom)
11:33 <discord_afpy> <chadys> Un where avec des index là ou il faut et tu ne te sert de l'ID que là ou tu en a besoin, pas pour une création de relation
11:33 <discord_afpy> <captainkro> Ou là là.
11:33 <discord_afpy> <Dorian TURBA> > sans se poser de question
11:33 <discord_afpy> <Dorian TURBA> Pour moi, c'est plutôt ça un anti-pattern
11:34 <discord_afpy> <chadys> ben non, si tu utilise des pk unique partout, tu sais que tu récupère une pk, c'est quand même sacrément moins complexe que de devoir regarder à chaque fois
11:34 <discord_afpy> <Dorian TURBA> mais je vois pas en quoi une clé composite t'empeche de savoir que tes champs sont des foreign key composite (si ça existe), _id pourrait récuperer ces champs aussi, pourquoi pas (si ça se trouve, ça fait parti de l'update dont on parle)
11:35 <discord_afpy> <Dorian TURBA> mais si j'ai une table avec une CPK, faire _id devrait me retourner les champs de la CPK
11:35 <discord_afpy> <chadys> surtout pas de sens sémantique dans quelques chose qui est utilisé en clef... une clef ne doit pas changer sinon il faut mettre à jour partout ou elle est référencé.
11:35 <discord_afpy> <Dorian TURBA> sinon, c'est juste un feature relou qui bride les features utilisables...
11:35 <discord_afpy> <chadys> c'est justement à cause de ce genre de tentation que les clefs composites sont mal vue
11:36 <discord_afpy> <saturn7694> bon pour vous mettre un peu d'accord aujourd'hui j'ai tendance a faire une classe pour ça. Mais d'un autre côté avec les bonnes abstractions (SA les a) c'est assez gérable
11:37 <discord_afpy> <Dorian TURBA> "les colonnes utilisés en clefs composite il faudra faire attention de ne jamais les modifier, donc il doit s'agir de colonne sans sens sémantique"
11:37 <discord_afpy> <Dorian TURBA> C'est le principe d'une PK, c'est le même probleme pour une table pk id, si tu fais une CPK, ça tombe sous le sens.
11:37 <discord_afpy> <Dorian TURBA> J'ignore si SQL t'autorise à update un CPK si il est utilisé ailleurs d'ailleurs
11:37 <discord_afpy> <chadys> oui mais du coup tu est obligé de vérifier le type de ta pk avant de pouvoir l'utiliser ailleurs (par exemple, l'envoyer dans une API web
11:37 <discord_afpy> <chadys> ça rajoute de la complexité
11:37 <discord_afpy> <saturn7694> > J'ignore si SQL t'autorise à update un CPK si il est utilisé ailleurs d'ailleurs
11:37 <discord_afpy> <saturn7694> non bien sûr que non
11:38 <discord_afpy> <Dorian TURBA> > surtout pas de sens sémantique dans quelques chose qui est utilisé en clef... une clef ne doit pas changer sinon il faut mettre à jour partout ou elle est référencé.
11:38 <discord_afpy> <Dorian TURBA> Mais il y a plein de cas métier où ça ne change pas, ou que si il y a un changement, il est assez rare pour se permettre un update partout, genre Nom Prénom Date de naissance
11:38 <discord_afpy> <saturn7694> des fois la sémantique c'est un tuple
11:38 <discord_afpy> <Dorian TURBA> > non bien sûr que non
11:38 <discord_afpy> <Dorian TURBA> Bon bah c'est un faux probleme du coup non ?
11:38 <discord_afpy> <chadys> et donc tu as besoin de 2 colonne qui remplissent ce contrat
11:38 <discord_afpy> <saturn7694> on peut encapsuler ça dans une classe mais ça reste une relation
11:39 <discord_afpy> <Dorian TURBA> oui, c'est le principe, on signe pour ça avec une CPK, je vois pas où tu veux en venir
11:39 <discord_afpy> <saturn7694> dans la table qui référence oui
11:40 <discord_afpy> <saturn7694> d'un autre côté tu peux référencer la pk unique et avoir le couple de l'id composite qui change
11:40 <discord_afpy> <saturn7694> ça peut être un problème
11:40 <discord_afpy> <chadys> je veux en venir que, autant dans le cas d'un manytomany effectivement tu rempli se contrat facilement, en utilisant les pk simple des tables référencé, autant pour toutes les autres tables, ce n'est pas le cas, donc tu vas créé une colonne dédié, donc PK simple dans tous les cas
11:40 <discord_afpy> <Dorian TURBA> @Chadys si tu reçois de la donnée qui a ces deux champs (ou x) (sans, pas de lien possible, la clé n'est pas entière) mais pas l'ID PK que tu as décidé de faire à la place, tu ferais quoi toi ?
11:40 <discord_afpy> <captainkro> J'ai travaillé des années avec une énorme bdd qui avait des clés composites partout (en suivant une logique métier) sur un très gros logiciel de scolarité utilisé par une grande partie des universités. C'est tellement été l'enfer pour tout le monde (éditeur comme exploitant) que le nouveau remplacant a bani les pk composites.
11:40 <discord_afpy> <captainkro>
11:41 <discord_afpy> <chadys> ben ça dépend ce que j'ai besoin de faire, mais naivement je dirait, un select ou un udapte avec une clause where? ça change rien en faite
11:42 <discord_afpy> <Dorian TURBA> mais en quoi avoir deux champs au lieu d'un est un probleme ? C'est pour économisé une colonne qu'on parle du oui/non CPK ?
11:42 <discord_afpy> <saturn7694> oui c'est la souci, mais on s'en crée d'autres en faisant ça (voir mon message précédent)
11:43 <discord_afpy> <chadys> tu as des contraintes qui te protèges pour évité que ce soit un problème
11:43 <discord_afpy> <saturn7694> moi ma conlusion après c'est année c'est que une table relationnel ne garantie jamais la cohérence
11:43 <discord_afpy> <Dorian TURBA> donc si j'ai 10 000 insert à faire de lignes avec ABC, AB pouvant être CPK, toi tu fais quoi ? un select ? En plus ? Avec un Where in ou du genre ? Tu peux être plus explicite, c'est hyper flou pour moi là
11:43 <discord_afpy> <chadys> "ça ne change pas" -> s'avère toujours faux. Et la mise à jour est toujours un problème
11:43 <alain_afpy> scrollbar-canvas - https://discuss.afpy.org/t/scrollbar-canvas/2553
11:44 <discord_afpy> <Dorian TURBA> > J'ai travaillé des années avec une énorme bdd qui avait des clés composites partout (en suivant une logique métier) sur un très gros logiciel de scolarité utilisé par une grande partie des universités. C'est tellement été l'enfer pour tout le monde (éditeur comme exploitant) que le nouveau remplacant a bani les pk composites.
11:44 <discord_afpy> <Dorian TURBA> corélation n'est pas causalité
11:44 <discord_afpy> <saturn7694> dans les deux cas tu peux ajouter des contraintes
11:44 <discord_afpy> <captainkro> Il faut que je retrouve le papier universitaire traitant du cas d'un erp qui avait été utilisé par peugeot il y a très long temps et qui utilisait les marques des boites et les noms des voitures comme pk. Une fusion plus tard et ça a couté des millions pour mettre à jour le systeme et pas mal de bug en prod
11:44 <alain_afpy> WARNING !!! YAKAFOKON DETECTED !!!!
11:45 <discord_afpy> <Dorian TURBA> @CaptainKro le probleme est exactement le même avec une PK mono champs
11:45 <discord_afpy> <saturn7694> oui mais est ce que le souci c'est les clefs composite ou le fait que les clef soit des noms de voiture
11:45 <discord_afpy> <saturn7694> ?
11:46 <discord_afpy> <Dorian TURBA> @CaptainKro Qu'est ce qui te dis que ta PK ne va jamais changer ? Genre, SSN utilisé en PK
11:46 <discord_afpy> <chadys> en gros, tu as une manytomany user+music, tu veux en ajouter plein et tu as dans ta table manytomany deux FK + une PK. ben tu fait ton insert avec ta liste de couple de FK, et la PK va se remplire toutes seule en utilisant, en général, une séquence. Donc pas de requête supplémentatire
11:46 <discord_afpy> <Dorian TURBA> mais là tu pars du principe que tu connais la PK interne de la DB
11:46 <discord_afpy> <chadys> il ne faut pas utilisé une SSN en pk, il faut un pk sans sens sémantique, c'est toujours la base que ce soit pour les pk simple ou composite
11:47 <discord_afpy> <Dorian TURBA> si c'est pas le cas (et c'est souvent pas le cas)
11:47 <discord_afpy> <Dorian TURBA> tu doit faire ces requetes supp
11:47 <discord_afpy> <Dorian TURBA> bah il est peut être là le probleme
11:47 <discord_afpy> <chadys> ben non ? Pourquoi j'en aurait besoin? je comprend pas ton scénario
11:47 <discord_afpy> <saturn7694> oui le vrais souci c'est ça en fait
11:48 <discord_afpy> <saturn7694> voir le message de @CaptainKro aussi
11:49 <discord_afpy> <saturn7694> il faut voir les pk et fk comme des identifiant technique et pas leur faire porter de sémantique métier
11:49 <discord_afpy> <saturn7694> et c'est un peu le souci avec les composites donc je comprends la position de @Chadys
11:49 <discord_afpy> <chadys> oui voilà!
11:50 <discord_afpy> <Dorian TURBA> Tu reçois des lignes à inserer, par exemple : A, B, Nom d'un traitement
11:50 <discord_afpy> <Dorian TURBA> A et B sont les info de l'utilisateur par exemple SSN + Nom
11:50 <discord_afpy> <Dorian TURBA> Tu n'a pas l'ID interne.
11:50 <discord_afpy> <Dorian TURBA> Pour inserer ABTraitement, tu fais comment ?
11:51 <discord_afpy> <saturn7694> Tu as une table ABTraitement et un Modèle surtout
11:51 <discord_afpy> <saturn7694> donc une PK dans la table,
11:51 <discord_afpy> <chadys> j'ai pas besoin de connaitre la pk, quand tu défini une pk tu donne toujours une fonction pour qu'elle se remplisse toute seule : séquence ou génération d'UUID. Donc l'insertion est sans cout supplémentaire
11:51 <discord_afpy> <Dorian TURBA> le probleme c'est que sans ça, tu fini par avoir un systeme de PK interne inconnu des acteurs externs, ce qui mène à des problématiques de consomation tout aussi complexe.
11:51 <discord_afpy> <Dorian TURBA> je ne dis PAS que CPK ne pose pas de probleme
11:52 <discord_afpy> <saturn7694> J'ai longtemps penser comme toi @Dorian TURBA donc je comprends aussi
11:52 <discord_afpy> <Dorian TURBA> mais balayer d'un revers de main la feature en disant que les internal PK sont le graal et que c'est un nobrainer, on est dans le dogmatique qui pose probleme la
11:52 <discord_afpy> <saturn7694> et en soit c'est pas si grave si c'est bien codé / pensé
11:52 <discord_afpy> <Dorian TURBA> Je pense que "ça dépends"
11:52 <discord_afpy> <Dorian TURBA> donc j'ai un probleme avec le "CPK a chier, PK forever"
11:52 <discord_afpy> <saturn7694> (par bien pensé j'entends un métier bien compris et bien implémenté)
11:53 <discord_afpy> <saturn7694> et souvent la surmodélisation c'est l'ecueil principal
11:54 <discord_afpy> <chadys> ah oui, eh bien effectivement, ton insertion va devoir utiliser des subquery pour select l'ID de tes sous objects. Mais ce sera le cas aussi avec CPK car, évidemment, tu ne doit pas faire ta CPK sur SSN + Nom mais sur les PK dédiées non sémantiques de tes tables A et B, donc si tu ne les as pas tu n'échappera pas à la requête pour les récupérer
11:54 <entwanne> CPK ou non, ça me semble problématique de considérer un tripler (nom, prénom, date de naissance) comme unique et immutable, ce sont des données sujettes à conflits et à évolution (les gens peuvent changer de nom ou de prénom au cours de leur vie)
11:54 <discord_afpy> <saturn7694> c'est pour ça que le workflow django marche assez bien (définissions du modèle métier puis implémentations des views)
11:55 <discord_afpy> <saturn7694> oui entwanne c'est complètement vrai mais dans la vrai vie tu est obligé à un moment d'utiliser ces manières d'identifier
11:56 <discord_afpy> <saturn7694> c'est pour ça qu'on a un numéro de sécu d'ailleurs
11:57 <discord_afpy> <chadys> disons qu'à par l'économie d'une colonne dans le cas des manytomany, pour l'instant je n'ai vu aucun argument qui se tienne en faveur des CPK, et qu'à l'inverse c'est la porte ouverte à beaucoup d'emmerde (je suis d'accord qu'on peut toujours faire les choses correctement, mais c'est plus simple à appliquer quand tu laisses moins de possibilité de faire de la merde)
11:57 <discord_afpy> <saturn7694> c'est la philosohpie de Django oui
12:00 <discord_afpy> <saturn7694> En gros tu as une relation qui a du sens du point de vue de métier tu l'iplémente dans uen classe qui est persisté en bdd par une table avec un pk et deux FK . C'est simple et ça repond au besoin
12:01 <discord_afpy> <captainkro> c'est un active record pattern qui est aujourd'hui ce qui est le plus présent dans les différentes technologies.
12:02 <discord_afpy> <chadys> dans cette conversation sur les CPK, j'ai vu revenir en boucle l'argument qui serait d'utiliser des CPK avec des colonnes sémantiques, qui est justement la chose à ne pas faire. C'est pour éviter ça que django a pas supporter les CPK pendant très longtemps.
12:02 <discord_afpy> <chadys> Et oui tu peux aussi utiliser un PK simple sémantique et ce serait aussi un problème mais déjà :
12:02 <discord_afpy> <chadys> - c'est plus dur de trouver une colonne unique ou on va croire qu'elle ne changera jamais tout en étant unique
12:02 <discord_afpy> <chadys> - Django aide pour ça avec la création d'une pk non sémantique par défaut et de gros warning dans le doc
12:02 <discord_afpy> <saturn7694> Le souci avec l'active record c'est le fort couplage mode/bdd mais c'est beaucoup plus facile à implémenter et à utiliser
12:03 <discord_afpy> <saturn7694> *model/bdd (faut que je me mette en face de mon clavier...)
12:03 <discord_afpy> <chadys> voilà pour moi les raisons de bannir les CPK et je ne pense pas que ce soit du dogme vu que face à l'avantage "économie d'une colonne" je tire juste une conclusion logique et argumentée
12:03 <discord_afpy> <captainkro> Ce qui avait bloqué à l'époque (entre autre) c'est comment intégé un model avec une cpk dans l'admin django en sachant que (ce qui est aujourd'hui très générale comme pratique), l'url est du type domaine (app)/entity(model)/pk pour acceder à un objet
12:03 <discord_afpy> <saturn7694> non mais c'est bien d'argumenté
12:04 <discord_afpy> <captainkro> c'est souvent le problème de l'informatique, il n'y a jamais de solution parfaite.
12:04 <discord_afpy> <saturn7694> le Data Mapper
12:04 <discord_afpy> <saturn7694> enfin c'est pas parfait
12:06 <discord_afpy> <saturn7694> Si on une app qui va traiter des données dur des tables hétéroclites alors il vaut mieux quelque chose d'un peu plus souple. c'est là ou SA est vraiment bien
12:06 <discord_afpy> <saturn7694> des bdd...
12:06 <discord_afpy> <chadys> Disons que dans le monde django, les CPK sont un sujet vu et revu, donc c'est vrai que de base je n'ai pas éprouvé le besoin de justifier le "CPK=caca legacy" haha mais je n'ai rien contre le débat évidemment
12:07 <entwanne> saturn7694: Justement on génère plutôt un identifiant unique à côté que d'utiliser ces données (nom, prénom, date de naissance) comme clé. Après tu peux aussi avoir des infos que tu considères comme uniques — par exemple un couple (adresse email, numéro de téléphone), et encore là non plus ce n'est pas vraiment unique dans la réalité — tout en autorisant qu'elles puissent changer au cours du temps, alors que ta PK reste immutab
12:07 <entwanne> le
12:07 <discord_afpy> <captainkro> C'est souvent une opposition bdd first vs code first
12:07 <discord_afpy> <saturn7694> Django c'est pas agnostique c'est d'ailleurs son défaut.
12:08 <discord_afpy> <saturn7694> entwanne je veus dire que les gens ne se balade pas avec leur PK dans la base de données de la sécu (enfin qui sait...)
12:08 <discord_afpy> <chadys> et sa qualité ❤️
12:09 <discord_afpy> <saturn7694> c'est peut être le numéro qui sert de PK (je travaille pas à la CPAM)
12:09 <discord_afpy> <chadys> ne sous-estime pas les db universitaire ! mon numéro étudiant, crois moi que je le connaissait par coeur et j'étais pas la seule xD
12:09 <entwanne> Non, et ils n'ont pas besoin de la connaître normalement (puisqu'il y a d'autres manières de récupérer une ligne — même de manière unique — que d'utiliser la PK)
12:09 <discord_afpy> <captainkro> non justement, ce fut un problème pendant longtemps
12:10 <discord_afpy> <captainkro> Enfin oui avant, et non maintenant
12:10 <discord_afpy> <saturn7694> ah ok
12:10 <discord_afpy> <captainkro> Les numéros de sécu temporaire pour les étranges ayant droit
12:10 <discord_afpy> <saturn7694> comme quoi ç'est pas forcément évident et ça mérite une discussion
12:10 <discord_afpy> <captainkro> puis qui changent si naturalisation
12:11 <entwanne> je ne sais pas si le numéro de sécu est immutable et s'il est réellement unique sur la durée (peut-être si on le couple avec un indicateur signalant si la personne est toujours en vie, car en l'état j'imagine que les numéros seront réutilisés puisqu'ils n'encodent que les deux derniers chiffres d'une année)
12:11 <discord_afpy> <saturn7694> (omg...)
12:11 <discord_afpy> <saturn7694> entwanne oui du point de vue réel oui
12:11 <discord_afpy> <chadys> mais oui en soit, c'est pas parce que c'est pas une PK que tu n'as pas des indexes et des query efficaces possible sans utiliser la pk
12:11 <discord_afpy> <saturn7694> apparemment @CaptainKro a donné un contre exemple
12:12 <discord_afpy> <captainkro> et je ne sais pas ce qui se passe lors d'un changement de genre, s'il y a mise à jour du numéro
12:12 <discord_afpy> <saturn7694> alors ça c'est une autre discussion de l'intérêt ou pas de dévoiler au utilisateurs les pk dans le système
12:12 <discord_afpy> <saturn7694> pour certains c'est une mauvaise pratique de sécurité
12:13 <entwanne> Oui et a priori il serait aussi possible pour des personnes trans de changer leur numéro de sécu une fois leur changement d'état civil acté (https://wikitrans.co/2019/12/16/changement-de-numero-de-securite-sociale/)
12:13 <discord_afpy> <captainkro> mais comme un username ou autre tu utilises le numéro de sécu pour faire de la recherche (sans etre une pk, ce type de valeur est unique)
12:13 <discord_afpy> <chadys> ce qui confirme bien la rèle du pas de pk sémantique, mais quand on est persuadé que ça change jamais et que c'est unique... ben les exceptions arrivent
12:13 <discord_afpy> <saturn7694> genre avoire une api /trucs/[pk]
12:13 <entwanne> captainkro: Ah ben on pensait au même cas
12:14 <discord_afpy> <saturn7694> oui donc c'est pas immutable (ça il y a que le metier pour le dire)
12:14 <discord_afpy> <captainkro> c'est très très rare un truc immuable sématiquement
12:14 <discord_afpy> <saturn7694> on pourrait décider aussi de ne pas faire apparaître le sexe dans ce numéro
12:14 <discord_afpy> <saturn7694> c'est des décisions métier c'est pas dans le scope du développeur
12:15 <discord_afpy> <captainkro> je n'ai jamais vu d'exemples en réalité (déjà à cause d'une erreur de saisie humaine)
12:15 <discord_afpy> <saturn7694> un numéro de colis chez un transporteur
12:15 <discord_afpy> <eyecontrol> On bossera dessus ensemble si tu veux
12:15 <discord_afpy> <eyecontrol> Mais j’y connais rien en django 😅
12:15 <discord_afpy> <eyecontrol>
12:15 <discord_afpy> <eyecontrol> Par conte ne me mets pas sur le dos ta procrastination 😬😬
12:16 <discord_afpy> <saturn7694> un numéro de vol dans un système de réservation
12:16 <discord_afpy> <chadys> c'est pas sémantique si?
12:16 <discord_afpy> <chadys> c'est justement des numéro d'identification
12:16 <discord_afpy> <chadys> pas sémantique
12:16 <discord_afpy> <captainkro> chaque fois que j'ai géné des EAN c'était toujours des pk numériques (cas concret qu'une exposition d'une pk)
12:16 <discord_afpy> <saturn7694> sémantique car ça représente qqchose IRL
12:17 <discord_afpy> <chadys> j'ai pas la définition du terme exacte mais dans ma tête sémantique = qui a une signification autre que de l'identification pure
12:17 <discord_afpy> <captainkro> ou bien c'est comme pour l'username et le numéro de sécu c'est un champ unique de recherche
12:18 <discord_afpy> <saturn7694> après c'est du métier, si le métioer te dis que le colis peut changer de numéros si on refait l'étiquette c'est une décision métier (un peu con mais bon) et ce n'est pas imuable
12:20 <discord_afpy> <saturn7694> oui oublions sémantique. Parce que je pense que la distinction est ailleurs
12:20 <discord_afpy> <saturn7694> il y la distinction entities / value object qui est intéressante aussi
12:21 <discord_afpy> <chadys> j'ai fait de la gestion de colis dans une boite précédente, et c'est justement pour ça que je n'ai pas pris l'EAN du colis comme PK haha. LE métier à ses raisons que la raison ignore parfois (bon dans les faits, on m'a jamais demandé de touché à l'EAN et ça aurait été un gros soucis vu... que c'était utilisé comme FK dans la DB legacy en question ^^
12:21 <discord_afpy> <saturn7694> perso j'aurais utilisé une PK adhoc
12:22 <discord_afpy> <chadys> mais je pense que s'il y a un besoin de changer l'EAN, c'est que ça traduit que l'EAN est devenu quelques chose d'autre en plus que l'identification simple (une version d'étiquetage par ex)
12:22 <discord_afpy> <chadys> yes c'est ce que j'ai fait dans mon systeme, mais pour le système legacy j'avais pas la main
12:22 <discord_afpy> <saturn7694> et oui l'EAN peut alors changer et la PK référencer un autre EAN
12:22 <discord_afpy> <saturn7694> mais je préfère
12:23 <discord_afpy> <saturn7694> parce que je ne les crois plus quand ils me disent que ça change pas...
12:24 <discord_afpy> <chadys> si j'avais eu 1€ à chaque fois que quelqu'un du métier m'assure être 100% sûr de quelque chose qui se révèle faux X temps plus tard...
12:24 <discord_afpy> <chadys> et cette justification que j'adore "non mais ça arrive pas souvent donc c'est pas grave"...
12:24 <discord_afpy> <saturn7694> oui pareil
12:24 <discord_afpy> <saturn7694> oui...
12:26 <discord_afpy> <saturn7694> Pour revenir sur ce que je disais pour moi c'est vraiment le plus gros boulot faire dire le plus précisément le besoin et faire les bons chox
12:26 <discord_afpy> <saturn7694> choix*
12:27 <discord_afpy> <saturn7694> c'est un métier qui va au delà du dev je pense et on devrait vraiment voir ces pratique emerger en entreprise
12:27 <discord_afpy> <chadys> le dernier coup, c'était sur les frais de commission ou j'avais demandé s'ils pouvaient changer d'un client à un autre. "Non" m'a-t-on dit, "absolument pas, on a un contrat type identique pour tous". Ben crois moi que j'ai prévu un champ en BDD par client plutôt qu'une valeur fixe quand même et que j'ai eu bien raison haha
12:27 <discord_afpy> <saturn7694> modéliser le SI (ça va bien au dejà de coder une application)
12:28 <discord_afpy> <saturn7694> une fois cela fait le dev c'est rien du tout
12:28 <discord_afpy> <chadys> oui pour moi ça fait parti du métier, et c'est ce qui différencie "codeur" de "développeur"
12:28 <discord_afpy> <chadys> taper du code c'est nécessaire mais loin d'être suffisant
12:29 <discord_afpy> <saturn7694> le souci c'est que les métiers pensent que créer une application ça va magiquement structuré leur métier alors que c'est l'inverse
12:30 <entwanne> pourquoi ce serait une problématique qui n'entrerait pas en compte pour le "codeur" ? (je ne fais pour ma part pas de différence entre les termes codeur et développeur)
12:30 <discord_afpy> <chadys> Avoir de bon PO et obtenir gain de cause pour des temps d'étude avant de passer à l'implémentation ça n'a pas de prix
12:31 <entwanne> un codeur ne tape pas du code au hasard, il prend en compte les problématiques liées au projet :D
12:31 <discord_afpy> <saturn7694> c'est surtout que le meilleur des codeurs sur des processus et des règles métiers mal définies ne peut pas faire grand chose
12:32 <discord_afpy> <saturn7694> et que bien souvent le dev va faire ce qu'on lui demande et prendre les coups quand ça bug
12:32 <discord_afpy> <chadys> parce que c'est comme ça que je différencie les deux termes dans mon lexique personnel. Je déffinie "codeur" par "personne qui sait taper du code quand on lui dit exactement ce qu'il y a à faire" (aka "pisseur de code" plus méchamment). Mais c'est ma définition de ce mot, ce n'est pas universel j'en ai bien conscience 🙂
12:33 <discord_afpy> <chadys> Et je différencie avec le développeur qui lui va s'intéressait aux problématiques sous-jacentes, se poser les bonnes questions, remettre en cause ce qu'on lui dit, penser à la cohérence globale et aux problématiques futures, etc
12:34 <discord_afpy> <chadys> C'est ma manière de différencier les deux profils
12:34 <discord_afpy> <saturn7694> Le truc c'est que on va préférer un mec qui délivre sans poser de question qu'un emmerdeur qui remet en question le métier
12:34 <discord_afpy> <chadys> dépend des boite mais oui j'ai connu ça aussi
12:34 <discord_afpy> <saturn7694> d'où les problèmes ensuite
12:34 <discord_afpy> <chadys> dans les deux cas ça nous retombera dessus à la fin 😄
12:34 <discord_afpy> <saturn7694> facile 80% des projets, l'agilité n'aide pas
12:34 <entwanne> méchamment et même insultant, en tant que ingénieur logiciel / développeur / codeur (choisissez le terme que vous préférez), ça me pose problème qu'on considère que le cœur de ce que je produis (écrire du code) peut s'apparenter à une activité qui ne demande aucune réflexion voire se fait inconsciemment (pisser)
12:35 <discord_afpy> <saturn7694> oui mas le dev se barre avant
12:35 <discord_afpy> <saturn7694> mais*
12:36 <discord_afpy> <chadys> Vois le dans l'autre sens. Il y a des personnes qui codent sans réfléchir. Je leur attribue le terme "codeur" pour les différencier (c'est un choix purement arbitraire). Si pour toi "codeur" est synonyme de "développeur", alors on ne parle pas de la même chose
12:36 <discord_afpy> <saturn7694> entwanne oui je pense qu'il ne faut pas dire ça. Mais comme on dit "garbage in, garbage out"
12:37 <discord_afpy> <chadys> "l'agilité c'est d'être flexible!" -> dixit mon ancien patron dès qu'on demandé d'avoir un peu plus de méthodo et de rigueur dans les process
12:38 <discord_afpy> <saturn7694> ah faut une certaine flexilibté c'est sûr . mais c'est pas que ça.
12:38 <discord_afpy> <chadys> et oui malheureusement écrire du code peut se faire sans réflexion, c'est bien pour ça que les IA ont la cote ^^'
12:38 <discord_afpy> <saturn7694> et je ne décris pas les méthodes agiles non plus.
12:39 <discord_afpy> <saturn7694> c'est juste pas empiler des features faire une démo toute les semaines, faut avoir aussi une vue globale. C'est ce qui manque a beaucoup de projet.
12:39 <discord_afpy> <chadys> sur ce je vous laisse, faut que j'aille pisser un coup
12:39 <alain_afpy> WARNING !!! YAKAFOKON DETECTED !!!!
12:40 <discord_afpy> <saturn7694> alain...
12:41 <entwanne> chadys: Là où ça me pose problème c'est que même les personnes que tu désignent réfléchissent pour coder (elles ne tapent pas au hasard sur des touches du clavier jusqu'à ce que l'ensemble soit exécutable), même si pas forcément assez, et donc que ça implique que l'activité écrire du code (écrire un programme qui tourne, même s'il n'est pas 100% fonctionnel) ne nécessite aucune réflexion
12:43 <discord_afpy> <saturn7694> je dirais que plutôt ça génère du travail pour le développeur qui serait mieux employé ailleurs
12:43 <discord_afpy> <saturn7694> (refacto, réalligement métier, etc...)
12:45 <discord_afpy> <saturn7694> comprendre réalligenement du code sur l'évolution du besoin métier. et par évolution j'entends pas le fait qu'on a découvert que ce qu'on pensait être une règle métier n'en est pas une.
12:46 <discord_afpy> <chadys> alors ok, soyons d'accord que ça reste une activité intellectuelle (si tu ne la délègue pas à l'IA ce que font de plus en plus de "pisseur" aujourd'hui), mais j'argumenterai qu'elle est sans grande plusvalue
12:51 <discord_afpy> <chadys> après évidemment que je ne désigne pas par ce terme l'écriture de code complexe qui demande réflexion et étude (problématique de performance poussée, bug tricky et autre). Là tu vas avoir nécessairement avoir du dév par l'évaluation du besoin technique, le choix de la solution avec ses pour et ses contre etc.
12:51 <discord_afpy> <chadys> Quand je parle de pisse, c'est par exemple là quand j'écrit un enième model django et son API. Son on m'a donné tout cuit la liste de champ et que je ne remet rien en question, honnêtement je pourrait automatiser ça que ce serait pareil
12:52 <discord_afpy> <chadys> sur ce j'y vait (pour de vrai haha)
12:52 <discord_afpy> <saturn7694> déjà avoir des PO dédiés c'est très discutable. Un PO ça devrait être quelqu'un qui a un poste spécifique (commercial, comptable, etc... )dans l'entreprise et qui porte un projet particulier.
12:53 <discord_afpy> <chadys> il faut être capable de discuter avec les tech et les partie prenantes, c'est pas donner à tout le monde et c'est toute la plusvalue du PO (quand ils sont bons).
12:54 <discord_afpy> <chadys> mais qqun du métier qui serait capable de comprendre les problématiques d'un projet informatique ce serait le pied
12:55 <entwanne> ouais tout ce que je voulais dire c'est que pour moi tout code, même le plus mauvais, nécessite de la réflexion, donc que je trouve ça dégradant pour tous les codeurs/développeurs de considérer que ce ne serait pas le cas
12:55 <discord_afpy> <saturn7694> oui je sais pas c'est plutôt au dev de s'adapter au métier
12:56 <entwanne> et ça m'interroge qu'on semble n'utiliser ce terme que dans notre domaine ou presque, jamais entendu parler de pisseur de lois, pisseur de notes ou pisseur de romans (mais il semble que "pisseur de copies" soit utilisé https://www.cnrtl.fr/definition/pisseur)
12:58 <discord_afpy> <saturn7694> On n'a pas besoin de rentrer dans la technique pour ça. Il faut juste poser les bonnes question et avoir les bonnes réponses. Si le PO a une bonne vision métier ça va sinon c'est juste de la perte de temps. Après si l'application fait partie du produit de l'entreprise, c'est pas pareil. Mais je sais pas si on peut parler de PO dans ce cas. c'est plutôt de la MOA
12:59 <discord_afpy> <saturn7694> Mais oui je pense que un contact plus direct entre le metier et les devs peut être bénéfique
13:00 <discord_afpy> <saturn7694> "pisseur de lois" il y a un terme dédié pour ça : "homme politique"
13:00 <discord_afpy> <saturn7694> faut savoir que le but ultime d'une telle personne et de donner son nom à une loi
13:06 <entwanne> pas sûr, je ne pense pas qu'il y ait besoin de généraliser
13:25 <discord_afpy> <saturn7694> c'est assez répandu comme idée
13:28 <discord_afpy> <saturn7694> c'est comme ça qu'on explique la complexité du code.
13:29 <discord_afpy> <saturn7694> faut qu'un ministre il fasse sa petite loi
13:29 <alain_afpy> WARNING !!! YAKAFOKON DETECTED !!!!
14:04 <discord_afpy> <saturn7694> alain_afpy toi au moins tu es pas une IA
15:08 <discord_afpy> <fred.et.rick> ah ben ça, c’est que j’explique à mes collègues du métier. Mon boulot, c’est d’expliquer à un ordinateur comment les mettrent au chomage, mais pour ça, j’ai besoin qu’ils m’expliquent leur boulot de façon détaillée parce que la machine ne tolère pas les approximations
15:52 <discord_afpy> <saturn7694> si tu le dis comme ça ça doit pas les rendre très coopératifs 😆
16:13 <discord_afpy> <Dorian TURBA> bah écoute, trouve moi 2 nouveaux disciples, et promis, j'arrete de procrastiner tous les projets que j'ai encore à faire avant de mourir
16:14 <discord_afpy> <Dorian TURBA> alors, question : Un update de PK, c'est techniquement possible, non ?
16:14 <discord_afpy> <Dorian TURBA> Je veux dire, je comprends que c'est plutôt a éviter, mais en soit, c'est pas sensé être problématique, surtout si c'est quelque chose qui n'arrive pas 1000 fois par secondes
16:20 <discord_afpy> <Dorian TURBA> Question : est-ce qu'il est possible de faire des procédure en DB pour, par exemple, pouvoir insert une ligne ["A", "machin"], où "A" ?pourrait? être une FK (mais pas un id), où la ligne en DB c'est [id, fk_A, "machin"], et qu'insert ["A", "machin"] permet de créer [fk_id, machin] sans avoir à récup l'ID soit même en amont?
16:34 <discord_afpy> <eyecontrol> La bonne excuse MDR
16:35 <discord_afpy> <saturn7694> je vous aiderais bien mais je ne suis pas sûr que ça soit souhaitable en fait
16:35 <discord_afpy> <saturn7694> nan mais je suis sérieux
16:36 <discord_afpy> <saturn7694> faut que Django ça reste simple
16:36 <alain_afpy> WARNING !!! YAKAFOKON DETECTED !!!!
16:36 <discord_afpy> <saturn7694> faut que vous arrétiez ce bot
16:36 <alain_afpy> WARNING !!! YAKAFOKON DETECTED !!!!
16:36 <discord_afpy> <eyecontrol> Tu me diras ce que c’est ces projets, tant que je suis pas en mission, si ça peut m’apporter des compétences utiles, envoie
16:49 <discord_afpy> <Dorian TURBA> en vrai, c'est plus par curiosité qu'autre chose. L'engine de MUD est basé sur Django et Twisted, mais j'aimerais pouvoir profiter de mes connaissances et de la simplicité de SA Core, surtout que Django, sur mon CV, je m'en tape tellement fort que je ne trouve pas de comparaison à la hauteur.
16:49 <discord_afpy> <Dorian TURBA> Rien ne m'empèche d'avoir django orm pour le coeur de l'engine, et SA pour les truc plus orienté "jeu", mais j'aurais quand même besoin de dupliqué les models, et ça c'est casse pied
16:54 <discord_afpy> <Dorian TURBA> Simple, il faut que (trigger bot):
16:54 <alain_afpy> WARNING !!! YAKAFOKON DETECTED !!!!
16:54 <discord_afpy> <Dorian TURBA> - finir toute l'automatisation CICD, y a du taff, c'est relou, et sans licence R2 payante, on va en baver
16:54 <discord_afpy> <Dorian TURBA> - Faire une V1 du MUD
16:54 <discord_afpy> <Dorian TURBA> - Faire l'integ discord de Meteor (et avancer le projet pour une V1), etape suivante, avoir une interface front (django?) nulle mais utilisable (en tout cas, tester avec)
16:54 <discord_afpy> <Dorian TURBA> - Bosser sur la SWE KB
16:54 <discord_afpy> <Dorian TURBA> - Bosser sur Hardcore Python
16:54 <discord_afpy> <Dorian TURBA> - Finir ZeroPython
16:54 <discord_afpy> <Dorian TURBA> - Faire la maintenance de Fake Session Maker
16:54 <discord_afpy> <Dorian TURBA> - Update Lazyimp avec les suggestion d'Entwanne (encore à tester), et moderniser l'outil
16:54 <discord_afpy> <Dorian TURBA> - Faire des boilerplates
16:54 <discord_afpy> <Dorian TURBA> C'est ce qui me vient, là
16:56 <discord_afpy> <Dorian TURBA> Sachant que presque chacun de ces points mène à une suite...
16:57 <discord_afpy> <saturn7694> c'est quoi MUD ?
16:57 <discord_afpy> <Dorian TURBA> Et que des gens comme Mik, Chadys et autre parasitent mon esprit malade de question intéressante
16:57 <discord_afpy> <Dorian TURBA> on est pas sorti de l'auberge
16:58 <discord_afpy> <Dorian TURBA> @Mik https://html.duckduckgo.com/html/?q=what%20is%20a%20mud%20game
16:58 <discord_afpy> <saturn7694> comme je le disais pour moi les deux sont sur des secteurs très différents.
16:58 <discord_afpy> <Dorian TURBA> tu parles de quoi ?
16:58 <discord_afpy> <saturn7694> ah oui c'est marrant ça
16:58 <discord_afpy> <saturn7694> j'y ai pensé souvent à faire ça
16:59 <discord_afpy> <saturn7694> SA et Django
16:59 <discord_afpy> <Dorian TURBA> ah oui
16:59 <discord_afpy> <Dorian TURBA> c'est cool ^^
16:59 <discord_afpy> <Dorian TURBA> j'avais voulu faire en sorte qu'on puisse se connecter à plusieurs machines sur le même compte
16:59 <discord_afpy> <Dorian TURBA> mais j'ai laissé tombé
17:00 <discord_afpy> <Dorian TURBA> ça fonctionnait
17:00 <discord_afpy> <Dorian TURBA> puis ça a plus fonctionné
17:00 <discord_afpy> <saturn7694> je lirais mieux ce qu'est MUD mais oui je pense souvent à du MMORPG
17:00 <discord_afpy> <Dorian TURBA> j'ai giveup l'idée XD
17:00 <discord_afpy> <saturn7694> on commence tous par ça 🙂
17:00 <discord_afpy> <Dorian TURBA> les MUD, c'est un peu le papa oublié du mmo
17:00 <discord_afpy> <Dorian TURBA> sauf que je pense que si mon mud a un succès FOU
17:00 <discord_afpy> <Dorian TURBA> il fera max 10 joueurs max en même temps
17:01 <discord_afpy> <Dorian TURBA> donc bon
17:01 <discord_afpy> <Dorian TURBA> pas ouf mmo
17:01 <discord_afpy> <Dorian TURBA> :p
17:01 <discord_afpy> <saturn7694> oui mais justement les truc commerciaux sont tellement loin maintenant qu'on peut envisager un truc cheap open source
17:01 <discord_afpy> <chadys> Dans l'exemple donné par @CaptainKro c'était +400 table et des 100aine de valeur à mettre à jour d'un coup. Et pendant tout ce temps, ta DB est lock de partout et surtout elle est dans un status d'incohérence (FK invalide) tant que tu n'as pas fini. C'est pas juste "un peu chiant", c'est vraiment pas anodin.
17:01 <discord_afpy> <chadys> Quelle avantage certains tu vois de ton côté ? À part l'économie de quelques subquery quand tu ne possèdes pas directement la PK, je vois pas trop le gain qui justifierai ce choix.
17:01 <discord_afpy> <saturn7694> en pixel art etc..;
17:01 <discord_afpy> <Dorian TURBA> euh
17:01 <discord_afpy> <Dorian TURBA> tu sais pas ce qu'est un MUD toi
17:02 <discord_afpy> <Dorian TURBA> Pixel art
17:02 <discord_afpy> <Dorian TURBA> lol
17:02 <discord_afpy> <Dorian TURBA> si seulement
17:02 <discord_afpy> <Dorian TURBA> ma femme me soutiendrait
17:02 <discord_afpy> <Dorian TURBA> mais devine ce qu'est un MUID
17:02 <discord_afpy> <Dorian TURBA> indice :
17:02 <discord_afpy> <chadys> haha my bad
17:02 <discord_afpy> <saturn7694> non mais je veux dire qu'en ce moment on est sur de struc en 3D
17:02 <discord_afpy> <Dorian TURBA> ma femme dit "Ton jeu c'est de la merde"
17:02 <discord_afpy> <Dorian TURBA> je demande pourquoi
17:02 <discord_afpy> <Dorian TURBA> ma femme réponds "c'est moche c'est con c'est que du texte"
17:02 <discord_afpy> <Dorian TURBA> donc
17:02 <discord_afpy> <Dorian TURBA> oublie le pixel art :p
17:02 <discord_afpy> <saturn7694> et la 3D c'est cher
17:03 <discord_afpy> <Dorian TURBA> ouais mais un mud
17:03 <discord_afpy> <Dorian TURBA> c'est même pas en 2D
17:03 <discord_afpy> <Dorian TURBA> c'est pas
17:03 <discord_afpy> <saturn7694> je sais pas mais l'équivalent d'uin nethack online c'est vraimeznt pas dur
17:04 <discord_afpy> <Dorian TURBA>
17:04 <discord_afpy> <eyecontrol> J’ai fait un screenshot 😬😬
17:04 <discord_afpy> <saturn7694> ah ouj je vois
17:04 <discord_afpy> <Dorian TURBA> sauf qu'un mud c'est en ligne en multi joueur
17:04 <discord_afpy> <saturn7694> oui oui
17:04 <discord_afpy> <Dorian TURBA> sinon, c'est juste un rpg textuel
17:04 <discord_afpy> <Dorian TURBA> donc cheap, c'est le mot
17:04 <discord_afpy> <Dorian TURBA> :p
17:05 <discord_afpy> <Dorian TURBA> ça n'aide pas à faire face à ma femme qui me demande de faire des trucs qui rapporte un peu d'argent
17:05 <discord_afpy> <saturn7694> oui ok . je pense à des truc au moins en 2D qd même en ce moment
17:05 <discord_afpy> <Dorian TURBA> ouais non
17:05 <discord_afpy> <Dorian TURBA> le max que je puisse faire en dessin
17:05 <discord_afpy> <Dorian TURBA> hum
17:05 <discord_afpy> <Dorian TURBA> c'est des avions en papier
17:05 <discord_afpy> <Dorian TURBA> donc
17:05 <discord_afpy> <Dorian TURBA> je vais éviter les truc graphiques pour au moins deux ou trois génération
17:06 <discord_afpy> <saturn7694> genre comme gather
17:06 <discord_afpy> <Dorian TURBA> gather ?
17:06 <discord_afpy> <Dorian TURBA> connais pas
17:06 <discord_afpy> <saturn7694> https://www.gather.town/
17:06 <discord_afpy> <Dorian TURBA> par contre vu que je me passe de graphisme, je veux faire en sorte de laisser le jeu accessible aux aveugles et malvoyant
17:06 <discord_afpy> <Dorian TURBA> bah non là y a du graphisme
17:07 <discord_afpy> <Dorian TURBA> (j'utilise(ais) ce truc, j'aime bien)
17:07 <discord_afpy> <saturn7694> c'est payant mais avec du game play et des monde interconnecté ça pourrait être pas mal
17:07 <discord_afpy> <saturn7694> oui enfin le graphisme...
17:07 <discord_afpy> <saturn7694> c'est WOW
17:07 <discord_afpy> <saturn7694> c'est pas WOW
17:07 <discord_afpy> <Dorian TURBA> bah c'est toujours vachement plus qu'un MUD
17:08 <discord_afpy> <saturn7694> oui c'est spur
17:08 <discord_afpy> <Dorian TURBA> tu comprends le concept de "tu peux jouer dans ton terminal avec une connection telnet" ? :p
17:08 <discord_afpy> <Dorian TURBA> genre
17:08 <discord_afpy> <Dorian TURBA> t'ouvre ton terminal
17:08 <discord_afpy> <Dorian TURBA> hop
17:08 <discord_afpy> <saturn7694> oui je connais bien ça
17:08 <discord_afpy> <Dorian TURBA> tu as ton client de jeu 😄
17:08 <discord_afpy> <saturn7694> il y a personne sur leur serveur
17:08 <discord_afpy> <Dorian TURBA> j'ai des clients qui utilisent Gather
17:09 <discord_afpy> <saturn7694> ça àa attire que les geeks
17:09 <discord_afpy> <saturn7694> oui c'est connu
17:09 <discord_afpy> <saturn7694> c'est payant
17:09 <discord_afpy> <saturn7694> c'est chiant
17:09 <discord_afpy> <Dorian TURBA> gratuit en dessous de 10
17:09 <discord_afpy> <saturn7694> juste pour que tu est une idée du "graphisme" attnedu
17:10 <discord_afpy> <saturn7694> tu fais ça avec la possibilité de connecter des instance entre elles ça pourrait être intéressant
17:10 <discord_afpy> <Dorian TURBA> non mais à ce niveau là, autant jouer à dofus 😉
17:10 <discord_afpy> <saturn7694> la 2D franchement c'est facile
17:11 <discord_afpy> <Dorian TURBA> RAH
17:11 <discord_afpy> <Dorian TURBA> NON
17:11 <discord_afpy> <saturn7694> c'est la 3D qui est compliquée
17:11 <discord_afpy> <Dorian TURBA> Non mais
17:11 <discord_afpy> <saturn7694> oui moins que la 3D en tout cas
17:11 <discord_afpy> <Dorian TURBA> c'est plus difficile que "Tu vois un arbre super vachement beau devant toi."
17:11 <discord_afpy> <Dorian TURBA> tu peux pas test mon arbre
17:11 <discord_afpy> <saturn7694> c'est sur que du texte c'est encore plus facile
17:12 <discord_afpy> <Dorian TURBA> bah voila
17:12 <discord_afpy> <Dorian TURBA> CQFD
17:12 <discord_afpy> <saturn7694> entre les deux déjà il y a un tas de modalités
17:12 <discord_afpy> <Dorian TURBA> comme quoi ? L'ascii art ?
17:13 <discord_afpy> <saturn7694> gather ça a jamais décollé mais le concept est intéressant
17:13 <discord_afpy> <saturn7694> non mais tu peux moduler entre interaction graphique et texte
17:13 <discord_afpy> <saturn7694> tu est pas obligé de tout animé comme dans un D&D
17:13 <discord_afpy> <Dorian TURBA> ouais, faire comme les vieux RPG
17:14 <discord_afpy> <saturn7694> même si ça serait bien...
17:14 <discord_afpy> <Dorian TURBA> ou un romance simulator japonais
17:14 <discord_afpy> <Dorian TURBA> mais dans tout les cas, faut de jolie truc à afficher à l'écran
17:14 <discord_afpy> <saturn7694> genre FF c'est pas ouf quand même in est d'accord
17:14 <discord_afpy> <Dorian TURBA> bordel, moi je sais que coder dans Pycharm ^^
17:14 <discord_afpy> <saturn7694> niveau technique
17:14 <discord_afpy> <Dorian TURBA> Bah c'est vachement plus ouf que ce que je sais faire
17:14 <discord_afpy> <Dorian TURBA> au mieux
17:14 <discord_afpy> <saturn7694> c'est du tour par tour
17:14 <discord_afpy> <Dorian TURBA> je dessine un monsieur baton et je scan la page
17:15 <discord_afpy> <Dorian TURBA> Tu as mon niveau ultime là
17:15 <discord_afpy> <saturn7694> le temps réel c'est chaud mais tu tour par tour ça va
17:15 <discord_afpy> <saturn7694> oui le graphisme c'est sur c'est un boulot mais ça se trouve c'est quand même pas le plus dur
17:16 <discord_afpy> <Dorian TURBA> bah encore une fois, quand tu pue la mouise en dessin, non, même le tour par tour c'est horrible
17:16 <discord_afpy> <saturn7694> encore que ça reste de l'art c'est comme la musique si c'est bien fait c'est mieux
17:16 <discord_afpy> <Dorian TURBA> Ah
17:16 <discord_afpy> <Dorian TURBA> ouais
17:16 <discord_afpy> <saturn7694> ça peut faire la différence c'est sûr
17:16 <discord_afpy> <Dorian TURBA> oublie la musique dans le MUD 😄
17:16 <discord_afpy> <Dorian TURBA> hors de question que je me casse les fesses à faire en sorte de mettre de la musique
17:16 <discord_afpy> <Dorian TURBA> c'est pire que les graphismes
17:17 <discord_afpy> <saturn7694> je pense que le truc c'est de trouver qqchose facile à mettre en oeuvre capable de faire adhérer les joueurs
17:18 <discord_afpy> <saturn7694> mais c'est sûr que si tu veux concurrencer le "commercial" les mecs ils en sont à la 3D en immersion c'est mort
17:18 <discord_afpy> <Dorian TURBA> clairement, c'est pas le cas
17:18 <discord_afpy> <Dorian TURBA> mais y a un truc facile
17:18 <discord_afpy> <Dorian TURBA> les jeux "modernes", ils font des trucs moderne
17:19 <discord_afpy> <Dorian TURBA> genre avoir une carte du monde, des monstres tout joli
17:19 <discord_afpy> <saturn7694> le truc c'est tellement en trian de décoller ces trucs là que c'est surement voué à l'échec
17:19 <discord_afpy> <Dorian TURBA> mais pour des personnes malvoyantes, c'est un peu chaud
17:19 <discord_afpy> <saturn7694> oui c'est vria
17:19 <discord_afpy> <saturn7694> non mais on est a un tel point déjà...
17:19 <discord_afpy> <Dorian TURBA> donc une partie du public que je vise, c'est ceux qui ont pas envie d'avoir le nez a 2 cm de l'écran pour voir une tache de couleur.
17:20 <discord_afpy> <saturn7694> moi je suis pas un joueur perso et surtout pas sur ça...
17:20 <discord_afpy> <Dorian TURBA> > le truc c'est tellement en trian de décoller ces trucs là que c'est surement voué à l'échec
17:20 <discord_afpy> <Dorian TURBA> De quoi ?
17:20 <discord_afpy> <Dorian TURBA> tu parle de quoi en disant "ça" ?
17:20 <discord_afpy> <saturn7694> les mondes virtuels
17:20 <discord_afpy> <Dorian TURBA> ah
17:20 <discord_afpy> <saturn7694> je joue même pas à Wow etc...
17:21 <discord_afpy> <Dorian TURBA> ouais bah tkt quand mon jeu sera sortie en v0.1, je t'enverrais pas de clé pour acceder à la béta :p
17:21 <discord_afpy> <Dorian TURBA> promi
17:21 <discord_afpy> <saturn7694> j'ai souvent penser à eve on line mais je veux pas c'est trop de la perte de temps
17:21 <discord_afpy> <Dorian TURBA> Moi j'aimerais en profiter pour apprendre et faire apprendre des mots de la langue française
17:21 <discord_afpy> <saturn7694> mais oui côté commercial la concurrence est dur
17:22 <discord_afpy> <Dorian TURBA> en faisant le jeu, j'ai appris des trucs genre ce qu'est un nadir, une forme lancéolée, un calade, etc
17:22 <discord_afpy> <saturn7694> il faut trouver des turc transuille le truc qui t'occupe 1h00 par jour
17:22 <discord_afpy> <Dorian TURBA> nan
17:22 <discord_afpy> <Dorian TURBA> moi je pense
17:22 <discord_afpy> <Dorian TURBA> il faut trouver un truc auquel tu puisse jouer au boulot sans te faire cramer
17:22 <discord_afpy> <Dorian TURBA> genre dans ton IDE
17:23 <discord_afpy> <Dorian TURBA> 😄
17:23 <discord_afpy> <saturn7694> les mecs qui veulent jouer 100% de leur life ils ont déjà tout ce qu'il faut
17:23 <discord_afpy> <Dorian TURBA> ouais mais
17:23 <discord_afpy> <Dorian TURBA> jouer au taff c'est chaud sur wow
17:23 <discord_afpy> <Dorian TURBA> 😉
17:23 <discord_afpy> <saturn7694> oui je vois
17:24 <discord_afpy> <saturn7694> non c'est une bonne idée après graphisme pas graphisme c'est de l'habillage
17:25 <discord_afpy> <saturn7694> c'est mieux si ça peut faire un peu rêver c'est pour ça un bon graphiste c'est important
17:25 <discord_afpy> <saturn7694> mais à ce moment là ça devient un peu son oeuvre
17:25 <discord_afpy> <saturn7694> mais il y a du potentiel sur ça vraiment...
17:26 <discord_afpy> <saturn7694> on voit trop peu de choise alors qu'internet existe depuis un moment
17:26 <discord_afpy> <saturn7694> pour moi c'est vraiment là ou on commence à rentrer dans l'art
17:28 <discord_afpy> <saturn7694> on a un truc capable de faire de la vidéo de l'audio mais les artistes ne s'en sont pas encore assez emparé
17:29 <discord_afpy> <saturn7694> si tu es bon sur l'écriture fait ça le medium en fait n'est important
17:29 <discord_afpy> <saturn7694> n'est pas*
17:30 <discord_afpy> <Dorian TURBA> re
17:30 <discord_afpy> <Dorian TURBA> ah
17:30 <discord_afpy> <Dorian TURBA> je suis 100% d'accord
17:30 <discord_afpy> <saturn7694> oui l'essentiel c'est le contenu
17:30 <discord_afpy> <Dorian TURBA> qui a besoin de voir son personnage en 3D gesticuler dans tout les sens.
17:30 <discord_afpy> <Dorian TURBA> Perso, je trouve le combat log de WOW 100% sufissant pour completement apprécier le jeu :3
17:30 <discord_afpy> <saturn7694> et perso j'ai jamais trop pensé que les contenus commerciaux valaient la peine
17:31 <discord_afpy> <Dorian TURBA> les livres ont pas eu besoin de graphisme pour faire rever, IMO faut probleme
17:31 <discord_afpy> <saturn7694> oui je suis d'accord
17:32 <discord_afpy> <Dorian TURBA> c'est à dire ?
17:32 <discord_afpy> <saturn7694> c'est surtout le contenu qui importe
17:32 <discord_afpy> <Dorian TURBA> ouais
17:32 <discord_afpy> <saturn7694> pour l'instant moi je n'ai rien trouvé qui me fait dire c'est de l'art
17:32 <discord_afpy> <Dorian TURBA> bon après le contenu, ça prends du temps, mais ça, c'est plus dans mes cordes que l'art ou la musique ^^
17:33 <discord_afpy> <Dorian TURBA> oh quand même...
17:33 <discord_afpy> <saturn7694> c'est comme si les duex mondes vivait à part
17:33 <discord_afpy> <Dorian TURBA> Les classiques, Flower, Journey, Gris
17:33 <discord_afpy> <saturn7694> oui je sais c'est un long débat
17:33 <discord_afpy> <Dorian TURBA> Les Indé, Subnautica, Frostpunk, Tunic
17:34 <discord_afpy> <Dorian TURBA> et la liste est longue comme pas possible
17:34 <discord_afpy> <Dorian TURBA> même Cyberpunk 2077 est époustouflant, niveau artistique
17:34 <discord_afpy> <saturn7694> oui disons que c'est un bon début
17:35 <discord_afpy> <saturn7694> mais c'est normal
17:35 <discord_afpy> <saturn7694> il y a beaucoup encore à faire je pense
17:36 <discord_afpy> <saturn7694> on n'est pas arrivé au niveau de ce que peut être un film ou un morceau de musique,
17:36 <discord_afpy> <saturn7694> (enfin certains...=
17:36 <discord_afpy> <Dorian TURBA> Je ne suis pas d'accord
17:36 <discord_afpy> <Dorian TURBA> Déjà, il y a beaucoup de film de merde
17:36 <discord_afpy> <Dorian TURBA> 😄
17:36 <discord_afpy> <saturn7694> non mais c'est compliqué comme sujet
17:37 <discord_afpy> <Dorian TURBA> si tu prends les chef d'oeuvres, ok
17:37 <discord_afpy> <Dorian TURBA> mais
17:37 <discord_afpy> <Dorian TURBA> il y a aussi de sacré chef d'oeuvre dans le JV
17:37 <discord_afpy> <saturn7694> oui je dirais que sur ce média là la merde précède avec une bonne longueur d'avance le sérieux (sui reste à inventer je pense)
17:38 <discord_afpy> <saturn7694> c'est le problème
17:38 <discord_afpy> <saturn7694> j'ai jaimais testé les indé jamais eu le temps
17:39 <discord_afpy> <Dorian TURBA> hum j'aime bien les films, mais y en a pas beaucoup qui m'ont fait flipper ET chialer comme sur Subnautica
17:39 <discord_afpy> <Dorian TURBA> pas beaucoup qui m'ont mis autant le blue que sur Frostpunk
17:40 <discord_afpy> <saturn7694> déjà le cinéma on peut pas dire que la proportion oeuvre d'art/ exploitation est importante
17:40 <discord_afpy> <saturn7694> 90% des films n'ont pas de vocation artistique
17:40 <discord_afpy> <Dorian TURBA> Ah
17:40 <discord_afpy> <saturn7694> j'exagère un peu peut être
17:40 <discord_afpy> <Dorian TURBA> on a le droit de partager des liens Youtube ici ?
17:41 <discord_afpy> <Dorian TURBA> non je pense que t'es pas loin, c'est aussi une industrie
17:41 <discord_afpy> <saturn7694> si on compte toutes les séries B les films de merde des années 80 (et des autres décénies) on doit pas être loin de ça...
17:42 <discord_afpy> <saturn7694> bon c'est un peu sévère car je découvre des turc bien tous les jours
17:42 <discord_afpy> <saturn7694> mais il y a tellement de truc de merdre, des truc oubliés que personne ce souvient...
17:42 <discord_afpy> <Dorian TURBA> @Mik https://youtu.be/fvUy9AIVJQs
17:42 <discord_afpy> <Dorian TURBA> Il y a des artistes dans le JV
17:42 <discord_afpy> <Dorian TURBA> un paquet
17:43 <discord_afpy> <Dorian TURBA> oui, c'est aussi pourri par l'argent
17:43 <discord_afpy> <Dorian TURBA> comme toute forme d'art
17:43 <discord_afpy> <Dorian TURBA> mais il y a de sacré truc, et ce serait dommage de passer à coté de ce qu'il y a de meilleur
17:44 <discord_afpy> <saturn7694> non je dis pas qu'ils ont pas les moyens d'êtres bon
17:50 <discord_afpy> <saturn7694> c'est un sujet compliqué c'est clair, et je suis pas sûr d'être légitime pour parler de ça. Mais l'art c'est compliqué surtout quand on a une histoire sur plusieurs milénaires. Et même la notion d'histoire et de modernité est compliquée. A un moment il faut amener quelque chose de nouveau et c'est toute la difficulté.
17:53 <discord_afpy> <saturn7694> après on peut dire un film c'est un film, une musique c'est une musique, un dessin etc... c'est des choses sur lesquelles je m'interroge beaucoup...
17:55 <discord_afpy> <saturn7694> je pense que sur les nouvelles techno on est à la préhistoire en terme d'art
18:04 <discord_afpy> <Dorian TURBA> tkt
18:04 <discord_afpy> <Dorian TURBA> mon mud va changer le game
19:24 <discord_afpy> <eyecontrol> J’aimerais tellement avoir la même confiance en moi 😅😬😂
21:35 <discord_afpy> <Dorian TURBA> Je t’ai dis, 10 joueurs en meme temps, c’est podium des meilleurs mud fr !
21:35 <discord_afpy> <Dorian TURBA> Lance toi, tu as ta chance 🙂
22:22 <discord_afpy> <eyecontrol> J’ai rien compris 😅
22:23 <discord_afpy> <fred.et.rick> j’ai trouvé 2/3 jeux comme ça, y’a Python, SQL et GitlabCI, j’y joue toute la semaine et personne me dit jamais rien
22:28 <discord_afpy> <eyecontrol> 😂 c’est déjà tellement ce que tu fais avec tes millions de projets 😅