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

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Kallithea : une alternative autohébergée à GitHub qui prend en charge Mercurial et Git,
A-t-il vraiment des chances de concurrencer GitHub du géant Microsoft ?

Le , par Bill Fassinou

87PARTAGES

12  0 
Le contrôle de version vous permet de gérer les modifications apportées aux fichiers au fil du temps, en stockant ces modifications dans une base de données. Vous pouvez utiliser le contrôle de version pour versionner du code, des fichiers binaires et des actifs numériques. Cela inclut les systèmes de contrôle de version, dont Git et Mercurial, et les services d'hébergement, comme GitHub et GitLab, qui vous permet de gérer des dépôts. Mais désormais, un nouveau service appelé Kallithea s'invite sur le marché et se présente comme une alternative autohébergée aux plateformes existantes, principalement à GitHub.

Qu'est-ce que Kallithea et quelles sont ses caractéristiques ?

Kallithea est un système de gestion de code source sous licence GPLv3 et un projet membre de la Software Freedom Conservancy. Selon sa documentation, Kallithea est un logiciel libre qui prend en charge deux systèmes de contrôle de version de premier plan, Mercurial et Git, et possède une interface Web facile à utiliser pour les utilisateurs et les administrateurs. Vous pouvez installer Kallithea sur votre propre serveur et héberger des dépôts pour le système de contrôle de version de votre choix. Alors, pourquoi développer Kallithea malgré le nombre important de projets de ce type qui existent déjà ?



