Bald guy full of hair

le blog de channie.

Bon plan indé: Perforce et Amazon Cloud

Lors de la grande époque du modmaking au début des années 2000, on n’avait pas d’outils pour faciliter le travail en collaboratif. SVN n’existait pas encore, les outils de suivi de bugs n’étaient pas légion (même si on rigolait bien avec cette merde de Bugzilla). On était condamné à faire des intégrations de code à la main, à uploader les assets sur des FTPs sans sauvegarde, le bon vieux temps en somme. Aujourd’hui, les choses ont bien changé. On dispose désormais d’une myriade d’outils pour faciliter les projets en tout genre, et ils sont même particulièrement adaptés pour les jeux amateur. Ce billet s’adresse aux indépendants qui souhaitent disposer d’une solution de versionning (et éventuellement de defect tracking) à peu de frais.

Perforce

Perforce ? Mais ça coûte super cher !!

Perforce coûtait super cher…jusqu’au 24 Janvier dernier. En effet il est désormais gratuit jusqu’à 20 utilisateurs (et 20 workspaces) ce qui devrait convenir à n’importe quelle équipe cherchant à produire un petit jeu indé. Ca marche aussi pour les étudiants en “école” de jeu vidéo (et par extension les écoles de prog, même s’ils me chieront à la gueule en lisant ces lignes et me vanteront les mérites de cet étron qu’est Git). Et aussi pour des projets tout autres en fait quand on y réfléchit une minute.

C’est bien beau tout ça, mais ce serveur Perforce, il va bien falloir l’héberger quelque part (si possible sur un serveur dédié à 50 euros par mois histoire de bien raquer). Sans parler de l’installer d’ailleurs. Et quand on est indé, on a pas vraiment envie de “perdre” du temps dans des choses qui n’apparaîtront pas dans le jeu final. Ni vraiment de claquer 600 euros par an alors qu’on vit avec le RSA. C’est à ce moment qu’Amazon entre en scène.

Amazon AWS

Amazon ? Vous voulez dire là où j’achète ma baguette de pain ?

Amazon oui. Depuis quelques années, les types derrière cet e-commerce ont commencé à proposer des services de stockage aux entreprises. Leur business model ? Ne payer que ce que l’on consomme réellement. Je ne sais pas trop aujourd’hui où ils en sont avec leurs plans de conquête du monde mais je suppose que dans le pire des cas, leur activité de vente en ligne éponge les dettes faramineuses que leur service de stockage engrange. Ce qui nous intéresse, c’est que leur infrastructure, bien plus que d’offrir un système de stockage, est un cloud (houlala j’utilise un buzzword ça va faire tomber Wefrag sous les visites). Et dans un cloud on peut faire un peu tout ce qu’on veut, comme… lancer un serveur dédié par exemple. Voire même y installer des trucs… comme un serveur Perforce tiens !

Et là où ça devient magique, c’est qu’Amazon propose durant 1 an la gratuité à certains de leurs services pour tous les nouveaux inscrits. Il s’agit de:

  • 750 heures sur une machine virtuelle Amazon EC2 avec 613 Mo de RAM (suffisamment pour que ça tourne 24h/24)
  • 30 Go de Amazon Elastic Block Storage (j’y reviendrais)
  • 5 Go de stockage Amazon S3 (sympa pour mettre un wiki, un bugtracker et des photos pornos)
  • 15 Go de bande passante

Tout cela est valable chaque mois. Évidemment ça parait un peu léger mais en y allant en bon père de famille il y a peu de chances d’exploser les quotas. Pensez à dire à vos artistes d’éviter de submitter trois fois de suite leur .psd de 600 Mo, sinon la facture risque d’être salée.

Combien de temps pour préparer tout cela ?

Un fois de plus, nous sommes vernis. La documentation pour lancer son serveur dédié est fort bien écrite. L’équipe de développement de Perforce a même préconfiguré des images de machines Amazon, ce qui fait qu’il n’y a qu’à la sélectionner dans la liste et en quelques clics, notre serveur est en route. Il m’a fallu deux heures (ne hurlez pas je suis loin d’être un spécialiste) pour installer et configurer le tout. En effet, qui dit image préconfigurée dit que le serveur est un peu pollué avec des fichiers et des dépots d’exemple, sans compter les utilisateurs qu’il faudra supprimer avant d’ajouter nos collaborateurs.

