Nofrag | Forums | Blogs (jeux)

De l’art de bien travailler

Un collègue graphiste auprès de qui je prenais des nouvelles m’annoncait qu’il avait perdu 2 mois de boulot à cause d’un disque dur cramé. Après l’avoir enfoncé en lui disant qu’il était mal organisé, je me suis dis qu’un article sur mon organisation de travail serait intérressant….ou pas.

Le but de cet article est donc d’expliquer comment, avec peu de moyen, je diminue le risque de perdre mon travail, ses photos, ses vidéos et autres documents perso.

Il y a 2 façons de perdre ses datas:

-Crash matériel. Disque dur cramé, portable volé, maison brulée.

- Copie de fichiers (quand on est plusieurs sur un projet) qui fait qu’on écrase des modifications récentes.

L’essentiel du taf passe par l’installation d’un home server.

Image hosted by uppix.net


Le matos

Sur Ebay, pour 40€ vous pouvez trouver un P4 avec un peu de HDD (80Gb) et un peu de RAM. Si l’idée d’avoir un PC qui tourne 24/7 vous déplait, regardez pour prendre un mini pc qui consommera peu de jus. Les DELL (j’ai un GX270) ne font pas de bruit malgré l’age. Pour 100€, rajouté un gros HDD et un peu de RAM. 80€ pour un onduleur avec aussi des prises parasurtensées. Mon serveur est sous la TV. Je l’utilise aussi pour regarder mes vidéos de vacances au format DIVX, écouter de la musique sur l’ampli, Emule/Bittorrent pour augmenter ma collection d’ISO de distribs Linux.
en option: Clavier/souris sans fils. J’utilise VNC pour le piloter. Les paramètres d’économie d’énergie sont pour minimiser à mort la consommation d’électricité. Downclocker le PC (3GHz vers 2Ghz permet aussi de diminuer l’empreinte carbone pour peu de différence de performance).
Cout Total: 250€


Les Softs

Les utilités:
- Serveur SVN/Apache pour bosser sur n’importe quel PC (home ou office)
- Serveur FTP pour quelques échanges de fichiers
- Lecteur divx/HTPC
- Sauvegarde automatique
- Partage de fichiers dans la maison (lire un divx sur ma xbox ou un autre PC dans la maison)
- Centralisation des photos persos/documents
- Client p2p
- Surveillance Webcam (capture vers Apache en HTTPS)
- Antivirus.
Sur le DELL j’avais une Licence WINXP. Tous les softs qui tournent dessus sont soit en freeware, soit en open source.


SVN/APACHE2SSL/TRAC

Je suis parti de ce tutorial pour Ubuntu. La démarche pour Windows est quasiment la même.
http://prendreuncafe.com/blog/post/2006/09/05/489-installer-et-configurer-apache2-trac-et-subversion-sur-ubuntu
le SSL c’est bon, mangez-en. PHP/Mysql/tout le tremblement pour un forum privé et pouvoir faire quelques test de dev WEB.


SVN

C’est le service que j’utilise le plus. Depuis le boulot, entre les PC de la maison et les autres membres de l’équipe. IMPERATIF. Même en bossant seul, c’est primordial. Je n’ai plus de perte de fichiers. Si j’ai un bug, je peux remonter dans les commit et savoir quand et pourquoi j’ai fait une coquille. Tous les soirs, j’update un checkout sur le serveur que je synchronise avec Humyo (cf en dessous). Si tu fait du code, des graphs et que tu penses que tu n’en as pas besoin, tu te gourres sévère. Une fois l’avoir pris en main, tu ne commenceras plus jamais un projet sans le mettre sur le SVN.
Tortoise SVN ou CollabNet SVN pour les clients SVN.


FTP Serveur

FileZilla En client et en serveur.
Client: http://www.clubic.com/telecharger-fiche11141-filezilla.html
Serveur: http://www.clubic.com/telecharger-fiche12060-filezilla-server.html
Le serveur s’administre à distance. Une fois l’account fait pour l’administrateur, on n’y touche plus beaucoup.


Divx/Musique/…