En réponse, l'équipe de développement du projet a tout d'abord fait remarquer que Kallithea est le nom d'une localité de l'île de Rhodes, en Grèce, qui signifie lui-même "la meilleure vue" ou "belle vue". « Notre projet Kallithea aide les développeurs à obtenir les meilleures vues de leur projet et de ses contributions afin qu'ils puissent mieux collaborer », ont-ils ajouté. Il s'agit d'un jeune projet et Kallithea 0.6.3 vient d'être publié avec quelques nouvelles fonctionnalités, des améliorations, ainsi que des correctifs de sécurité. Voici ci-dessus les caractéristiques clés de Kallithea.

  • serveur push/pull intégré : Kallithea prend en charge les protocoles de filage Mercurial et Git, accessibles via HTTPS et SSH. En outre, la documentation indique qu'il intègre un puissant système de gestion des accès qui vous permet de décider qui a accès au dépôt, et quelles opérations ils sont autorisés à faire. Toutes les demandes sont authentifiées et enregistrées, ce qui donne à l'administrateur la possibilité d'examiner l'activité des utilisateurs ;
  • facile à intégrer : Kallithea supporte LDAP (Lightweight Directory Access Protocol – Protocole d'accès aux annuaires léger), ce qui rend facile l'utilisation de votre système d'authentification existant. Vous pouvez intégrer votre instance avec un outil de suivi des problèmes de votre choix en utilisant l'API JSON-RPC et l'interface des extensions ;
  • révision du code : forkez le code en un clic, développez-le et soumettez-le pour révision facilement en utilisant un système intégré de demandes de pull. Révisez le code, commentez et discutez des changements ;
  • contribuez en ligne : modifiez le code en ligne en utilisant l'éditeur Web intégré de Kallithea. Téléchargez des fichiers textes et des fichiers binaires sans utiliser votre client installé localement. Votre navigateur suffit ;
  • VCS (version control system) avec une meilleure vue : explorez le journal des modifications illustré par le graphe DAG (directed acyclic graph – graphe orienté acyclique). Examinez les différences en couleur. Obtenez des statistiques sur les livraisons.

Quelques alternatives populaires à Kallithea ?

Comme souligné plus haut, Kallithea est un système sous licence GPLv3 permettant d'héberger et de gérer des dépôts Mercurial et Git sur ses propres serveurs. Il est relativement nouveau, mais il existe beaucoup d'autres systèmes de gestion de code source sur le marché et il est important de les comparer avant de se décider pour un plan. Avec beaucoup plus de services déterminés par le prix, les fonctionnalités fournies et la réputation du fournisseur, vous devriez avoir plus que suffisamment de données pour prendre une décision éclairée avant de signer un contrat.

De plus, cela vous permet de réduire la probabilité d'obtenir le mauvais logiciel ou un logiciel limité qui n'est pas compatible avec vos besoins. Certains sites d'analyse ont donné une note de 6,8/10 à Kallithea après une période de tests détaillés. Ils indiquent en outre que les clients actuels de Kallithea ont un taux de satisfaction moyen avec le produit qui révèle leur attitude envers cette application. Si vous utilisez déjà une alternative à Kallithea, et que vous préfériez votre choix, vous êtes invité à partager avec la communauté vos avis et vos évaluations de satisfaction sur cette dernière.

De même, si vous utilisez déjà Kallithea, vous pouvez partager avec nous les raisons qui expliquent votre choix. Voici ci-dessous quelques alternatives à Kallithea parmi les plus populaires.

GitHub

Présenté comme un outil assez important pour les développeurs, GitHub offre à ses utilisateurs la possibilité de bénéficier de l'ensemble des avantages proposés par un hébergeur de code. Elle permet également de centraliser les projets, simplifiant ainsi l'accès aux différents intervenants qui vont ainsi pouvoir apporter leurs contributions et faire régulièrement des sauvegardes de leurs modifications indépendamment les uns des autres. GitHub n’est pas axé sur la collecte de codes sources, mais plutôt sur la possibilité d’utiliser les fichiers déposés par les utilisateurs individuels, répertoriés grâce à Git.

Pour utiliser, actualiser et mettre leurs programmes à disposition, les utilisateurs de GitHub peuvent se servir soit de Git soit d’une sous-version comme VCS. Cependant, beaucoup considèrent l'acquisition de GitHub par Microsoft comme un signal d'alarme pour les projets open source. Ils suggèrent que les développeurs qui sont dévoués à l'open source devraient quitter la plateforme pour adopter une alternative. Pour cause, ils citent les antécédents de Microsoft vis-à-vis du mouvement de l'open source. Par le passé, Microsoft a qualifié l'open source (ou Linux) de cancer et serait à l'origine du procès SCO contre Linux.

« Il suit activement une politique qui consiste à embrasser, étendre et éteindre. Microsoft est également connue pour ses abus en matière de brevets (voir Netscape et Microsoft génère 2 milliards de dollars de revenus par an grâce aux redevances sur les brevets Android) et les récents problèmes de confidentialité liés à la télémétrie de Windows 10. La liste est sans fin. Il convient d'être prudent en faisant confiance à une entreprise qui a une longue histoire d'abus envers les communautés open source et les systèmes d'exploitation GNU/Linux. Par conséquent, l'installation de votre serveur Git est la meilleure politique », ont-ils déclaré.

GitLab

GitLab est un logiciel de gestion de référentiel Git gratuit, open source et basé sur le Web. Il inclut un wiki, un outil de suivi des bogues et d'autres fonctionnalités. Le code a été écrit à l'origine avec Ruby, avec certaines parties réécrites plus tard avec Golang. GitLab Community Edition (CE) est un site Web de développement logiciel open source de bout en bout avec contrôle de version intégré, suivi des bogues, revue de code, CI/CD (Continuous Integration/ Continuous Delivery), etc. Vous avez la possibilité d'héberger vous-même GitLab CE sur vos propres serveurs, dans un conteneur ou chez un fournisseur de services en nuage.

Gitea

Il s'agit d'un service Git autohébergé qui serait facile d'utilisation. Gitea est un fork communautaire du logiciel Gogs. Il s'agit d'une solution légère d'hébergement de code écrite avec Golang et publiée sous la licence MIT. Il fonctionne sur Windows, macOS, Linux, ARM et plus encore, cela sur des architectures comme amd64, i386, ARM, PowerPC et autres.

GNU Savannah

GNU Savannah est un logiciel libre et open source de la Free Software Foundation. Il offre actuellement les services CVS, GNU arch, Subversion, Git, Mercurial, Bazaar, liste de diffusion, hébergement Web, hébergement de fichiers et suivi de bogues. Cependant, l'on estime que ce logiciel n'est pas destiné aux nouveaux utilisateurs. Il faut un peu de temps pour le configurer et en maîtriser tous les aspects.

GitBucket

Gitbucket est une plateforme Git basée sur Scala, facile à installer, très extensible et compatible avec l'API GitHub. Elle fournit une interface utilisateur semblable à celle de GitHub et des fonctionnalités telles que l'hébergement de dépôts Git via HTTP/HTTPS et SSH, la visualisation de dépôts, le suivi des bogues, le wiki et les demandes de pull.

Gogs

Le but de ce projet est de créer le moyen le plus simple, le plus rapide et le plus indolore de mettre en place un service Git autohébergé. Avec Go, cela peut être fait avec une distribution binaire indépendante sur toutes les plateformes que Go supporte, y compris Linux, Mac OS X, Windows et ARM.

GitPrep

C'est un clone de GitHub. Vous pouvez installer un système GitHub portable sur Unix/Linux. Vous pouvez créer des utilisateurs et des dépôts sans limitation. C'est un logiciel libre.

TuleapL

Tuleap est un système de gestion de projet pour gérer les cycles de vie des applications, les projets de développement et de conception Agile, le modèle en V, la gestion des exigences, la gestion des services informatiques, etc. Tuleap intègre des fonctionnalités de système de forge qui permettent aux équipes de gérer les sources logicielles (en utilisant Subversion, Git ou CVS) ; de partager des documentations techniques ou de projet ; de suivre les bogues ; de consolider les communications avec les clients, les développeurs ou les tiers.

Phabricator

Phabricator est une collection d'applications Web qui aident les entreprises à créer de meilleurs logiciels. Il s'agit d'un ensemble d'outils pour le développement de logiciels. Il comprend des applications pour la révision du code, l'hébergement de dépôts, Git, le suivi des bogues, la gestion de projet, et plus encore.

Source : Kallithea

Et vous ?

Que pensez-vous de Kallithea ? L'utilisez-vous ou l'avez-vous déjà testé ? Si oui, qu'en pensez-vous ?
Sinon, quelle alternative à Kallithea utilisez-vous ? Quelles sont les raisons qui ont motivé votre choix ?
Pensez-vous que le fait que Microsoft détienne GitHub pose un quelconque problème au mouvement de l'open source ?

Voir aussi

Sur quelle plateforme d'hébergement et de gestion de développements logiciels voyez-vous votre futur : GitHub, GitLab, SourceForge ? Pourquoi ?

Rachat de GitHub par Microsoft : la fondation Linux livre son analyse de la situation et affirme avoir « hâte de voir les améliorations » sur GitHub

Nat Friedman, le futur CEO de GitHub répond aux questions des développeurs sur l'avenir de la plateforme après le rachat par Microsoft

Rachat de GitHub. Pourquoi ce rachat, et quels sont les plans de Microsoft

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Matthieu Vergne
Expert éminent https://www.developpez.com
Le 08/04/2021 à 19:44
L'auto-hébergé c'est bien, mais ça oblige de gérer soi-même toute la partie backup et restoration.
Le centralisé c'est bien, mais ça fait dépendre d'une entité unique (SPOF).
Il n'y en aurait pas un qui soit distribué ?
7  0 
Avatar de Escapetiger
Expert éminent sénior https://www.developpez.com
Le 10/04/2021 à 14:39
Citation Envoyé par Matthieu Vergne Voir le message
L'auto-hébergé c'est bien, mais ça oblige de gérer soi-même toute la partie backup et restoration.
Le centralisé c'est bien, mais ça fait dépendre d'une entité unique (SPOF).
Il n'y en aurait pas un qui soit distribué ?
Oui Matthieu,

Je rajoute pour nos chères lectrices et lecteurs francophones, en sus de backup (cf. Sauvegarde informatique) et de restoration (cf. Récupération de données) :

Un point de défaillance unique (single point of failure ou SPOF en anglais) est un point d'un système informatique dont le reste du système est dépendant et dont une panne entraîne l'arrêt complet du système.

Le point de défaillance unique a comme principale caractéristique de ne pas être protégé (redondant). Il est donc un risque pour la disponibilité du système. Dans la définition « single point of failure », le mot anglais single souligne le caractère unique et donc fragile du « composant ».

La notion de point de défaillance unique est fortement liée à celle de service, dans la mesure où un problème sur le point concerné entraîne une interruption de service.

La présence d'un point de défaillance unique dans un système augmentant la probabilité d'apparition d'un déni de service, elle entraîne un risque sur la qualité de service.

Dans un cadre de haute disponibilité, il est impossible de laisser des points individuels de défaillance dans un système.
Source: Point de défaillance unique - Wikipedia
2  0 
Avatar de grunk
Modérateur https://www.developpez.com
Le 09/04/2021 à 8:50
Citation Envoyé par Matthieu Vergne Voir le message
L'auto-hébergé c'est bien, mais ça oblige de gérer soi-même toute la partie backup et restoration.
Le centralisé c'est bien, mais ça fait dépendre d'une entité unique (SPOF).
Il n'y en aurait pas un qui soit distribué ?
N'importe quelle société un peu conséquente à forcément des serveurs en interne (ne serait ce qu'un samba) qui font en théorie partie d'un plan de sauvegarde. Ajouter un serveur de plus à ce plan n'est en théorie pas un problème et se fait même automatiquement si on est sur un gros serveur virtualisé.
Après c'est sur qu'une toute petite équipe où les dév gère eux même les serveurs c'est plus compliqué.

