Microsoft rachète github

Hibou57

Comme-même (tm)
VIB
[…]

Qui aurait cru que "Microsoft embraces Open Source" allait devenir realite?
Ça ne date pas d’aujourd’hui, Ce qu’il y a, c’est qu’ils préfèrent les licences MIT ou BSD et jamais GPL, et qu’ils ne sont pas anti commerce (il y a presque toujours une confusion volontairement entretenue, entre open‑source et GPL).
 
Dernière édition:

farid_h

<defunct>
Contributeur
salam @farid_h,

à quoi ça sert et c'est quoi github?

Coucou mada. :)

Quand des groupes de developeurs veulent collaborer en programmant des logiciels, ils utilisent souvent un systeme qui gere les diverses versions des uns et des autres, et qui leur permet de se synchroniser. Le systeme le plus populaire est GIT.

Mais comme GIT est un systeme decentralise, chaque developpeur a une copie complete de toutes les modifications de tous leurs collegues. Comme c'est difficile de synchroniser ces copies des qu'on a plus de quelques developpeurs, on les installe dans la cloud ou ils sont toujours accessibles. Le plus grand service de cloud pour ces systemes GIT est github.com. Il y en a d'avtres aussi, comme gitlab, bitbucket, etc.
 

farid_h

<defunct>
Contributeur
Mais pour Linux il y a déjà pkg-config.

vcpkg c'est totalement different et n'a aucune relation avec pkg-config.

Si tu veux, vcpkg est comparable au systeme /usr/ports de FreeBSD. C'est une collection de scripts qui telechargent des libraries OSS, les patchent pour les adapter a Visual Studio 2017 ou a une installation locale sous Linux, pour qu'ils puissent etre directement compiles et installes sous le folder vcpkg lui-meme.

Concretement: t'as du code qui utilise, disons, zlib, boost et openssl et tu veux le compiler sous Windows avec VS 2017, et sous Linux. Avec vcpkg, tu dis (en gros) "vcpkg install zlib", pareil pour boost et openssl, et t'as une copie sous vcpkg, directement utilisable, aussi bien par VS sous Windows que par gcc, clang, sous Linux. Ultime portabilite.

Et ces scripts sont maintenus et actualises par la communite. What more to ask for? Moi, je trouve ca genial.
 

Hibou57

Comme-même (tm)
VIB
vcpkg c'est totalement different et n'a aucune relation avec pkg-config.

Si tu veux, vcpkg est comparable au systeme /usr/ports de FreeBSD. C'est une collection de scripts qui telechargent des libraries OSS, les patchent pour les adapter a Visual Studio 2017 ou a une installation locale sous Linux, pour qu'ils puissent etre directement compiles et installes sous le folder vcpkg lui-meme.

Concretement: t'as du code qui utilise, disons, zlib, boost et openssl et tu veux le compiler sous Windows avec VS 2017, et sous Linux. Avec vcpkg, tu dis (en gros) "vcpkg install zlib", pareil pour boost et openssl, et t'as une copie sous vcpkg, directement utilisable, aussi bien par VS sous Windows que par gcc, clang, sous Linux. Ultime portabilite.

Et ces scripts sont maintenus et actualises par la communite. What more to ask for? Moi, je trouve ca genial.
Je me méfie des patches, je préfère qu’il y ait un support direct ou une branche, pour une plateforme.

Pour le « maintenu par la communauté » : la communauté, c’est personne ou alors une promesse qui n’engage que ceux qui y croit. Temps qu’il n’y a pas une personne qui s’engage à ceci ou à cela, pour moi c’est bancale.
 

farid_h

<defunct>
Contributeur
Je me méfie des patches, je préfère qu’il y ait un support direct ou une branche, pour une plateforme.

Les patches sont minimes. Souvent un simple control file. Comme ils sont open source, tu peux les inspecter toi meme.

C'est exactement ce que font aussi les ports de FreeBSD, Gentoo etc: de simples adaptations pour que le code se compile.

Je prefere ca de loin a la solution traditionnelle ou il faut telecharger des libs precompiles par on ne sait qui ni comment. Ici, tu compiles toi meme localement. C'est plus sur, d'un point de vue securitaire.
 

farid_h

<defunct>
Contributeur
Et parlant de support: ces scripts telechargent le source code des libs directement de github, ou ils sont maintenus upstream par leurs developpeurs. Et les scripts eux-memes sont maintenus par la community, i.e. collectivement par tous les developpaurs qui en ont besoin. Plus de support que ca, tu meurs. :D
 

Hibou57

Comme-même (tm)
VIB

Hibou57

Comme-même (tm)
VIB
Les patches sont minimes. Souvent un simple control file. Comme ils sont open source, tu peux les inspecter toi meme.

C'est exactement ce que font aussi les ports de FreeBSD, Gentoo etc: de simples adaptations pour que le code se compile.

Je prefere ca de loin a la solution traditionnelle ou il faut telecharger des libs precompiles par on ne sait qui ni comment. Ici, tu compiles toi meme localement. C'est plus sur, d'un point de vue securitaire.
Pour la taille des patches, d’accord, mais le pour le lien entre compiler depuis les sources et sécurité, ça ne m’a jamais convaincu, mais ça c’est un autre sujet que je n’ai pas envie de discuter ici.
 

Hibou57

