🔴 LE BLACK FRIDAY EN DIRECT ! 🔴 LE BLACK FRIDAY EN DIRECT !

Github : des utilisateurs veulent attaquer Microsoft qui utilise leur code pour alimenter son IA

20 octobre 2022 à 12h47
25
Github logo
© Github

Copilot, un outil de Microsoft boosté par l'IA, fait face à une potentielle action de groupe de codeurs open-source sur Github.

L'intelligence artificielle à but lucratif du géant américain aurait en effet été entraînée à l'aide de milliards de lignes de code accessibles à tout un chacun et hébergées sur la plateforme collaborative.

Une action de groupe copilotée contre Copilot

Pour rappel, Microsoft avait racheté Github en 2018. En juin dernier, la firme de Redmond a lancé Github Copilot, une extension de Visual Studio utilisant des algorithmes de prédiction pour compléter automatiquement des lignes de code. L'IA utilisée par Copilot se baserait sur Codex, créée et entraînée par OpenAI.

Pour profiter des services de Copilot, Microsoft propose une licence aux développeurs à partir de 10 dollars par mois, ou via un abonnement de 100 dollars à l'année. Or, l'IA a été entraînée via des lignes de code open-source sur Github, dont les contributeurs ne retirent aucun profit.

Matthew Butterick, programmeur et avocat, a ainsi mis en place un site appelé Github Copilot Investigation, cité en source ci-dessous. Ceci est une première étape visant à rassembler d'autres contributeurs bénévoles sur Github en vue de monter une action de groupe à l'encontre de Copilot.

Butterick se montre particulièrement véhément envers l'outil de Microsoft, en écrivant sur le site « Comme Néo branché à la Matrice ou une vache dans une ferme, Copilot veut nous convertir en rien de plus que des producteurs d'une ressource à extraire. Et encore, les vaches ont au moins de la nourriture et un abri en retour. Il semblerait ici que Microsoft profite du travail des autres en méprisant les conditions des licences open-source et autres prérequis légaux ».

L'éthique et l'IA ne font pas bon ménage

Quand bien même un code open-source peut être utilisable librement par toutes et tous, la bonne pratique veut que la source originale soit créditée. Chose que Copilot est dans l'incapacité de faire en compilant des milliards de lignes de code piochées ici et là, souvent même mot pour mot, malgré l'assurance du contraire par Github.

Pour sa défense, Microsoft indique que le code utilisé par Copilot tombe sous le cadre légal américain relatif aux droits d'auteur du « fair use » transformatif. Mais, comme le précise Butterick sur son site, une telle législation n'a pas encore été établie lorsqu'il s'agit de travaux réalisés par une intelligence artificielle.

Comme on peut le constater sur le tweet ci-dessus, Butterick semble ne pas être le seul codeur open-source à montrer son désaccord à l'encontre de Copilot. Il invite ainsi les potentiels plaignants à contacter le cabinet au sein duquel il travaille pour monter un dossier d'action de groupe en bonne et due forme.

L'intelligence artificielle ne cesse décidément de diviser, le cas récent le plus flagrant étant les œuvres d'art créées via des outils tels que DALL-E ou Midjourney. À tel point que, à défaut de pouvoir les arrêter, les communautés d'art ont décidé de bannir de telles œuvres en leur sein, pour protéger le travail des artistes de chair et d'os.

Reste à voir si l'action de groupe initiée par Butterick à l'encontre de Copilot portera ses fruits ou non.