Je sais que chez nous un système distribué serait totalement innenvisageable. On ne fait pas d'opensource , la confidentialité est très importante => les décideurs n'auraient jamais confiance.

Sinon, quelle alternative à Kallithea utilisez-vous ? Quelles sont les raisons qui ont motivé votre choix ?
C'est gitlab chez nous , principalement car au moment du choix c'était à peu près les seuls qui avait une option d'auto hébergement gratuit. Depuis presque 5 ans maintenant on ne regrette pas.
1  0 
Avatar de esperanto
Membre émérite https://www.developpez.com
Le 13/04/2021 à 9:26
Citation Envoyé par Matthieu Vergne Voir le message
L'auto-hébergé c'est bien, mais ça oblige de gérer soi-même toute la partie backup et restoration.
Le centralisé c'est bien, mais ça fait dépendre d'une entité unique (SPOF).
Et en plus ça prend de la place, vu que le principe du fork centralisé, même sur un GitLab auto-hébergé, fait que tu te retrouves à héberger tous les forks de ton projet, même les plus fantaisistes, alors que tu n'y touches pas...

Citation Envoyé par Matthieu Vergne Voir le message
Il n'y en aurait pas un qui soit distribué ?
J'ai exploré un peu et on dirait bien que non. C'est quand même fou, Git a réussi à populariser le principe de la gestion de versions décentralisée, et moins de dix ans plus tard, GitHub réussit à tout re-centraliser avec son concept de pull request !
Pourtant si j'y réfléchis bien on peut très bien imaginer un système de pull request décentralisé: au lieu de forker sur le serveur central, on utiliserait le site web pour déposer les pull requests mais à chaque fois en indiquant l'URL du dépôt git où aller récupérer les données, qu'il soit sur le même serveur ou pas : du coup, seule la gestion du pull request (la discussion) resterait sur le serveur central, le code pouvant être n'importe où!

