Salut à tous,

J'avais opté pour un certain choix, java sous ubuntu pour un serveur, et un client sous windows (peut être voir d'autres os) sous c# .net.

- Je voudrais que la partie serveur de l'application soit daemonizable, mon serveur ubuntu n'ayant pas d'écran c'est de loin plus simple, en outre je veux retrouver le même serveur sous chaque session. (Je fais de la prise de controle parfois sous x2go , et parfois je me connecte, mais très rarement en branchant un écran, sans compter les prises de controle via putty).
- Ce serveur va monitorer des fichiers.. donc aucun fichier ne doit être déplacé, supprimé, modifié sans que ça lui passe sous le nez (rafraichissement constant donc)
- mais doit être aussi capable de calculer des sommes type sha2, je pense... possible aussi md5 mais déjà moins gourmand.
- C'est pas impossible que plusieurs clients se connectent dessus vu que j'ai plusieurs machine à la maison, et c'est pas impossible d'ailleurs que j'installe aussi le serveur sur chacune d'elle.
- J'ai envie de créer un systeme de plugins, surtout que si j'arrive à faire un truc bien je le laisserai très certainement en open source sur la toile, mais dans tous les cas j'aime les trucs évolutifs.
- Donc sous réserve de ce systeme de plugin au final ce serveur doit être capable de traiter un peu de tout.

- J'ai lu que le traitement asynchrone était mieux et ça correspond à ce que je cherche pour rafraichir la fenêtre client sur certaines zones. Qu'il permettait en outre de mieux encaisser les attaques DOS, paranoiaques de service je vous salue... Bon après vu que c'est du lan je peux limiter les ports, mais si un jour je suis en vacance et que je veux accéder à mes fichiers.... dans l'os. Bon je prévois pas de téléchargement ceci dit, ce qui devrait simplifier je pense.
- J'ai eu songé à Node.JS car apparemment c'est le truc du moment, mais si ça gère bien au niveau serveur est ce que c'est capable de traiter rapidement d'autres choses comme le calcul de sommes, donner des données sur la machine, certes sous Linux c'est assez simple, via les fichiers...
- Je cherche à faire quelque chose de rapide/léger et qui exploite si possible tous les cores des processeurs pour répartir les tâches.
- Quelque chose ou je n'ai pas besoin de me casser la tête avec de grosses incompatibilités.
- J'exclue QT, ça m'a saoulé.

Donc là j'ai fait debuggé, (et décortiqué pour ramener au plus simple, temporairement) ce que j'avais fait sous java, car je me suis aperçu de soucis de communication avec le client c#. Et avant de repartir là dedans je me suis dit que ce serait une bonne chose au final de me poser et de réfléchir, car même si je me dis qu'on pourra toujours trouver une solution j'en ai un peu assez de manger des murs... Dans tous les cas le client sera sous c# .net, l'ihm est très avancée, en outre ça se fait très vite comparé à d'autres.

Du coup que vaut mono sous Ubuntu, bien intégré ? Est ce que je risque d'avoir des incompatibilités windows linux avec ? Est ce qu'il est bien optimisé comparé à Java, maintenant ? Ou bien est ce que c'est préférable de rester sous Java ? Toujours dans cette optique de bouffer le moins de mémoire possible, cycle cpu ok si c'est pics, mais pas une utilisation intensive... je n'ai qu'un amd 5350 puisque ce serveur a été conçu pour remplacer un NAS en faisant quelque chose de plus ouvert mais peu gourmand (et que le proc est vraiment mal optimisé sous ubuntu, je ne rentrerai pas dans les détails vu que j'ai utilisé pour comparer un logiciel qu'on trouve sur les deux plateformes que les règles du forum m'interdisent peut être de mentionner).

Merci pour vos réponses.