Rien de bien spécial. VideoLan Ainsi que ADSLTV pour la TV. Ca fait redondance avec la freebox HD. Je les utilise seulement pour certains divx qui ne passent pas bien. Deezer et Windows Media player pour la musique. Le PC est branché sur un vieil ampli Kenwood par une simple prise Jack.


Sauvegardes

J’utilise Cobian Backup. Super efficace. Tu détermines le(s) dossier(s) à sauvegarder. Avec ou sans cryptage/compression/… Tu peux lui dire de les uploader sur 1 FTP après (cf NAS en dessous). Parfait.
Je fait une sauvegarde par jour des sources. 1 hebdomadaire des photos/Videos persos (15Gb a peu près). Cobian permet de garder un certain nombre de sauvegardes. Je garde les 5dernières pour les sources et les 2 dernières pour les photos/videos persos.
Mode parano: Le soft vérifie aussi que les binaires sont bons (CRC, tout ca). La sauvegarde se lance pendant les heures creuses de nuit. C’est ce qui prend le plus de ressources et donc qui mange le plus d’électricité.

Partage de fichiers dans la maison

Rien de bien fabuleux dans la technique. Quelques dossiers partagés. L’intérressant dedans est que mes divx de vacances sont accessibles sur ma XBOX crackée par XBMC (excellent soft). J’ai ma xbox dans la chambre branchée sur un LCD de 32pouces. Pour quelques dizaines d’euros, on peux trouver une xbox crackable avec une télécommande sur Ebay. Ca fait une platine divx/mp3/… a très peu cher. Un ensemble de plugins pour XBMC permettent de lire des flux TV venant de sources assez hallucinantes comme Demoscene TV, nasa TV, BFM,…
Pour le reste des dossiers partagés (tools, documents,…) il est impératif d’être propre. Les membres de la famille ne doivent pas faire de dossiers ou et quand ca leur chante.

p2p

Rien de spécial. Emule/bittorrent. L’avantage est que quand je vois une image ISO de Linux qui me manque, depuis le boulot, je peux la mettre en download grâce à VNC. Je ne pompe jamais rien du boulot.


Antivirus

Avast version gratuite. Avec un check tous les 3J. De nuit pendant les heures creuses. Jamais eu encore de spywares/virus dessus.

Webcam

Quand je pars en weekend j’aime pouvoir voir ce qui se passe à la maison. Des fois que les chats inviteraient des potes… J’utilise FWINK. C’est tout con. Je le lance quand je pars et ce soft prends une image toutes les 2secondes et les upload grâce a filezilla serveur vers un directory supporté par apache2 SSL. Il n’y a donc que sont qui ont accès privé à l’apache SSL qui peuvent voir ce qui se passe.

La paranoïa

chez Humyo (humyo.fr), vous pouvez souscrire gratuitement à un espace de stockage de 20Gb. Il fournisse pour Windows/MacOS un outil qui ajoute un lecteur virtuel et qui permet de synchroniser des dossiers. J’ai paramètrer mes photos de famille ainsi que mes sources. Une fois par jour, le dossier synchronisé des sources est MAJ par un SVN update (scheduler Windows).
J’ai un NAS Storex de 400Gb. Tous les matins, la sauvegarde 7zip est transférée par FTP sur ce NAS. Ainsi que la sauvegarde Hebdomadaire. Je garde un historique de 7jours. Environ 40Gb utilisés sur 400. Une bonne clef USB ferait mieux l’affaire. Le NAS est branché sur une prise para-surtensée.


Conclusion

Pour un coût assez faible (200€) voire nul si tu as du vieux matos tu peux te monter un serveur. Le coût électrique est négligeable. J’en ai profité pour remplacer mes vieilles ampoules/lampes par les ampoules à LED (3watts par lampes contre 40watts auparavant). Toujours sur Ebay, des fabricants/revendeur de Hongkong en vendent pour quelques euros. C’est la moitié du prix francais a peu près.
Avec tous ces services, j’installe et utilise n’importe quel PC comme si j’avais toujours été dessus. C’est comme utiliser un Webmail plutôt qu’outlook ou un autre client lourd. C’est flexible, sécurisé et assez rapide. Le serveur tourne non-stop depuis Aout 2008. Parfois Windows Update le fait redémarrer. Mais vu que tous les softs sont des services windows (même VNC), je n’ai pas à me logguer dessus pour que Apache/Cobian/… démarrent. En moyenne, il doit être dispo 23h58 par jour.
J’aurais bien aimé mettre un Linux mais du fait de mes connaissances, j’ai plus de flexibilité avec Windows.