Comme-même (tm)
VIB
L’article de MS à dit:
Important: As noted on the repo readme, the source files are being (re)published for historical reference purposes and to allow exploration and experimentation for those interested in early PC Operating Systems. The source will be kept static, so please don’t send Pull Requests suggesting any modifications to the source files!
:ange:
 

farid_h

<defunct>
Contributeur
Pour la taille des patches, d’accord, mais le pour le lien entre compiler depuis les sources et sécurité, ça ne m’a jamais convaincu, mais ça c’est un autre sujet que je n’ai pas envie de discuter ici.

Je sais. Nous avons deja discute de ca (c'etait ou encore ce bug dormant que t'avais decouvert?)

Mais bon, faut etre mefiant, mais sans un minimum de confiance, on ne peut pas pratiquement travailler. Tu connais ce classique?

https://www.ece.cmu.edu/~ganger/712.fall02/papers/p761-thompson.pdf
 
Dernière édition:

farid_h

<defunct>
Contributeur
En 1967, il y avait déjà des instructions pour les opérations non‑entières ? C’était en point fixe, j’imagine … ou non ?

Tu t'imagines bien qui'il fallait les emuler... a condition que les processeurs etaient suffisament rapides. Les trucs real-time ou il fallait reagir rapidement etaient certainement en point fixe... mais cette hypothese, on peut la confirmer ou infirmer grace au source code. :)
 

madalena

Contributeur
Contributeur
Coucou mada. :)

Quand des groupes de developeurs veulent collaborer en programmant des logiciels, ils utilisent souvent un systeme qui gere les diverses versions des uns et des autres, et qui leur permet de se synchroniser. Le systeme le plus populaire est GIT.

Mais comme GIT est un systeme decentralise, chaque developpeur a une copie complete de toutes les modifications de tous leurs collegues. Comme c'est difficile de synchroniser ces copies des qu'on a plus de quelques developpeurs, on les installe dans la cloud ou ils sont toujours accessibles. Le plus grand service de cloud pour ces systemes GIT est github.com. Il y en a d'avtres aussi, comme gitlab, bitbucket, etc.


salam Farid

ça fait longtemps, tu vas bien?

merci pour l'explication!^^
 
à quoi ça sert et c'est quoi github?

Pour être moins technique que @farid_h, Github est une plateforme qui va te permettre de stocker le code source de ton projet Informatique.

Admettons que tu travailles avec une amie sur un projet et on vous demande de créer un website pour un chauffagiste, tu commences à développer le site et en fonction de l'avancement du projet tu vas devoir créer des sauvegardes et les déposer sur Github.

Quand les fichiers sont déposés sur la plateforme ton amie peut les récupérer admettons par exemple que votre client remarque que vous avez fait beaucoup d'erreurs d'orthographe sur le site et qu'il faut impérativement changer cela, sauf que aujourd'hui tu es parti en vacances et que ton amie n'a plus aucun code source du projet chez elle.

Comme tu es malines et que tu as déposé une copie du projet sur Github, ton amie va pouvoir télécharger ta sauvegardes sur la plateforme et ensuite elle corrigera les erreurs. Après cela, elle devra également faire une sauvegarde des modifications sur Github.

Donc maintenant tu sais à quoi sert Github, maintenant il faudrait savoir comment tu uploads ton projet ?

Par exemple si ton projet est en Java2E tu pourrais utiliser Inteliji (ton IDE) et dans les réglages tu peux relier Inteliji à Github et en un clic tu fais un push (un ajout) et ton projet est envoyé sur Github.

Maintenant si tu n'as pas Inteliji et que t'aimes bien le noir et le blanc apprend les lignes de commande de Linux pour pushé ton projet. :p

Voici un petit exemple en annexe.
 

Pièces jointes

  • 3.png
    3.png
    32.1 KB · Affichages: 2
  • 2.png
    2.png
    39.5 KB · Affichages: 2
  • 1.png
    1.png
    34.4 KB · Affichages: 2

madalena

Contributeur
Contributeur
Pour être moins technique que @farid_h, Github est une plateforme qui va te permettre de stocker le code source de ton projet Informatique.

Admettons que tu travailles avec une amie sur un projet et on vous demande de créer un website pour un chauffagiste, tu commences à développer le site et en fonction de l'avancement du projet tu vas devoir créer des sauvegardes et les déposer sur Github.

Quand les fichiers sont déposés sur la plateforme ton amie peut les récupérer admettons par exemple que votre client remarque que vous avez fait beaucoup d'erreurs d'orthographe sur le site et qu'il faut impérativement changer cela, sauf que aujourd'hui tu es parti en vacances et que ton amie n'a plus aucun code source du projet chez elle.

Comme tu es malines et que tu as déposé une copie du projet sur Github, ton amie va pouvoir télécharger ta sauvegardes sur la plateforme et ensuite elle corrigera les erreurs. Après cela, elle devra également faire une sauvegarde des modifications sur Github.

Donc maintenant tu sais à quoi sert Github, maintenant il faudrait savoir comment tu uploads ton projet ?

Par exemple si ton projet est en Java2E tu pourrais utiliser Inteliji (ton IDE) et dans les réglages tu peux relier Inteliji à Github et en un clic tu fais un push (un ajout) et ton projet est envoyé sur Github.

Maintenant si tu n'as pas Inteliji et que t'aimes bien le noir et le blanc apprend les lignes de commande de Linux pour pushé ton projet. :p

Voici un petit exemple en annexe.

salam

merci pour ces précisions!^^
 
Haut