Développer efficacement sur 2 PC

Développer efficacement sur 2 PC - Divers - Programmation

Marsh Posté le 21-08-2018 à 17:10:11    

Bonjour,
 
Je développe "pour le plaisir" des petites applications (mobiles ou non) pour des amis. J'ai toujours effectué ces tâches sur mon pc fixe uniquement (sous Windows 10), j'ai donc tout mon environnement de développement sur une seule machine.
Sur mon poste actuel, j'utilise en parallèle Eclipse pour la partie PHP, MySql pour la partie base de données, et Visual Studio 2015 et 2017. J'ai aussi Android Studio, les sdk Android et Java, un sdk pour la Kinect, et quelques outils comme Wamp Server ou ARC sur Chrome pour tester mes web services.
 
Toute cette joyeuse troupe cohabite convenablement.  
 
Aujourd'hui, j'envisage d'acheter un PC portable pour pouvoir travailler en mobilité, mais j'aime aussi le confort du PC fixe (multi écran, confort du clavier etc.). Du coup, je me pose quelques questions :  
 
Existe-t-il un moyen de "cloner" mon environnement fixe sur un portable pour ne pas avoir à refaire toute la config des "paths", des variables d'environnement, des paramètres dans VS2015 et 2017, des modules complémentaires installés dans Eclipse etc. ?
Existe-t-il un moyen d'unifier les mises à jour de ces différents composants (un équivalent de WSUS chez moi pour mettre à jour tous mes environnements en parallèle ?)
Actuellement, mon schéma de BDD est en local sur mon PC fixe, et je ne pense pas avoir accès à Internet partout à partir du PC portable, du coup ça me demande certainement de dupliquer mes scripts de création et de mise à jour, vous gérez ça comment ?
Et pour le code global des projets, je n'ai pas trop utilisé d'outil de versionning de code, est-ce que vous me conseillez de tout déporter sous Git par exemple ? Est-ce que ça gère aussi bien les projets VS en C#, le code JS de Cordova, le HTML ou le PHP dans Eclipse (j'imagine que oui, mais je préfère ne pas me lancer là dedans).
 
En gros, ça fait beaucoup de question, mais j'imagine que je ne suis pas le seul à travailler sur 2 postes, du coup vous gérez ça comment ?
 
Merci,

Reply

Marsh Posté le 21-08-2018 à 17:10:11   

Reply

Marsh Posté le 21-08-2018 à 18:47:48    

En ce qui concerne le versionning de code, oui Git gère tous les fichiers. Il ne se préoccupe pas du langage.
 

Reply

Marsh Posté le 21-08-2018 à 19:45:27    