Tout n’est pas rose cependant, car les 30Go d’espace disque fièrement arborés sur la brochure sont malheureusement trompeurs. En effet, seuls 10Go sont alloués au dépot (le système occupe 8Go, les fichiers logs de Perforce prennent 2 gros Go, et les 10 derniers Giga-octets sont réservés aux backups automatiques). Les bidouilleurs de l’extrême pourront désactiver les sauvegardes au besoin et récupérer quelques Gigas à condition de faire chauffer les ln -s et autres mount -lol. Amazon facture 10 cents le Go supplémentaire (hors taxes bien évidemment), ce qui fait que les plus nantis d’entre nous pourront aisément craquer pour un espace supplémentaire de 100Go pour… 10 dollars de plus par mois.

Et… ça marche ?

Réponse en image.

p4

Vous avez tous les outils en main, maintenant, foncez !

Commentaires pétés blablabla envoyez un mail blablabla vous connaissez la chanson:

27 commentaires pour “Bon plan indé: Perforce et Amazon Cloud”

  1. vingt-2 dit :

    Vu le temps que tu as mis pour nous le setup, te la pètes pas trop jeune citadin!

  2. epsylon dit :

    Qu’est-ce que t’as contre git ?
    Je suppose que tu n’aimes pas non plus Mercurial ?

  3. divide dit :

    Quand je pense que je continue à archiver mes codes source dans des zip avec backup manuel sur ftp … Et mon bugtracker c’est notepad :/

  4. epsylon dit :

    J’espère au moins que tu utilises un vrai notepad et pas la merde antédiluvienne fournie de base avec Windows.

  5. Vahron dit :

    Tout ce qui est plus compliqué que SVN me dépasse complètement, et je n’ai ni le temps ni l’envie de me plonger dans des outils complexes qui ne me servent pas directement à faire avancer mon code.

  6. epsylon dit :

    C’est une erreur selon moi de croire que les outils compliqués sont une perte de temps, des outils plus puissants peuvent s’avérer faire gagner beaucoup de temps une fois qu’on a appris à s’en servir.

    Ça fait longtemps que je n’ai pas utilisé SVN mais dans mes souvenirs c’était déjà à l’époque un outil archaïque (et une vraie merde pour travailler en équipe avec).
    Avoir des outils modernes pour créer des branches, faire des merges, récuperer un historique, … Ça peut faire gagner des heures qui auraient été passées à s’arracher les cheveux sans ça.

  7. Darkstryder dit :

    Bien cet article ! Perso J’ai un serveur Git sur un Amazon EC2, les repos étant stockés sur S3 (via un plugin permettant de mounter S3 comme un disque dur). On a mis ça en place avec un pote.

    On y stocke des projets de développements, mais j’y committe aussi personnellement mes projets musicaux.

    J’ai committé des gigas et des gigas dessus (500 Mo à 1 Go par projet de chanson), et on continue de ne payer que quelques centimes à chaque facture mensuelle.

    A la fin de la première année, ce qui va changer et coûter cher c’est de conserver la VM EC2 allumée 24/7. Peut-être qu’on ne l’allumera plus qu’au besoin en tapant les doigts de celui qui oublie de l’éteindre.

  8. Gama dit :

    Je trouve toujours bizarre les pros qui utilisent des outils de versioning moisis…À mon sens c’est un manque de professionnalisme, justement - surtout qu’on s’en rend compte en général après coup, c’est-à-dire après avoir finalement fait le pas.

    Pendant longtemps je suis resté sur SVN, et passer à Git ç’a été un très bon changement, je regrette pas une seule seconde les quelques heures (vraiment peu en fait) passées à le maîtriser.

    Par contre - j’ai jamais bossé sur des gros projets avec des Go d’assets, du coup je me rends pas trop compte - mais quel est l’avantage de Perforce par rapport à Git ? C’est vraiment plus rapide, on peut y mettre des assets un peu monstrueux ?

  9. channie dit :

    epsylon: c’était une boutade.

    Dark: Ouais. Maintenir le EC2 coûte environ 15 dollars par mois. Il faut y ajouter autant de dollars par tranche de 10Go de stockage. Ca commence à grimper vite. J’avais lu ton tip pour mapper un S3 sur un EC2 et je pense qu’il y a certainement moyen de faire quelques économies.

    Gama: J’aime bien Perforce parce qu’il est artist-friendly, qu’il est tout-en-un (pas 50 fenêtres contrairement à SVN) et que son usage quotidien est très simple. Ah et aussi parce qu’il m’a sauvé la vie à de nombreuses reprises.

  10. LeGreg dit :

    J’utilise TortoiseSVN parce qu’il y a plein d’hebergeurs gratuits ou peu chers et… C’est une catastrophe, perte de fichiers (des qu’on fait des opérations un peu lourdres), interface impossible.
    Entre ça et Perforce au boulot c’est le jour et la nuit (même si je regrette le passage de p4win à p4v).

    Le seul truc qui m’inquiéterait dans ta solution ce serait de devenir trop dépendant d’Amazon.

  11. Tarto dit :

    Ben moi j’utilise SVN plus USVN coté serveur, sur mon dédié.
    Et je n’ai aucun problème…
    (Et redmine pour le bugtracker)

  12. neFAST dit :

    Honnêtement, vous pouvez me dire en deux mot l’intérêt d’abandonner svn ?
    Avec Git et Mercury, j’arrête pas de me demander si je gagnerai quelquechose à migrer mais pour l’instant je n’ai pas bien compris les avantages/inconvénients.

    (au passage vous connaissez un moyen/plugin de gérer des tickets de support mais ultra simple ?)

  13. Aristo dit :

    divide a dit :
    Quand je pense que je continue à archiver mes codes source dans des zip avec backup manuel sur ftp … Et mon bugtracker c’est notepad :/

    Ca marche bien parce que tu travailles seul.

  14. SauCiSSoN dit :

    Depuis que je suis passer à Mercurial puis GIT, je pleure à chaque fois qu’un client m’impose du SVN (c’est rare heureusement).

    Il existe des interface plus ou moins user friendly pour Mercurial et Git, mais ça depend des OS, sous Windows Mercurial bénéficie de TurtoiseHg qui est beaucoup plus sympa que TurtoiseGit, mais ça reste quand même assez simple. Mais svn/git/mercurial, c’est fait pour les développeurs, pour versionner du code surtout. Couplé à Github ou Bitbucket (ou Gitlab si vous voulez tout héberger) c’est sur-puissant.

    Je peux comprendre qu’un artiste ne soit pas très à l’aise avec une applis de versionnement plutôt orientée code… mais gérer son code avec ton machin, je suis très septique.

  15. epsylon dit :

    sceptique.
    Quand tu parles de machin, tu veux dire Perforce ? Parce que Perforce a la base est aussi fait pour gerer du code.
    Par contre, je vois que la version gratuite est limitée à 1000 fichiers, ce qui n’est vraiment pas beaucoup…
    Et leur version payante commence a $750 par utilisateur.

  16. Lork dit :

    neFAST a dit :
    Honnêtement, vous pouvez me dire en deux mot l’intérêt d’abandonner svn ?

    En deux mots: le merge.
    Si tu bosses à plusieurs sur un projet et que tu dois gérer des merges de commit, si tu bosses sur plusieurs branches, etc, ça se fait avec une facilité déconcertante avec git.
    En fait le branching/merging est une façon courante d’utiliser git, là où avec svn tu pouvais vite trembler.
    Et puis git est quand même d’une rapidité de dingue, tu passes d’une branche à l’autre en 1/4 de seconde sur un projet de plusieurs centaintes de fichiers.

    Pour revenir à perfoce, je ne vois pas trop l’intérêt de ce truc hors de prix comparé aux outils existants. Sauf si on ne parle pas des fonctionnalités mais de l’interface qui semble plus pratique pour un “artiste”.

  17. Aristo dit :

    L’avantage de Perforce c’est ses performances sur de très (très) grosses bases.
    Mais cet avantage n’est peut-être plus d’actualité.

  18. skaven dit :

    J’ai tout sur mon serveur à la maison (svn, ftp, subsonic, rdp, bittorrent,…) Ca m’a couté 400€ de machine et quelques euros d’electricité par an.

  19. MrHelmut dit :

    Je ne me suis jamais posé la question d’un point de vue “artist friendly”, mais c’est vrai que d’un point de vue code, pour ma part, c’est un NAS à la maison qui gère tout ca avec git (en plus d’un ftp, webserver et server d’images). Mes bugs, c’est à l’arrache sous OneNote en synchro online.
    Mais c’est vrai que je n’aurais rien à proposer à un artiste pour faire de la synchro ou du versionning de fichiers.

  20. channie dit :

    epsylon: il faut lire illimité en utilisateurs jusqu’à 1000 fichiers. Si tu en as plus, ça bascule automatiquement en 20 users/20 workspaces (et fichiers illimités). Je maintiens que c’est idéal pour des indés.

    Lork: il y a une raison évidente vu que la plupart des boites de jeu utilisent Perforce. UDK supporte Perforce en natif également. Unity aussi depuis la 3.5.

  21. Blitzz dit :

    Artist friendly, ouais, avec perforce un artiste peut checkout toute la base et p4v chie completement dans la colle quand tu lui demandes de revert 3000 fichiers. La seule solution pour pas bloquer tout le monde pendant 1H c’est d’appeler un dev pour faire un p4 revert -k en ligne de commande :D

  22. ng-aniki dit :

    On avait pensé utiliser Git pour un projet perso avec quelques collègues…

    Git est probablement excellent pour des codeurs mais quand les données sont composées a 90% de binaries, ca ne semble pas etre la meilleure solution. Entre autre le fait qu’il n’y ait aucun lock de fichier sur git; Deux personnes qui bossent 10heures sur le même fichier binaire, c’est 10h de perdues pour une des deux personnes.

    Sinon, on utilise svn dans ma boite actuelle (Studio de dev de j-v avec une 50-60ene d’employés). Personnellement je continue de préférer perforce qui est bien plus intuitif a utiliser, et logique dans son fonctionnement. Mais les devs d’ici ont codé tout un tas d’outils qui sont incorporés dans Maya, dont un qui te permet de voir si les fichiers que tu essais d’ouvrir sont a jour, si il sont lockés et par qui, et qui te permet de les locker avec une simple checkbox lors de l’ouverture du fichier Maya.

  23. Wonse dit :

    J’utilise perForce (payant) au boulot, et Turtoise chez moi et a l’école.
    J’espère bien pouvoir mettre PerForce partout dés que possible ;)

  24. epsylon dit :

    « Git est probablement excellent pour des codeurs mais quand les données sont composées a 90% de binaries, ca ne semble pas etre la meilleure solution. Entre autre le fait qu’il n’y ait aucun lock de fichier sur git; Deux personnes qui bossent 10heures sur le même fichier binaire, c’est 10h de perdues pour une des deux personnes. »

    Est-ce que ça n’est pas un problème de communication et d’organisation plutôt qu’un problème d’outil ?

  25. Celibatman dit :

    Merci Channie ! J’utilise Perforce au bureau et je trouve ça très bien.

  26. Aristo dit :

    Je suis d’accord avec ng-aniki, c’est un inconvénient des DVCS de ne pas pouvoir réserver un fichier quand celui ci n’est pas “mergable”.

  27. Regnareb dit :

    Sympathique, j’adore ce genre d’outil de gestion de projet.

    Mon cas est assez peu représentatif d’une vrai prod, mais étant tout seul et pas du tout sur de la prog, j’utilise Dropbox qui est formidable pour son versioning… mais si je peux me faire un serveur perso avec ces mêmes avantages et voir plus, je n’attends que ça.

    Par contre va falloir encore que je me plonge dans les affres de la configuration et de la recherche de doc… je déteste les outils sans documentation simple et srtucturé.

Laisser un commentaire

Vous devez être connecté avec votre compte Wefrag pour publier un commentaire.