Soyez toujours courtois dans vos commentaires.
Respectez le réglement de la communauté.
25
13
Loposo
Et bien comme dall e ou l autres qui fait des dissertations, l IA sera capable de coder elle même des soft pas des simple demande et au final ça ouvrira la porte a pas mal de monde a faire leurs petits soft etc,…<br /> Les cols blancs commences à découvrir ça que l industrie a connue<br /> Jamais lu qu il fallait citer absolument toutes les sources.<br /> Bref mettre tout les codes sur une plateforme qui appartient à Microsoft , il faut voir la cgu aussi, Microsoft allait bien s en servir. Si c est gratuit que Microsoft matient le site les servers etc il y a bien une raison<br /> Sinon on fait comme d autres on a son propre site et on met rien sur github<br /> Et il faut contacter les cabinet d avocat ou il travai
MattS32
Quand bien même un code open-source est en principe utilisable librement par toutes et tous<br /> Non, absolument pas, et ça rend le problème d’autant plus grave.<br /> Il y a de nombreuses licences open source différentes, et toutes ne donnent pas une liberté absolue.<br /> Par exemple avec la GPL, il est interdit de réutiliser le code dans une application diffusée sous licence non compatible avec la GPL.
MattS32
Loposo:<br /> Bref mettre tout les codes sur une plateforme qui appartient à Microsoft , il faut voir la cgu aussi, Microsoft allait bien s en servir.<br /> Fondamentalement, ça n’aurait rien changé que la plateforme soit à Microsoft ou non. Dans la mesure où c’est accessible publiquement, Microsoft aurait tout a fait pu utiliser tout ce code pour l’apprentissage sans que GitHub lui appartienne.<br /> Il existe d’ailleurs déjà d’autres IA de complétion de code entraînées avec du code public, sans que leur éditeur ne soit le propriétaire d’une plateforme SCM. Il suffit d’aller se sourcer sur n’importe quelle plateforme avec des repos publics (GitHub, GitLab, Bitbucket, SourceForge…)…<br /> Par contre, d’autres l’ont fait en faisant un peu plus attention à la question des licences… Par exemple, sur Tabnine, ils n’ont utilisé que du code sous licence BSD-like, des licences très permissives qui autorisent l’intégration dans du logiciel propriétaire, n’obligent généralement même pas à citer l’origine du code, etc…
Than
Open source ne signifie pas qu’on peut faire ce que l’on veut.<br /> Il y a justement tout un tas de licences avec des particularités différentes.<br /> Que ça soit accessible ne signifie pas systématiquement qu’on puisse faire un service marchand avec, par exemple.
Fodger
Effectivement @Than trop de personnes font le raccourci entre opensource et libre de droits.<br /> Un petit récapitulatif pour ceux que ça intéresse : Appendix | Choose a License.<br /> Sinon le github copilot ça doit être bien chiant d’avoir plein de blocs de code proposés dès que tu commences à pondre un proto XD…
leulapin
Par exemple avec la GPL, il est interdit de réutiliser le code dans une application diffusée sous licence non compatible avec la GPL.<br /> Sauf que là ça ne réutilise pas le code, ça analyse son fonctionnement et ça intègre le résultat à une IA aidant à coder. C’est très différent et non prévu par la GNU GPL à ma connaissance.
MattS32
leulapin:<br /> Sauf que là ça ne réutilise pas le code, ça analyse son fonctionnement et ça intègre le résultat à une IA aidant à coder. C’est très différent et non prévu par la GNU GPL à ma connaissance.<br /> Non, clairement, ça réutilise le code.<br /> Regarde l’exemple donné par Tim Davis, le code est quasi identique, les changements se limitent à des noms de variables (C devenu T, Ax devenu Tx) et des variables « constantes » remplacées par leurs valeurs (m, n, Ap, Ai et Ax qui sont initialisées dans le code de gauche et qui sont remplacées par leurs valeurs dans le code de droite). Même les commentaires sont repris :<br /> 1840×871 200 KB<br /> On est clairement dans la réutilisation de code là.<br /> C’est rigolo d’ailleurs parce que les renommages de certaines variables ne sont même pas fait de façon cohérente… À gauche, on a C, puis Cp, Ci, Cx pour représenter C-&gt;p, C-&gt;i et C-&gt;x. À droite on a T, puis Cp, Ci, Cx pour représenter T-&gt;p, T-&gt;i et T-&gt;x <br /> Un humain aurait fait mieux pour maquiller la copie
Nmut
C’est là que cela devient compliqué!<br /> En fait, on peut considérer ça comme une modification du code initial et donc ce nouveau code DOIT être GPL et diffusé, et les références citées. Le cas n’est pas directement prévu, mais c’est l’esprit.<br /> Et à ma connaissance, toutes les licences libres comme la LGPL, GPL, MIT, Apache, BSD, … demandent de citer les « sources » (c’est le cas de le dire ) utilisées, même les plus lâches.
MattS32
Nmut:<br /> Et à ma connaissance, toutes les licences libres comme la LGPL, GPL, MIT, Apache, BSD, … demandent de citer les « sources » (c’est le cas de le dire ) utilisées, même les plus lâches.<br /> En effet, il me semblait qu’en BSD ce n’était pas obligatoire, mais si.<br /> Y a la WTFPL qui autorise à ne pas citer l’origine. Mais ça fait maigre du coup ^^
Aegis
Il faudrait voir si l’IA copie tout le temps ou si c’est un cas particulier. Il est probable qu’ils citent le pire exemple
leulapin
Il y a et aura probablement des raté, mais la technologie, de ce que j’en comprends, n’a pas pour objet de faire des duplications de code et donc il sera difficile de plaider contre une IA dont l’algo n’est par essence pas une action « volontaire » de la part du fournisseur de service.<br /> Pour moi on est sur un vide juridique comme souvent avec l’IA même si l’exemple donné par MattS32 effectivement relève de la copie de code concretement.
xryl
Honnêtement, pour une entreprise, c’est hyper risqué d’utiliser Copilot. Car, quand bien même la majorité du code provient d’un MIT ou un BSD, il suffit qu’il y ait une seule ligne de GPL soit intégrée, et tu peux te choper un procès gigantissime au c.l.<br /> Imagine que Microsoft l’utilise pour un composant quelconque de Windows. L’auteur s’en rend compte, il attaque Microsoft, et vlan, tout le code source Windows devient GPL, donc Microsoft doit fournir le code source librement et ne peut rien faire contre un concurrent qui ferait un fork de Windows…<br /> C’est juste beaucoup trop risqué pour le gain potentiel (et surtout, aucune étude ne montre que le code généré est meilleur que celui d’un humain).
MattS32
leulapin:<br /> donc il sera difficile de plaider contre une IA dont l’algo n’est par essence pas une action « volontaire » de la part du fournisseur de service.<br /> Pour moi à partir du moment où le fournisseur du service a donné du code à son IA pour qu’elle apprenne avec, il ne peut nier une action volontaire… Et quand bien même l’IA serait allée chercher le code elle même sur Internet, c’est quand même le créateur de l’IA qui a implémenté ce comportement à la base.
Nmut
MattS32:<br /> WTFPL<br /> Je ne la connaissais pas celle là! <br /> Ca me fait mal au c-l… <br /> Désolé, je suis sorti! ----------&gt; []
Nmut
Oui très probablement. Cependant un seul cas permet de dire « ce n’est pas bon »!<br /> De toute façon, par principe et dans la logique des règles des licences, il y a inspiration =&gt; ils ne respectent pas les licences.<br /> Je pense que c’est surtout un cas qu’il va falloir étudier pour les différentes licences (chouette, une future LGPLV4, c’était trop simple avant!).
ld9474
xryl:<br /> Honnêtement, pour une entreprise, c’est hyper risqué d’utiliser Copilot. Car, quand bien même la majorité du code provient d’un MIT ou un BSD, il suffit qu’il y ait une seule ligne de GPL soit intégrée, et tu peux te choper un procès gigantissime au c.l.<br /> Il ne faut pas confondre une ligne de code avec un algorithme ou une implémentation logicielle. Des lignes de code identiques vous en avez dans tous les programmes.<br /> A moins que Copilot ait évolué (je ne l’utilise plus depuis qu’il est payant), c’est surtout un accélérateur de developpement. Il permet d’éviter de répeter en permanence les même lignes de code. En revanche quand il propose des gros blocs de code c’est plus ennuyeux car il faut le lire et le comprendre (même si c’est pas très dur), mais du coup c’est parfois plus rapide de le taper soit même.<br /> Globalement je trouve que c’est un outil utile. Néanmoins je comprends parfaitement le procès qui est intenté parce que si qui a fait la pertinence de l’outil se sont des lignes de code des autres sans qu’on ait demandé quoi que ce soit. D’un autre côté GitHub est gratuit et sans pub. Or derrière il y a des serveurs, des devs etc. Je suis donc un peu mitigé.
Ducatevo
Ben voilà, on y arrive, doucement mais sûrement. Pendant que les humains se chamaillent pour du pognon, les IA apprennent, deviennent de plus en plus matures et remplaceront bientôt les enfants un peu trop bruyants en train de s’échanger des gros mots pour savoir à qui revient le sac de billes !!!<br /> Et tout le monde regarde cette scène pitoyable sans mouffeter. Ils trouvent même ça amusant !!! Et demain, les enfants auront été remplacés, puis viendra le tour des spectateurs naïfs … Amen, la messe est dite…<br /> Dramatiquement dramatique…
MattS32
ld9474:<br /> D’un autre côté GitHub est gratuit et sans pub. Or derrière il y a des serveurs, des devs etc. Je suis donc un peu mitigé.<br /> GitHub a une offre gratuite. Mais il n’est pas totalement gratuit, il y a plein d’options payantes (et quand tu en as un usage pro, c’est vite indispensable de payer… rien que la protection de branche sur un repo privé, qui est quand même une fonction assez essentielle pour une entreprise, c’est payant), y compris du GitHub « local » hébergé sur les serveurs de l’entreprise cliente.<br /> Au moment où MS a racheté GitHub, c’était déjà une grosse entreprise, qui faisait un CA de plusieurs centaines de millions de dollars.<br /> Et rien dans les conditions d’utilisations ne dit que GitHub a un droit d’exploitation du code pouvant aller au delà de ce que la licence du code prévoit.
ld9474
MattS32:<br /> Et rien dans les conditions d’utilisations ne dit que GitHub a un droit d’exploitation du code pouvant aller au delà de ce que la licence du code prévoit.<br /> C’est là où je suis d’accord.<br /> MattS32:<br /> GitHub a une offre gratuite. Mais il n’est pas totalement gratuit<br /> Sinon ca ne pourrait pas marcher <br /> J’avoue que j’utilise plus Azure DevOps par habitude et GitHub c’est surtout pour « voir » du code.
PalFab
Bonjour,<br /> L’exemple donné par MattS32 n’est pas suffisant pour parler de plagiat.<br /> Donner un exercice pour faire une rotation de tableau à une classe d’étudiant de 30 élèves et vous aurez quasiment le même code à force, donc pour un problème simple les solutions ne sont pas infinies, mais finies et la solution optimale a de grandes chances de revenir souvent. Même chose pour les commentaires.<br /> L’expression i++ est couramment utilisé dans un code de surcroit dans une boucle, dois-je citer le bouquin de Ritchie à chaque fois ???<br /> Bref, ce n’est pas sur une fonction de ce type que l’on peut parler de plagiat, il faut regarder l’usage de l’ensemble du code.<br /> Ensuite, l’IA est une aide à l’autocomplétion, en conséquence le changement de variables n’est pas forcément l’action de l’IA.<br /> Cependant, il est clair qu’il faut surveiller ce genre de chose, voir demander à Microsoft d’inclure le fait que la communauté dans son ensemble à participer à la réalisation du code. Il est difficile de nommer l’exactitude de l’origine des sources.
xryl
Le truc, c’est que ce n’est pas une ligne de code qui fait pencher pour un pliagiat, mais la succession de certaines opérations qui ne sont pas forcément évidentes, le nom des variables (après tout, tu pourrais nommer tes variables x45fGSOFEncijfre_FSDOGROJ, mais le simple fait que tu choisisses un nom particulier, c’est dans ton droit d’auteur), etc…<br /> Le problème, c’est que lorsque 2 codes se ressemblent, et que tu attaques en justice, ledit code est présenté à un jury qui piges que dalle dans le pourquoi ou la difficulté d’écrire ce code, mais qui va, très justement d’ailleurs, comparer les 2 textes et décider si plagiat il y a.<br /> Il n’y a qu’à voir la jurisprudence, type Oracle vs Google (dans Android) par exemple, où c’était clair que Google avait copié Oracle pour les API de son langage « Java ». Il a fallu 11 ans et arriver jusqu’à la Cour Suprême pour que finalement, on donne à Google l’excuse d’un « fair use » c’est à dire que, pour écrire une fonction qui fait la même chose (et qui est compatible binairement avec la JVM), il est normal que la ligne de code soit identique.<br /> C’est à dire que pour n’importe quelle boite qui n’est pas un multi-nationale côté en Bourse, le jugement va simplement être « c’est pareil, c’est du plagiat, tu craches… », impossible de remonter jusqu’à la Cour Suprême.<br /> Et j’imagine même pas si ça arrive sur des juridictions croisées, type droit d’auteur en France pour une entreprise américaine en mode Copyright.<br /> Le vrai problème, c’est que « l’AI » ici, c’est pas de l’intelligence, c’est un perroquet à qui on a appris la grammaire. Il sait renommer 2 ou 3 variables et faire en sorte que le code compile, mais il pige que dalle à ce qu’il fait. Donc le responsable, c’est pas le perroquet, mais le M. Loyal qui l’anime ici, donc Microsoft. Sauf que Microsoft ne souhaitant pas être responsable du code vomi par l’animal, se dédouane sur l’entreprise qui utilisera le code en question. Or, comme l’entreprise n’a aucun moyen de savoir d’où provient ledit code, elle est démunie (et c’est sur elle que tomberont les vautours).<br /> Un peu comme lorsque le FSD de Telsa se plante et tue 2 ou 3 personnes au passage et que la responsabilité t’est assignée. Beh ouais, comment-ça, t’as pas deviné/anticipé que la voiture allait subitement tourner à 90° et accélérer comme un taureau fou?
MattS32
xryl:<br /> Il n’y a qu’à voir la jurisprudence, type Oracle vs Google (dans Android) par exemple, où c’était clair que Google avait copié Oracle pour les API de son langage « Java ». Il a fallu 11 ans et arriver jusqu’à la Cour Suprême pour que finalement, on donne à Google l’excuse d’un « fair use » c’est à dire que, pour écrire une fonction qui fait la même chose (et qui est compatible binairement avec la JVM), il est normal que la ligne de code soit identique.<br /> Attention justement, c’est une situation très différente. Dans le cas de cette affaire, la « copie » par Google se limitait bien à l’API (les signatures des fonctions), pas à son implémentation (le code complet des fonctions) et à du code de test de l’API, et c’est pour ça que le juge a reconnu un « fair use » : parce que Google avait bien réimplémenté de son côté tout le code des fonctions de l’API.<br /> Dans le cas présent, pour avoir les mêmes conditions que dans l’affaire Google/Oracle, ça serait si c’était juste la ligne « cs *cs_transpose(const cs *A, csi values) » qui était recopiée du code de Tim Davis, pas le reste de la fonction. Je pense pas que Tim Davis s’en serait plaint si ça c’était limité à ça.
xryl
Oui, je ne discute pas de la conclusion (qui me paraît évidente), mais du chemin pour que Google parvienne à l’obtenir (11 ans de procédure, terminé en 2021, Google plusieurs fois condamné pour contrefaçon, etc…).<br /> Ici, c’est pareil. Même si la ligne de code est identique parce que c’est, logiquement, la meilleure manière de l’écrire, qui aura le courage (et la santé financière) de se taper 11 ans de procédure ?<br /> Je ne parle même pas, lorsqu’il s’agit de l’implémentation d’un fonction dont le contenu est identique, alors là, c’est plus du tout du fair use.<br /> Bref, en gros, c’est un bourbier monstre que d’utiliser cet outil, à mon humble avis.
Xavier_Pierre
Pour ceux qui se demande encore si c’est une chose récurrente ou pas. Franchement ça me fait de la peine.<br /> Les IA fonctionne sur un mécanisme de convergence des solutions vers la solution la plus efficiente en suivant certains critères. On ne sait pas quelle critères et utiliser pour github copilot mais sûrement des choses simples comme le nombre d’étoiles du projets, nombre de téléchargements du projet, qualité du code (y a des logiciels qui scan la qualité du code depuis longtemps), vitesse d’exécution du code, nombre de téléchargements, activités des développeurs (plus y a de dev actifs sur un projet open source, plus les codes seront review par la communauté et donc mieux écrit), ainsi que la couverture des tests.<br /> La réalité c’est que ça fait longtemps qu’on prône dans le dev le fait de réaliser des fonctions qui ne réalise qu’une seule action et qui sont très très courte (quelque ligne). Pour que ce soit simple de réaliser des tests unitaires etc…<br /> Dans une optique ou le code choisi pour entraîner l’IA été près trié par des algorithmes et/ou humain qui ont pris les codes qui respecte le plus les bonnes pratiques que ce soit indirectement (en regardant les projets open source les plus actifs donc naturellement tendant vers le mieux car review et conseiller par énormément de dev) ou directement en demandant à des experts de trié du code (peu probable parce qui va payer 200k€ plus un seul dev pour trier 1000ligne par jour alors qu’il faudrait en trié des millions voir milliards au total pour entraîner une IA si on parle en milliards de ligne et qu’on considère un expert payer pour la tâche qui toucherait 200k€/an et pourrait analyser que 365 000ligne de code par an pour en garder au final que 10% pour entraîner l’IA car faut trié le code de qualité bah ça fait 36 500ligne par an et faut un milliard de ligne de code ptdr donc t’on IA coûterait environ 30 000 an de salaire de cette expert théorique soit juste 6milliard ce qui en soit est limite une somme possible mais on parle aussi de 30 000ans xD donc bon faudrait 5000 ou 10 000expert de haut niveau dans le monde en analyse de code utiliser juste pour trier du code pendant 3 a 6 ans ? Faut pas non plus être devin pour se dire que c’est impossible. Les entreprises même Microsoft and co galère à recruter des talents c’est pour ça que les salaires sont haut. Donc je doute même qu’une entreprise seul dans le monde actuel puisse avoir recruter 5000experts dev sans parler d’une niche dans le dev lui même).<br /> Quand bien même dans les deux cas le résultat sera le même, le code choisi sera des codes qui respecte la qualité d’être testable par des tests unitaires et faisant qu’une seule chose etc… Donc bon si tu copie mot pour mot du code de 2-3ligne a chaque fois bah oui forcément tu respectes aucune licence. Donc oui ce genre de technologie ce sont des énormes trou juridique et a mon sens ça n’a rien de légal. Autant la technologie a quelques choses de bien quand même car elle aide les développeurs autant faut pas se mentir aucun dev a envie de se retrouver au chômage dans 5ans parce que les IA pourrons coder l’App entière en 3min… Et que tout les applications seront identiques au design près. Enfin bref
Xavier_Pierre
En plus de ça il est évident que le code a été près trié via les critères que j’ai donné :<br /> le nombre d’étoiles du projets, nombre de téléchargements du projet, qualité du code (y a des logiciels qui scan la qualité du code depuis longtemps), vitesse d’exécution du code, nombre de téléchargements, activités des développeurs (plus y a de dev actifs sur un projet open source, plus les codes seront review par la communauté et donc mieux écrit), ainsi que la couverture des tests.<br /> Qui sont au final très liée à la forte activité open source d’un projet et sa popularité. Donc aussi a des devs extrêmement impliqué et qui ont du temps devant eux. Autant dire que ça serait du suicide d’utiliser ce type de code alors qu’en face tu as une armée de devs avec des idéaux et du temps pour suspectée, analysée ton code et t’attaquer en justice, devs qui ont le rappelle communique beaucoup entre eux et pourrait limite attaqué tout le code source a plusieurs ou obtenir des infos interne leur permettant de savoir que X entreprises utilise X logiciel IA. Personnellement, je ne m’y risquerait pas en tant qu’entreprise mais chacun sa vie après tout.<br /> Et puis voilà y a aussi des outils anti plagiat et là on va me dire oui mais ça marche pas si on change trop le texte et c’est vrai mais en même temps que se passerait t’il si ce type d’outil n’était pas utiliser sur le code lisible par un humain mais le code tokeniser. Ou qu’on lui assigne des règles pour ignoré les renommage de variables etc…? Bah y a de fortes chances que ce type d’outil puisse facilement prouver le plagiat et permettre des attaques en justice de masse…<br /> Honnêtement je pense que github copilot c’est une étape, ensuite Microsoft fera un nouveau language propriétaire et tout les codes de tout les langages qu’à choisi copilot et qui en plus on été le plus populaire dans les choix des devs qui utilise l’IA seront traduit et formerons une IA pour le nouveau language de programmation en question, en rendant le language propriétaire et utilisable que par leur propre entreprise honnêtement ils auront un avantage stratosphérique vu qu’ils auront un code qu’on ne peut pas facilement reverse ingénieur puis ça serait même illégal de le reverse ingénieur ensuite ils auront une IA surpuissante pour aider à codé dans le langage et troisièmement ils pourront dire que tout le code a été une réécriture et appropriation car pris du language A pour aller sur le language B. Mais pour le moment on y ai pas.<br /> Copilot est une plaie mais en même temps c’est aussi bénéfique perso je pense que ça permettra à beaucoup de devs de progresser car beaucoup vont voir la solution de github copilot, la comprendre et petit a petit formé un sens immersifs sur le bon code. Tout comme on apprend une langue par immersion, la a force de voir, lire et comprendre du code de qualité bah beaucoup de dev vont naturellement être capable d’écrire du code de meilleures qualités.
Voir tous les messages sur le forum

Derniers actualités

Réseaux sociaux : comment la Chine cache les protestations... avec du porno
Magnifiques photos de la capsule Orion, sur son orbite avec vue sur la Terre et la Lune !
Trottinettes en libre-service interdites aux mineurs, ça arrive à Paris
Gigabyte laisse fuiter ses GeForce RTX 4070 Ti et Radeon RX 7900 !
Black Friday : Amazon brade le prix du MacBook Air M1 (mois de 950€) !
Ce casque gaming Corsair est presque à -50% pour le Black Friday
Profitez d'une remise de prix sur le Smart Keyboard d'Apple pour le Black Friday
Cyber Monday Amazon : TOP 10 des promos high-tech jusqu'à ce soir minuit !
Après le Black Friday, le Cyber Monday s'attaque au prix des écouteurs Jabra Elite 3
Ces enceintes LG pourraient être invisibles dans nos voitures... mais y offrir un son 3D
Haut de page