Merci, en cherchant un peu, je me dis que monter un VM chez Azure par exemple pourrait rassembler pas mal de mes besoins, le seul point gênant étant la mobilité sans réseau (dans l'avion, en déplacement à la campagne)...

Reply

Marsh Posté le 26-08-2018 à 15:32:56    

Plutôt qu'une VM Azure tu peux aussi envisager
- Une VM "maison" copiée sur chacune de tes machines de dév où tu aurais tout ton environnement d'installé (IDE, plugins, outils et machins divers qui ne changent pas) sous une solution gratuite (genre VMWare workstation player)  
- Un Git (ou autre) distant pour les sources
 
Sinon tu bosses sur un portable et tu le connectes à un écran + clavier + souris dès que tu en as la possibilité. En entreprise c'est pour ainsi dire la norme.


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
Reply

Marsh Posté le 26-08-2018 à 21:39:02    

TotalRecall a écrit :

Plutôt qu'une VM Azure tu peux aussi envisager
- Une VM "maison" copiée sur chacune de tes machines de dév où tu aurais tout ton environnement d'installé (IDE, plugins, outils et machins divers qui ne changent pas) sous une solution gratuite (genre VMWare workstation player)
- Un Git (ou autre) distant pour les sources

 

Sinon tu bosses sur un portable et tu le connectes à un écran + clavier + souris dès que tu en as la possibilité. En entreprise c'est pour ainsi dire la norme.

 

Oui, bonne idée, par contre en terme de synchro c'est un peu " lourd" non ? Une VM ne fait pas de delta à ma connaissance,  du coup si j'ai un fichier qui bouge, il faut que je copie les 40 ou 50 Go (Windows + VS2017 + tout le reste ça prend pas mal de place déjà). Mais je vais tenter un truc du genre, on verra bien.

 

Merci.

Reply

Marsh Posté le 27-08-2018 à 07:20:38    

Tibar a écrit :


 
Oui, bonne idée, par contre en terme de synchro c'est un peu " lourd" non ? Une VM ne fait pas de delta à ma connaissance,  du coup si j'ai un fichier qui bouge, il faut que je copie les 40 ou 50 Go (Windows + VS2017 + tout le reste ça prend pas mal de place déjà). Mais je vais tenter un truc du genre, on verra bien.
 
Merci.


 
Si c’est pour les fichiers de conf, tu n’as qu’à soit utiliser le git (un peut lourd) soit des solution type Dropbox. Comme ça ta conf sera propagé sur toute tes VM une fois connecté sur internet.

Reply

Marsh Posté le 27-08-2018 à 21:35:58    

Tibar a écrit :


 
Oui, bonne idée, par contre en terme de synchro c'est un peu " lourd" non ? Une VM ne fait pas de delta à ma connaissance,  du coup si j'ai un fichier qui bouge, il faut que je copie les 40 ou 50 Go (Windows + VS2017 + tout le reste ça prend pas mal de place déjà). Mais je vais tenter un truc du genre, on verra bien.
 
Merci.


C'est toi qui parlait des problèmes liés à l'accessibilité du réseau, je te proposais donc une solution qui te permet de t'en affranchir. Du coup tu n'auras effectivement pas les même facilités de synchro qu'avec une solution full online.
En général l'environnement lui même ne bouge pas très souvent, genre un update de Visual Studio tous les deux mois, etc. Et ça s'installe facilement et sans surprises.
Mais rien n'empêche d'utiliser Git ou autre pour synchroniser une partie de ta conf en plusieurs dépôts. Et tu peux également mettre la VM elle même sur un disque dur (ou SSD ?) que tu trimballerais avec toi plutôt que sur les PC eux même.


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
Reply

Marsh Posté le 27-08-2018 à 21:58:06    

TotalRecall a écrit :


C'est toi qui parlait des problèmes liés à l'accessibilité du réseau, je te proposais donc une solution qui te permet de t'en affranchir. Du coup tu n'auras effectivement pas les même facilités de synchro qu'avec une solution full online.
En général l'environnement lui même ne bouge pas très souvent, genre un update de Visual Studio tous les deux mois, etc. Et ça s'installe facilement et sans surprises.
Mais rien n'empêche d'utiliser Git ou autre pour synchroniser une partie de ta conf en plusieurs dépôts. Et tu peux également mettre la VM elle même sur un disque dur (ou SSD ?) que tu trimballerais avec toi plutôt que sur les PC eux même.


 
En effet, et la VM sur un disque externe en SSD c'est je pense la solution idéale pour moi, toute la conf au même endroit, pas de copies de gros volumes, ça me semble répondre à tous mes besoins.  
Plus qu'à commander le disque dur externe, merci pour l'idée.

Reply

Marsh Posté le 27-08-2018 à 22:14:49    

Tibar a écrit :

Bonjour,
 
Je développe "pour le plaisir" des petites applications (mobiles ou non) pour des amis. J'ai toujours effectué ces tâches sur mon pc fixe uniquement (sous Windows 10), j'ai donc tout mon environnement de développement sur une seule machine.
Sur mon poste actuel, j'utilise en parallèle Eclipse pour la partie PHP, MySql pour la partie base de données, et Visual Studio 2015 et 2017. J'ai aussi Android Studio, les sdk Android et Java, un sdk pour la Kinect, et quelques outils comme Wamp Server ou ARC sur Chrome pour tester mes web services.
 
Toute cette joyeuse troupe cohabite convenablement.  
 
Aujourd'hui, j'envisage d'acheter un PC portable pour pouvoir travailler en mobilité, mais j'aime aussi le confort du PC fixe (multi écran, confort du clavier etc.). Du coup, je me pose quelques questions :  
 
Existe-t-il un moyen de "cloner" mon environnement fixe sur un portable pour ne pas avoir à refaire toute la config des "paths", des variables d'environnement, des paramètres dans VS2015 et 2017, des modules complémentaires installés dans Eclipse etc. ?
Existe-t-il un moyen d'unifier les mises à jour de ces différents composants (un équivalent de WSUS chez moi pour mettre à jour tous mes environnements en parallèle ?)
Actuellement, mon schéma de BDD est en local sur mon PC fixe, et je ne pense pas avoir accès à Internet partout à partir du PC portable, du coup ça me demande certainement de dupliquer mes scripts de création et de mise à jour, vous gérez ça comment ?
Et pour le code global des projets, je n'ai pas trop utilisé d'outil de versionning de code, est-ce que vous me conseillez de tout déporter sous Git par exemple ? Est-ce que ça gère aussi bien les projets VS en C#, le code JS de Cordova, le HTML ou le PHP dans Eclipse (j'imagine que oui, mais je préfère ne pas me lancer là dedans).
 
En gros, ça fait beaucoup de question, mais j'imagine que je ne suis pas le seul à travailler sur 2 postes, du coup vous gérez ça comment ?
 
Merci,


 
Salut,
 
Alors nous, dans notre boite, on n'utilise des EC2 (ubuntu ou amazon linux) sur Amazon pour la partie serveur. On les met en mode "dev" avec un accès sécurisé.  
Et sur la partie client, on a du Windows, du OSX et du Linux. Moi personnellement, je suis revenu sur Linux après presque 2 ans sous windows 10 et 3 ans sous OSX (j'étais sous Linux avant cela)
Nous utilisons PHPStorm connecté au VM Linux dans le cloud.
 
Les VMs sont sauvegardées automatiquement sur S3 avec un backup incremental daily et un monthly snapshot.
 
On utilise aussi GIT bien évidemment (github)
 
Il y a de multiples avantages :
1) La sécurité est très importante et si un employé se barre ou tombe malade, le code est dispo sans problème. On récupère le boulot la où il en était.
2) Le fait de perdre ou d'avoir un ennui technique avec son ordi ou son laptop n'a plus aucune incidence.
3) On peut travailler de n'importe où à condition effectivement d'avoir du réseau.
4) La VM de dev peut être passée en prod à la fin du développement, ce qui a l'énorme avantage qu'il n'y a aucune mauvaise surprise au niveau du hosting. En fait, le hosting est prêt dès le début, on se contente de l'ouvrir à la fin du process.
 
