URL: https://linuxfr.org/users/mzf/journaux/migration-d-un-projet-de-sourceforge-vers-tuxfamily Title: Migration d'un projet de SourceForge vers TuxFamily Authors: mzf Date: 2016年05月22日T22:22:48+02:00 License: CC By-SA Tags: vst, migration, sourceforge, tuxfamily, preset, generator et framasoft Score: 38 Bonjour, Je voudrais faire un retour d'expérience sur le changement d'hébergeur que je viens d’effectuer pour mon projet libre [VST Preset Generator](http://vst-preset-generator.org). Il était historiquement hébergé chez [SourceForge](http://sourceforge.net) et il vient d'être migré chez [TuxFamily](http://tuxfamily.org). Pourquoi migrer chez un autre hébergeur ? ========================================= J'ai commencé à développer le logiciel VST Preset Generator en 2007. A l'époque, l'hébergeur de référence pour le libre était SourceForge. N'ayant aucune compétence en administration système à ce moment là, j'ai choisi cette plateforme populaire. Depuis, SourceForge perdant en popularité face au phénomène [GitHub](http://github.com), la monétisation des téléchargements en [ajoutant des publicités dans les installeurs](https://fr.wikipedia.org/wiki/SourceForge.net#Publicit.C3.A9.2C_malwares_et_accaparement_de_projets) est arrivée. Mon modeste projet n'a pas été touché par ce changement, heureusement, mais cela a grandement entaché la réputation de cet hébergeur. De plus, alors que certains projets ciblés par cette publicité forcée ont décidé de partir de cette plateforme, leurs comptes ont été récupérés par SourceForge pour continuer à percevoir des revenus tirés de la publicité. Voir cette [dépêche](https://linuxfr.org/news/sourceforge-de-pire-en-pire-usurpation-d-identite-du-projet-gimp) qui prend l'exemple de Gimp. Il semble que [NMap](http://arstechnica.com/information-technology/2015/06/black-mirror-sourceforge-has-now-siezed-nmap-audit-tool-project/) et [VLC](https://blog.l0cal.com/2015/06/02/what-happened-to-sourceforge/) ont subi le même sort. Ces pratiques ont apparemment cessé depuis le rachat de SourceForge par Dice Holdings, et ils ont annoncé qu'ils [scannaient les binaires pour enlever toute trace de logiciels malveillants](https://sourceforge.net/blog/sourceforge-now-scans-all-projects-for-malware-and-displays-warnings-on-downloads/), dont la majorité a été introduite par eux, ironie du sort. Malgré ces efforts, SourceForge n'est plus digne de confiance car cela n'empêchera pas un prochain décideur de recommencer une expérience similaire pour monétiser les contenus. D'ailleurs la page de téléchargement de mon projet ressemblait à cela:  avec un gros bouton **TELECHARGER** vérolé et des publicités dans tous les coins. De plus, suite à l'obligation par la loi française d'informer les usagers des sites Internets que certaines de leurs données sont collectées, l'accès à SourceForge depuis une IP française affichait cet écran avec un panneau **attention** sur un drapeau français :  Je me suis donc rendu compte que l'accès à mon logiciel n'était pas facile. De nombreuses personnes ne devaient jamais arriver à la page de téléchargement et VST Preset Generator devait être considéré comme du gratuiciel vérolé. Il était donc grand temps de déménager. Choix de l'hébergeur ==================== Voilà quels étaient mes besoins : - de quoi héberger un site web vitrine - un espace de téléchargement - un dépôt Subversion - une possibilité de publier des nouvelles en bonus : - un logiciel de suivi de problèmes (je n'utilisais pas celui de SourceForge) - un réseau de projet pour se faire connaître Une solution envisagée a été l’auto-hébergement ou un hébergement mutualisé, de façon à être un maximum indépendant. Pour répondre à mes besoins un [serveur dédié virtuel](https://fr.wikipedia.org/wiki/Serveur_d%C3%A9di%C3%A9_virtuel) était nécessaire, notamment pour le dépôt Subversion. Mais ne voulant pas me rajouter la tache de maintenir à jour toute une pile de logiciels, j'ai écarté cette idée. Actuellement il existe de nombreuses plateformes qui répondent à ces besoins. La quasi totalité étant gérée par des entreprises privées je ne voulais pas retomber sur les mêmes soucis qu'avec SourceForge poussé par le profit à court terme. Par exemple, la plateforme actuellement la plus populaire pour héberger du code libre est [GitHub](http://github.com). Même si j'ai un [compte vitrine](http://github.com/moleculext) chez eux, il n'est pas envisageable d'y héberger des projets pour le long terme car il n'est pas garanti qu'ils n'auront pas un comportement similaire à SourceForge une fois que leur popularité aura disparue. J'ai donc regardé les forges libres existantes comme [Gna](http://gna.org) ou [Savannah](http://savannah.nongnu.org), un peu vieillissantes à mon goût. [FramaGit](https://git.framasoft.org/) et [NotABug](https://notabug.org/) étant réservés à Git, [TuxFamily](http://tuxfamily.org) était le seul à répondre à mes besoins tout en étant recommandé par le milieu libre francophone et géré par une association. Parfait ! Donc après une période d'évaluation je me suis lancé dans la migration vers TuxFamily. Récupération des données chez SourceForge ========================================= En dehors des aspects négatifs de SourceForge évoqués plus haut, leur plateforme basée sur [Allura](http://allura.apache.org) est techniquement de bonne qualité. Je me suis donc servi de leur [Interactive Shell Service](https://sourceforge.net/p/forge/documentation/Shell%20Service/) qui crée une sorte de shell sécurisé virtuel donnant accès à toutes les données d'un projet. Il fut donc très simple de cloner le dépôt Subversion avec la commande `svnadmin dump`, de copier tous les fichiers binaires de l'espace de téléchargement, et d'exporter toutes les données (news, descriptions, screenshots, etc.). On peut d'ailleurs aussi récupérer toutes les informations depuis [la page projet](https://sourceforge.net/p/forge/documentation/Project%20Data%20Export/) au format [JSON](https://fr.wikipedia.org/wiki/JavaScript_Object_Notation). A croire que même leurs développeurs nous encouragent à partir ! Transfert chez TuxFamily ======================== Création d'un compte chez TuxFamily, puis d'un groupe à partir de ce compte. Un groupe est une sorte de projet. Il faut bien préciser la nature de la licence du projet pour qu'il soit accepté, ce qui n'était pas le cas lors de ma première tentative. Pour le dépôt Subversion, il me fallait le cloner pour garder l'historique. Mais là, pas d'accès en ssh au serveur Subversion de TuxFamily pour la commande `svnadmin load` ! Heureusement, un gentil administrateur a fait la manipulation à ma place en lui fournissant le dump généré chez SourceForge. Ne voulant pas une adresse en xxx.tuxfamily.org, j'ai opté pour un nouveau nom de domaine : [vst-preset-generator.org](http://vst-preset-generator.org). Même si cela a un coût, l'adresse officielle ne dépendra plus de l'hébergeur. Par exemple l'ancienne adresse était [vst-preset-gen.sourceforge.net](http://vst-preset-gen.sourceforge.net) que j'utilisais dans les communications sur le projet, ce qui m'oblige à la garder avec une redirection. De plus je n'ai pas la garantie que SourceForge ne récupérera pas cette adresse un jour, ou ne la supprimera pas. Donc grâce à ce nouveau nom de domaine le projet gagne en pérennité pour un faible coût (environ 10€ par an). TuxFamily fournit aussi les DNS et le domaine de courriel, ce qui est très pratique. Ensuite création d'un espace web principal ainsi que d'un sous-domaine [bugs](http://bugs.vst-preset-generator.org) pour héberger un logiciel de suivi de problèmes. J'ai choisi [FlySpray](http://flyspray.org), comme recommandé [sur le wiki](https://faq.tuxfamily.org/WebArea/Fr#J.27ai_absolument_besoin_de_trac_pour_mon_projet_.21) de TuxFamily, avec sa base de donnée MySQL associée. [La page par défaut des projets](https://projects.tuxfamily.org/) étant moins accueillante que celle de Sourceforge (TuxFamily n'est pas une forge) j'ai donc développé un petit site web statique. Le site est généré avec un script Python maison qui me permet d'incorporer des nouvelles et un flux rss. TuxFamily m'a fourni un dépôt subversion supplémentaire pour héberger ce code, avec le commentaire suivant :> PS: Sinon, Git, c'est très bien aussi, hein :). Finalement, création d'un espace de téléchargement pour les fichiers binaires, accessible en http, https et ftp anonyme. Cet espace a ses statistiques séparées du site web du projet ce qui est pratique pour comptabiliser le nombre de téléchargements. Une fois la migration effectuée j'ai ajouté des redirections sur la page de SourceForge vers la nouvelle page du projet, ainsi que l'effacement de tout le contenu pour forcer les utilisateurs à venir sur la nouvelle page.  Trafic ====== Suite au lancement du nouveau site web et la suppression des contenus sur SourceForge, le trafic en téléchargement a quasiment été divisé par deux. Plusieurs hypothèses : - les statistiques SourceForge ne sont pas fiables, elles pourraient inclure la synchronisation de leurs miroirs par exemple - certains sites avaient des liens directs vers les fichiers à télécharger, comme des annuaires de logiciel Par contre trois personnes m'ont contacté en un mois pour parler du VST Preset Generator, ce qui est environ 10 fois plus qu'avant (je recevais maximum trois à quatre retours par an). C'est très positif et cela montre que l'accessibilité au projet s'est améliorée ! Bilan ===== Cela fait maintenant 2 mois que j'ai effectué cette migration, et j'en suis pleinement satisfait. Je voulais me séparer de SourceForge depuis plusieurs années et TuxFamily m'a permis de sauter le pas. Merci ! Les points positifs : - Énormément de services fournis par TuxFamily, voir leur [page dédiée](https://faq.tuxfamily.org/Services/Fr). - TuxFamily est en français. Même si je n'ai pas de problème avec l'anglais c'est quand même toujours plus facile d'exprimer les problèmes dans sa langue natale. - Les administrateurs sont très réactifs et toutes mes demandes ont reçu une réponse dans la demi-journée, voire dans l'heure pour la plupart. - En bonus j'ai un accès en https valide sur tous les sites web grâce à [Let's Encrypt](https://tuxfamily.org/fr/news/2016040201). - J'en ai profité pour adhérer à l'association, histoire d'être au courant quand TuxFamily rajoutera des publicités dans les téléchargements ;-) - Et puis cela m'a même permis de [contribuer](https://git.tuxfamily.org/vhffs4/vhffs.git/commit/?id=eac06e85ba62b1af01db7a7a64d2de7b0db242a1) à leur plateforme d'hébergement [VHFFS](http://vhffs.org). Dans les points négatifs : - TuxFamily ne fournit pas de logiciel de suivi de problèmes, donc j'ai dû installer FlySpray que je vais devoir maintenir à jour, au moins pour les failles de sécurité. - Pas d'accès à [Subversion en https](https://forum.tuxfamily.org/post/2999/#p2999), la solution proposée est de migrer vers Git ou Mercurial... Donc un grand merci à toute l'équipe de TuxFamily pour leurs efforts et leur plateforme, et que ceux qui veulent migrer leurs projets libres depuis SourceForge n'hésitent plus !