Citation Envoyé par nazoreen Voir le message
Il y a Bazaar en distribué et Mercurial en décentralisé.
Et voila, GitHub a fait tellement de marketting que maintenant les gens ne font même plus la différence entre un gestionnaire de versions et le service web qui permet de les héberger.
Bientôt tout le monde croira que pour contribuer à un projet sur GitHub la seule solution est d'utiliser l'interface web avec soit un éditeur intégré soit un formulaire pour déposer les fichiers. Où va t'on, je vous le demande...

Citation Envoyé par Bill Fassinou Voir le message
Que pensez-vous de Kallithea ?
Il est libre comme la plupart des autres solutions citées ici sauf GitHub. Donc j'aurais envie de les prférer à GitHub. Pour le reste je ne vois pas de différence sauf le support de Mercurial, mais comme je n'ai jamais utilisé Mercurial...
Cela dit je ne suis pas accroché à Git, alors la killer feature ce serait justement le support d'autres VCS distribués. J'attends notamment l'arrivée d'un équivalent pour les VCS orientés patch comme Darcs ou plus récemment Pijul.

Citation Envoyé par Bill Fassinou Voir le message
Sinon, quelle alternative à Kallithea utilisez-vous ? Quelles sont les raisons qui ont motivé votre choix ?
J'aurais voulu pouvoir répondre Redmine, oui mais voila, de l'aveu même de ses auteurs la gestion de versions qui y est intégrée date de l'époque Subversion, du coup pas de pull requests. Et si je cherche un plugin pour rajouter cette fonctionnalité, ceux que je trouve permettent en fait seulement de faire un lien entre un ticket Redmine et un dépôt... sur GitHub ou GitLab!
Comme si la gestion de projet et de dépôts étaient deux fonctionnalités totalement distinctes, sans aucun lien
Du coup pour le moment ce que j'ai dans Redmine est une gestion de projet, pas de code, ce n'est donc pas une alternative mais au mieux un complément aux solutions proposées dans cet article.
Problème: celui qui veut ouvrir un ticket pour une nouvelle fonctionnalité doit-il le faire dans la forge (Redmine) ou dans le gestionnaire de code (GitHub et consorts)?

Citation Envoyé par Bill Fassinou Voir le message
Pensez-vous que le fait que Microsoft détienne GitHub pose un quelconque problème au mouvement de l'open source ?
Ce qui pose problème est que tout le monde met ses projets au même endroit. J'étais déjà hostile à GitHub bien avant le rachat par Microsoft, qui ne m'a du reste pas surpris (vu son succès il allait fatalement attirer un GAFAM).
Des effets du rachat par Microsoft, on en a déjà: genre si tu as un dépôt GitHub qui t'appartient et auquel tu veux légitimement accéder, sauf qu'en ce moment tu es en Crimée...
Le problème aussi est qu'on perd la décentralisation de Git: si je veux contribuer à un projet sur GitHub, je dois clôner sur GitHub, alors même qu'ensuite je vais faire un clône chez moi pour les développements.
Et après on a des trolls qui viennent nous dire que si mes projets ne sont pas sur GitHub ils ne sont pas libres
1  0 
Avatar de ElwinLyly
Candidat au Club https://www.developpez.com
Le 16/04/2021 à 8:33
On utilise gitlab hébergé chez nous depuis quelques années maintenant.

Le but était d'avoir une système de gestion de version capable de faire du continius delivery. Le fait de l'hébergé sur nos serveur permettait de mettre en place une communication entre nos serveur de prod/dev et gitlab sans avoir à ouvrir plein de chose en externe.

L'avantage de gitlab c'est qu'il est relativement facile à installer et à mettre à jour, il propose du CI/CD de qualité, un dépôt docker, npm plus d'autres, il est associable plein d'autre outils, il gère le dépôt d'issue, le wiki les merge requests, les forks ...

Gitlab est très vite devenu le point central de notre pôle dev et je trouve qu'il fait plutôt bien le boulot.

De plus ila communauté est très active et il évolue très vite
1  0 
Avatar de behel
Membre du Club https://www.developpez.com
Le 24/04/2021 à 10:30
Vous avez oublié la solution libre GitBlit http://gitblit.github.io/gitblit/
Je l'utilise pour depuis des années et je n'ai rien à lui reprocher.

Quelques détails :
  • écrit en Java (donc tout système).
  • facile d'installation : Kit d'installation Window et Linux ou un WAR pour les serveur de Servlet
  • mise à jour très simple (remplacer le dernier WAR par le nouveau ;-)
  • license Apache 2.0
  • un manager
  • multi compte
  • compatible ssh ou https
  • une stratégie de backup
  • simple a manager : création compte, droit et projet
  • ne mange pas trop ressource (un serveur avec 2go de mémoire lui est plus que suffisant
  • en authentification : LDAP, Redmin, Saleforce, windows, PAM ..
  • et : RSS, JSON Groovy (pour les hook), plugin
1  0 
Avatar de nazoreen
Membre averti https://www.developpez.com
Le 08/04/2021 à 20:59
Bonjour,
Il y a Bazaar en distribué et Mercurial en décentralisé.
J'aimais bien Bazaar, je suis passé à Github/Gitlab il y a longtemps mais je ne me souviens plus pour quel manque par rapport à Bazaar.

Citation Envoyé par Matthieu Vergne Voir le message

Il n'y en aurait pas un qui soit distribué ?
0  0 
Avatar de Exagone313
Membre du Club https://www.developpez.com
Le 09/04/2021 à 0:24
Il existe un fork de GitLab qui supporte Mercurial (et hg-evolve), appelé Heptapod.
0  0 
Avatar de air-dex
Membre expert https://www.developpez.com
Le 09/04/2021 à 19:38
Citation Envoyé par nazoreen Voir le message
Il y a Bazaar en distribué et Mercurial en décentralisé.
Bazaar est mort depuis des années. Sa dernière version publiée date déjà de plus de 5 ans. Sa communication est à l'arrêt total depuis 2016-2017, tout comme le projet sur Launchpad. S'il y a encore une équipe de Canonical qui travaille dessus alors celle-ci est pour le moins discrète.

Par contre il existe un fork communautaire de Bazaar, nommé Breezy, dont le développement semble clairement actif à en juger par son GitHub. À voir ce que ça donne.

Citation Envoyé par nazoreen Voir le message
J'aimais bien Bazaar, je suis passé à Github/Gitlab il y a longtemps mais je ne me souviens plus pour quel manque par rapport à Bazaar.
Pareil. Il fut un temps où Bazaar était mon gestionnaire de prédilection et Launchpad ma forge de prédilection. J'ai fini par changer de crèmerie il y a quelques années parce que :
  • Bazaar semble totalement abandonné par Canonical (cf. plus haut). Le suivi logiciel c'est important.
  • J'étais très fan de Launchpad et j'ai finalement trouvé en GitLab une forge capable de la remplacer à mes yeux.
  • Bazaar ne permettait pas de changer de branche facilement, à la volée, comme git sait si bien le faire. Sur git t'as juste à faire un git checkout et c'est bon. Tu restes dans le même dossier, tes fichiers sont automatiquement modifiés et tu peux aussi faire un petit git stash pour mettre de côté tes modifications que tu ne veux pas perdre en changeant de branche. Alors que sur Bazaar t'étais obligé de mettre tes branches dans des dossiers différents. Si tu voulais changer de branche il fallait aussi changer de dossier. Donc par exemple ouvrir un autre projet correspondant à l'autre branche dans ton EDI, avec les inconvénients que cela peut avoir. Un bel avantage fonctionnel et ergonomique en faveur de git, en somme (pour une fois).
0  0 
Avatar de Matthieu Vergne
Expert éminent https://www.developpez.com
Le 09/04/2021 à 21:00
Citation Envoyé par nazoreen Voir le message
Bonjour,
Il y a Bazaar en distribué et Mercurial en décentralisé.
J'aimais bien Bazaar, je suis passé à Github/Gitlab il y a longtemps mais je ne me souviens plus pour quel manque par rapport à Bazaar.
Je ne parle pas de système de gestion de version (j'utilise git), mais de système de stockage (comme GitHub, GitLab).
Là où le système de gestion de version décentralisé permet une distribution, il ne le fait pas proactivement.
Par exemple s'assurer que deux serveurs soient à jour en gérant des hook ou en faisant du pull régulier.

Avec un système de gestion de version décentralisé, on peut le mettre en place soit-même, mais cela revient à de l'auto-hébergement : on doit gérer toute la machinerie de synchronisation. Quelque chose qui gère ça à ma place ça serait cool.
0  0