Effectivement, l'inconvénient tient au fait qu'il faut forcément avoir du réseau.
 
S'il est vital pour toi de pouvoir développer sans réseau (Honnêtement c'est possible cela ? Moi et mes collègues, on passe bcp du temps sur stackoverflow et/ou sur toutes sortes de ressources. Si je doit prendre l'avion, honnêtement, je vais pas coder, je vais au mieux lire une doc, faire des plans etc... Je vais plus probablement me matter un film ou essayer de dormir. :o ), tu peux avoir une VM sur ton laptop qui contient ton serveur apache etc... et tu connectes ton laptop sur ton réseau local à la maison de manière que ton ordi principal voir le serveur.
 
Tu peux aussi TOUT faire sur ton laptop et le connecter à une station d'accueil avec des écrans externes (c'est ce que nous faisons en plus de ce que j'ai expliqué).


---------------
Expert en expertises
Reply

Marsh Posté le 27-08-2018 à 22:23:14    

Hermes le Messager a écrit :


 
Salut,
 
Alors nous, dans notre boite, on n'utilise des EC2 (ubuntu ou amazon linux) sur Amazon pour la partie serveur. On les met en mode "dev" avec un accès sécurisé.  
Et sur la partie client, on a du Windows, du OSX et du Linux. Moi personnellement, je suis revenu sur Linux après presque 2 ans sous windows 10 et 3 ans sous OSX (j'étais sous Linux avant cela)
Nous utilisons PHPStorm connecté au VM Linux dans le cloud.
 
Les VMs sont sauvegardées automatiquement sur S3 avec un backup incremental daily et un monthly snapshot.
 
On utilise aussi GIT bien évidemment (github)
 
Il y a de multiples avantages :
1) La sécurité est très importante et si un employé se barre ou tombe malade, le code est dispo sans problème. On récupère le boulot la où il en était.
2) Le fait de perdre ou d'avoir un ennui technique avec son ordi ou son laptop n'a plus aucune incidence.
3) On peut travailler de n'importe où à condition effectivement d'avoir du réseau.
4) La VM de dev peut être passée en prod à la fin du développement, ce qui a l'énorme avantage qu'il n'y a aucune mauvaise surprise au niveau du hosting. En fait, le hosting est prêt dès le début, on se contente de l'ouvrir à la fin du process.
 