20 commentaires pour “De l’art de bien travailler”

  1. Wiz dit :

    Il manque toujours la sécurité, et si le disque dur de la machine claque ? Ça ne fait que reporter le danger vers une autre machine.
    Sans raid / mirroring il n’y a aucune sécurité des données. Perdre une journée de travail c’est peut être pas aussi grave que tout le travail, mais c’est déjà très démoralisant.

    Je dis ça, je fais pas mieux, ce n’était qu’un conseil.
    Chez moi j’ai récup un vieux p3 à 1 ghz gratuit pour y foutre un linux, ça fait tous les trucs nécessaires :
    - ftp / samba
    - dhcp, cache dns, gateway avec contrôle du débit (je partage ma connexion avec quelques étudiants, je les empêches de faire du p2p. ils ont déjà l’école pour télécharger des distribs)
    - chaine hifi capable de lire tout formats. Il me manque un boulot pour me permettre d’acheter un onduleur (seulement 78 jours d’uptime actuellement, j’ai une fois lavé trop abondamment les plaques électriques)
    - enceintes ethernet. tous mes pcs linux peuvent sortir du son sur cet ordi, même à travers le wifi

    Pour la programmation on échange souvent de gros fichiers, donc j’ai un kimsufi chez ovh :
    - serveur web, ftp
    - gestionnaire de projets google code like
    - git + svn

  2. skaven dit :

    Techniquement, je ne peux pas perdre 1 journée de travail. Puisque SVN update d’un PC vers le serveur. au pire, si ca crash, personne ne peux synchroniser avec les autres. Pour le prochain serveur, je regarderai pour du RAID.
    Je ne peux pas mettre linux aussi pour 2 choses:
    - Possibilité de faire 1 nightbuild avec visual express
    - serveur dédié du jeu de course seulement sous win32

    “- enceintes ethernet. tous mes pcs linux peuvent sortir du son sur cet ordi, même à travers le wifi”
    Comment ca marche?

    Mon plus gros uptime doit être de 100J (Merci Windows Update & les reboot).

  3. beuheurk dit :

    Vu que tu n’est pas sous Linux tu devrais utiliser RDP (bureau a distance) plutôt que VNC, c’est beaucoup réactif et rapide, c’est le seul truc que je regrette sous Linux.

    Merci pour humyo ça a l’air bien, par contre en gratuit c’est 10Go pas 20.

  4. Gaeta dit :

    Sinon y’a Live Mesh qui te file 5Go aussi.

    Ayant perdu toutes mes photos y’a 4 jours, j’ai regardé un peu les NAS. Je me suis tourné vers un synology mais pour info, tu peux flasher ton Storex NAS351 en Storex NAS351AV (voir sur leur forum) afin d’avoir un serveur DLNA (et donc de lire tes contenues directement de ta XBOX et faire du download torrent)

  5. skaven dit :

    @beuheurk
    Effectivement, RDP c’est sympa. Avec le déport des devices, tu peux rappatrier le son vers ton PC.
    J’avais sans doute eu droit à une promo. 10Go ca m’aurait tout de même suffit.

  6. skaven dit :

    @Gaeta
    Le NAS me sert seulement de tampon au cas ou le serveur claque sa pile. Je n’y ajoute aucun fichier directement.
    Pour le DLNA, j’ai la possibilité de le mettre sur le serveur. Un simple partage samba suffit pour l’accès/playback depuis ma xbox.

  7. Ze_PilOt dit :

    J’ai plusieurs problèmes vis à vis du SVN. Absolument pas adapté aux fichiers binaires (et donc aux graphistes, 3d, comp,…).
    Tout doit passer par le meme outil, ce qui rend finallement l’utilisation “lourde”, vu que t’as finallement peu de controle dessus, pas de souplesse pour l’utilisateur,…. Sans parler des problèmes de verouillages (ca sécurise, mais ca fait souvent surtout chier).
    La base de données est pas ouverte.

    Les alienbrain et cie étant super reuch, on en est venu à developper notre propre système :

    - Base de données mySQL.

    - Gestion de l’historique d’un fichier : plutot que de versionner systématiquement, on prefere savoir d’où il vient : le fichier V2 pour un plan 01 peut etre le fichier V5 pour un plan 02. Le numéro de version ne veut plus rien dire dans ce cas, l’historique bien :)

    - Gestion “souple” du checkin/out : l’utilisateur est prévenu s’il essaie d’ouvrir un fichier déjà ouvert, mais rien ne l’en empeche réellement. Ecraser un fichier ouvert, si :)

    - Gestion du versionning lors d’un “submit” de la scene : une scene d’anim a été validée ? Une copie unique avec le numéro de version est créée, le fichier de travail locké. L’animateur continue, veut re-valider une scene ? La copie unique s’incremente, une copie de l’ancienne est sauvée, …

    Ca permet de travailler librement (pas obligé de checkin/out tout le temps), sans contraintes (”mais je m’en fout qu’elle soit ouverte ailleurs !! Je veux l’ouvrir pour faire un export !!!”), mais de manière sécurisée.

    MAIS surtout, en cas de problème du serveur DB, ca n’empeche personne de travailler :)

    L’emploi de mySQL permet de créer facilement les plugins via python pour les differents softs employés. Ca permet aussi en cas de perte de la récréer tres simplement. Ca permet aussi de la linker facilement à d’autres applications (comme un programme de commentaires externes pour les clients).
    Python permet aussi de deployer les softs de gestions pour les chef de project facilement sur toutes les plateformes, et avec QT4, les interfaces sont faites hyper vite.

    Résultat : le système a été mis en place (codage des scripts python,..) en moins de deux semaines par moi seul… Python est réellement puissant :)

    Reste le problème de déplacer les fichier via windows (vu qu’ils sont absolument lockés), mais dans ce cas ci, un petit programme check régulierement les fichiers orphelins (non référencés dans la DB), et de plus ou moins les re-referencer correctement. (ce qui arrive finallement hyper rarement)

  8. Anon dit :

    Excellent article. Ajouté aux favoris pour jeter un oeil sur tous ces softs.

  9. skaven dit :

    @Ze_PilOt
    Interressant ce systeme. Je m’y interresse depuis quelques semaines (reflexion seulement). Après le jeu de course j’aimerais bien mettre en place 1 système similaire pour la création de map/monde de jeu.
    Globalement, tu installes juste un client de quelques Mo qui va chercher sur le serveur les assets du monde. Tu peux ajouter les tiens aussi. A tout moment, tu peux creer une base offline du monde 3D. C’est comme ton systeme mais encapsulé pour de la création 3D.

  10. Wiz dit :

    Si le disque du serveur crash juste avant un backup vers internet / nas, tu pers jusqu’à 23h59 de code.
    Bon bien sûr c’est en supposant que le disque dur de tes workstations aient lâché en même temps, ça serait vraiment un manque de chance (incendie ? je crois que tu pleures plus pour la maison et tes affaires que le code).

    Le son par ethernet j’en ai déjà parlé ici c’est pulseaudio et ça a beau s’améliorer de plus en plus, le support windows est presque inexistant.
    On dirait qu’aucun des développeurs de ce projet n’est capable de coder un simple driver virtuel de carte son pour windows.

  11. ap0 dit :

    ssh -X pour la VNC sous linux.
    Ce truc, c’est la vie.

    je me suis monté quasi la même chose sous debian : rien de bien compliqué.

  12. SnippyHolloW dit :

    J’ai (avais) un Athlon64 3200+, 2GB de ram, 120 go en raid-1, 640 go sans raid pour ça … Gentoo, mldonkey, svn, git, plutôt Redmine que Trac pour les projets mais les 2 ont été utilisés / installés. Une 10aine de potes avaient un compte dessus. Les deux programmes les plus important étant SSH et Screen.

    Mais ça va bouger vers une beagle board ou autre du même genre parce que j’utilise plutôt github (et je suis obligé d’utiliser sourceforge aussi maintenant) dorénavant.

  13. Lork dit :

    Un petit soft bien sympa pour le backup facile sous Linux. Backup Manager
    Il est entièrement en ligne de commande et c’est tant mieux vu la simplicité de la chose. Un fichier de conf à éditer, mise en prod: ~ 5mins

    Très simple à mettre en oeuvre, il permet le backup sous une multitudes de formats, l’update en ssh, ftp, etc, et même le gravage automatique sur CD/DVD

    Répertoires, repos SVN, SQL, il fait un peu tout.

    Je l’utilise depuis plus d’un an sur la Dedibox qui me sert de serveur de dev et j’en suis très satisfait.

  14. Ze_PilOt dit :

    skaven a dit :
    @Ze_PilOtInterressant ce systeme. Je m’y interresse depuis quelques semaines (reflexion seulement). Après le jeu de course j’aimerais bien mettre en place 1 système similaire pour la création de map/monde de jeu.Globalement, tu installes juste un client de quelques Mo qui va chercher sur le serveur les assets du monde. Tu peux ajouter les tiens aussi. A tout moment, tu peux creer une base offline du monde 3D. C’est comme ton systeme mais encapsulé pour de la création 3D.

    Notre système fonctionne sans programme externe (enfin, il peut) : tout se passe dans ton soft, grace à des plugs et scripts python.
    Le but est le meme que le tient, mais plus transparent :)
    Le SVN, c’est super mais pour le code, c’est mal adapté au binaire et aux fichiers qui dépendent les uns des autres sans etre dans la meme structure (ce qui est toujours le cas dans un projet 3D).

    Je pense qu’il y a moyen de faire tout ça à part d’un SVN, et de regler les probs que j’ai rencontré, mais du fait que la base est gérée par le SVN, c’est à toi de d’adapter pour les outils et non l’inverse, d’où l’avantage de ce système custom sur base SQL/python.. Plus de temps de mise en place mais gros gain de temps d’integration après..

  15. Wiz dit :

    @Lork
    Merci <3
    Je cherchais justement un truc comme ça pour envoyer vers deux ftp différents mes fichiers les plus importants.

  16. LeGreg dit :

    Cout électrique nul ? Est-ce que tu as un outil de mesure type kill-a-watt et sait combien ça consomme ? en charge ? idle ?
    Pour un PC de bureau super light j’ai rarement vu en dessous de 40 watts (41 watts pour mon HTPC) et les UPS (onduleurs) rajoutent par dessus parfois jusqu’à autant de watts juste pour se maintenir en charge (trickle charge).

  17. skaven dit :

    @LeGreg
    40/50W par rapport aux 380 de ma TV ou des autres appareils, c’est pas grand chose.
    Et j’ai compensé ces 40W en remplacant pas mal d’ampoules par des systèmes à LED.

  18. LeGreg dit :

    Si le serveur tourne 24heures par jour ça couvre ta télé facilement (c’est une super télé ceci dit !).

    Intéressant le tip sur les lampes LEDs, j’ai plein de CFL à la maison, mais faudrait que j’essaie les LEDs un jour.. Apparemment ils en vendent sur Amazon aussi.

  19. LeGreg dit :

    les reviews sur les lampes leds ne sont pas fameuses par contre (pas assez lumineuses par rapport à leur “supposé équivalent” en incandescent/CFL). Des retours sur la luminosité ?

  20. skaven dit :

    @LeGreg
    Il en faut plus. l’équivalent de 2 lampes fluorescentes c’est 4 lampes a LED. Après il y a des lampes à LED avec différents nombres de LED (de 15 a 60). 7/8W pour lampe fluo contre 2W par ampoule a LED. Ca reste rentable. L’interret aussi est qu’il y a différentes couleurs pour les LEDs. Dans mes toilettes, j’ai une lampe a LED avec 1 LED rouge, vert et bleu. Je chie en dégradé de couleurs. Très agréable.

Laisser un commentaire

Si vous avez un compte sur WeFrag, connectez-vous pour publier un commentaire.

XHTML: Vous pouvez utiliser ces tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img src="" alt="">