Effectivement, l'inconvénient tient au fait qu'il faut forcément avoir du réseau.
 
S'il est vital pour toi de pouvoir développer sans réseau (Honnêtement c'est possible cela ? Moi et mes collègues, on passe bcp du temps sur stackoverflow et/ou sur toutes sortes de ressources. Si je doit prendre l'avion, honnêtement, je vais pas coder, je vais au mieux lire une doc, faire des plans etc... Je vais plus probablement me matter un film ou essayer de dormir. :o ), tu peux avoir une VM sur ton laptop qui contient ton serveur apache etc... et tu connectes ton laptop sur ton réseau local à la maison de manière que ton ordi principal voir le serveur.
 
Tu peux aussi TOUT faire sur ton laptop et le connecter à une station d'accueil avec des écrans externes (c'est ce que nous faisons en plus de ce que j'ai expliqué).


 
Salut,
 
Merci pour la réponse complète, si j'étais en métropole je pense que j'aurais privilégié ce type de solution, mais j'habite dans un coin où il n'est pas rare de ne pas avoir internet pendant quelques semaines, ou de passer d'un débit "correct" à un retour à des débits dignes du RTC. Il faut donc vraiment que j'envisage d'avoir mes outils de dév et au moins la partie "en cours" de mes sources en local.

Reply

Marsh Posté le 27-08-2018 à 22:23:14   

Reply

Marsh Posté le 27-08-2018 à 22:37:58    

Tibar a écrit :


 
Salut,
 
Merci pour la réponse complète, si j'étais en métropole je pense que j'aurais privilégié ce type de solution, mais j'habite dans un coin où il n'est pas rare de ne pas avoir internet pendant quelques semaines, ou de passer d'un débit "correct" à un retour à des débits dignes du RTC. Il faut donc vraiment que j'envisage d'avoir mes outils de dév et au moins la partie "en cours" de mes sources en local.


 
Dans ce cas, le mieux, si ton laptop est assez puissant, est d'avoir une VM avec ton linux dessus pour la simulation de hosting qui reproduise aussi fidèlement que possible le vrai hosting que tu utilises ensuite (les solutions WAMP etc... c'est quand même bien de la merde je trouve, et quand tu passes ensuite en prod, tu peux avoir de grosses surprises).
Ton Linux sert ton réseau local quand tu est connectés depuis la maison et aussi bien sur le laptop lui-même qui contient cette VM.
 
Ainsi, que tu bosses depuis ton ordinateur principale ou le laptop, tout ira dans ta VM linux.


---------------
Expert en expertises
Reply

Marsh Posté le 27-08-2018 à 22:44:21    

Vu le nombre de fois où il a mentionné Windows et Visual Studio quelque chose me dit qu'il n'y aura rien du tout sous Linux [:nedurb]


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
Reply

Marsh Posté le 27-08-2018 à 22:49:11    

TotalRecall a écrit :

Vu le nombre de fois où il a mentionné Windows et Visual Studio quelque chose me dit qu'il n'y aura rien du tout sous Linux [:nedurb]


 
Ouai, j'ai relu son message ;)
 
Effectivement.
 
Il peut conserver l'idée d'avoir une VM de dev, mais une VM desktop cette fois-ci. ;) Une VM headless installée sur son laptop qu'il pourra "jouer" à la fois depuis son laptop et son ordinateur fixe.   :D


---------------
Expert en expertises
Reply

Marsh Posté le 27-08-2018 à 22:50:28    

Vu que la VM devient quand même le SPOF, autant n'avoir que le laptop + un dock sur lequel il branche ses écrans externes.


---------------
Expert en expertises
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed