IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows 10 Discussion :

Windows 10 : Microsoft fait une mise à jour des couleurs dans la console de Windows


Sujet :

Windows 10

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    794
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 794
    Par défaut
    Citation Envoyé par kilroyFR Voir le message
    Passage en soap a rest c'est très facile au contraire. Webapi (même pour un newbie) est redoutablement efficace et tu prends plaisir à coder dans ce modèle. On fait du protobuf et autres 'les doigts dans le nez'.
    Les concept rest sont simples et le passage d'une pensée RPC à un mode ressource se fait très bien avec de la pratique.
    C'est beaucoup plus abordable que wcf où on s'arrache les cheveux pour configurer l'usine à gaz Microsoft. D.ailleurs il n'y a qu'à voir les sujets récurrents sur la config des endroits wcf pour se rendre compte de ceci.
    Ça permet à certains de justifier leur poste mais c'est une complexité totalement inutile.
    WCF n'est pas extrêmement compliqué simplement il faut lire la doc avant de se lancer dans du paramétrage hasardeux bref se former quoi. REST permet d'aller plus vite car il n'y a pas besoin de réfléchir.

    En outre REST et SOAP ne sont pas forcément interchangeable suivant les contraintes du projet ou le métier du client.

  2. #2
    Membre très actif
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Août 2014
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Août 2014
    Messages : 476
    Par défaut
    Citation Envoyé par redcurve Voir le message
    WCF n'est pas extrêmement compliqué simplement il faut lire la doc avant de se lancer dans du paramétrage hasardeux bref se former quoi. REST permet d'aller plus vite car il n'y a pas besoin de réfléchir.

    En outre REST et SOAP ne sont pas forcément interchangeable suivant les contraintes du projet ou le métier du client.
    Oui bien sur, reaction classique du gars qui s'accroche comme il peut a ce qu'il connait (je comprends, comme moi vous avez passé un temps fou a vous former et vous pensiez faire une carriere la dessus mais vous allez devoir apprendre qu'en informatique, rien n'est acquis, ne jamais se reposer sur ses lauriers et se croire le roi du monde parce qu'on sait configurer un fichier config d'endpoints WCF).
    Va raconter a d'autres tes lecons de "il faut lire la doc ... bref se former". Je parle par experience pas pour dire des choses gratuitement. Quand j'ai commencé WCF il y a 7 ans il fallait voir les tonnes de pb de bases rencontrés par tout le monde. Par la suite j'ai largement developpé dans ce contexte (REST/JSON n'ayant pas le vent en poupe a cette epoque mais deja je trouvais XML/SOAP d'une lourdeur sans nom) et dans des contextes securitaire poussé a y laisser des cheveux.

    Reaction classique du dev WCF qui va cracher sur les developpeurs REST, 'pas besoin de reflechir'... tout est dit. Entre une usine a gaz pour rien et quelque chose de coherent et logique, simple et plutot bien foutu il n'y a pas photo.
    C'est le propre de l'informaticien d'avoir un avis critique sur ce qu'il fait, comme je l'ai dit je ne suis fanboy de personne. 30 ans que je fais du Microsoft. Il y a eu du bon, tres bon et du mauvais. Le non fanboy sait faire la part de choses et reconnaitre ce qui n'est pas bien.
    J'ai beaucoup d'attente sur ASPnet Core car le cahier des charges est idéal: plus qu'a esperer que MS ne s'egare pas.

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    794
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 794
    Par défaut
    humm mais qui utilise encore cmd ? Perso je fais tout en powershell

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2012
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2012
    Messages : 80
    Par défaut
    ma news préférée de la semaine.

    ps: pas mal le troll de la première page

  5. #5
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 056
    Par défaut
    Ma petite pierre au post à troll.
    WCF c'est certe une usine à gaz pour le fichier de configuration mais c'est parcequ'il fait 100 fois plus qu'un simple web service.
    Après il est certain que le plus qu'il apporte par rapport à un simple web service va difficilement etre consommable en dehors des produits Microsoft mais tout ne justifie pas d'avoir du 100% cross-plateforme, sauf a avoir un budget illimité.
    Bref comme d'habitude ce sont le contexte et le besoin les plus importante choses, en sachant que le contexte inclus egalement les competences de l'équipe en place.

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    794
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 794
    Par défaut
    Citation Envoyé par micka132 Voir le message
    Ma petite pierre au post à troll.
    WCF c'est certe une usine à gaz pour le fichier de configuration mais c'est parcequ'il fait 100 fois plus qu'un simple web service.
    Après il est certain que le plus qu'il apporte par rapport à un simple web service va difficilement etre consommable en dehors des produits Microsoft mais tout ne justifie pas d'avoir du 100% cross-plateforme, sauf a avoir un budget illimité.
    Bref comme d'habitude ce sont le contexte et le besoin les plus importante choses, en sachant que le contexte inclus egalement les competences de l'équipe en place.
    Il faut s'en tenir aux protocoles WS-I qui ont étés conçus pour ça et là vraiment aucun problème

  7. #7
    Inactif  

    Homme Profil pro
    NR
    Inscrit en
    Juin 2013
    Messages
    3 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : NR
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2013
    Messages : 3 715
    Billets dans le blog
    9
    Par défaut
    en lisant tous vos messages mon ressentie est que toutes ces technos (wpf, sl, WCF, asp core....etc) ressemble à une grosse tambouille incompréhensible.

    je n'ai jamais appris de technos MS et pour part j'ai toujours su rester sur du client lourd (mais multiplate-forme), j'ai fais pas mal de C-C++, j'ai assez vite délaissé java voyant que ce langage devenait lui aussi une machine à gaz, aujourd'hui j'en fais de même avec le c++ devenant lui aussi trop lourd. Cherchant la simplicité et la légèreté je me contente aujourd'hui du C, Python et depuis 2 ans déja du Go.



    J'ai du mal par exemple à voir à quoi peut ressembler vos client léger tournant dans une page web ? J'ai toujours considéré les applets java, site flash/silverlight comme des produits infâmes et pardonnez moi l'expression dégelasse. Je n'ai jamais trop compris aussi ou était la difficulté à déployer des clients lourd et à les mettre à jours. Sous linux un simple serveur de dépôt et clustershell suffit à administrer des milliers de machines. Je trouve meme que c'est 10 fois plus simple que du full web ou faut s'emmerder la vie à rendre sont applie (lente en plus) compatible avec IE et safari en particulier. A faire choisir entre 500 frameworks css et js et faire du code responsive et le maintenir.

    Pour ma part j'utilisait avant exclusivement QT, puis depuis déja 1ans pour mes IHM je suis passé entièrement vers Kivy, un seul code responsive quasi automatiquement fonctionnant sur tous allant du desktop au raspberry et évidement Iphone/Android et même sur les montres connecté (déja testé)

    Pour les architectures logiciel, je suis passé du MVC que je trouve trop lourd à implémenter au SAM qui est lui plus léger et simple. Je n'ai jamais compris l’intérêt des autres architectures, trop lourdes, trop contraignantes.

    j'utilise le sgbd cassandra lorsque je dois stoker d'importante données (la aussi quelqu'un peut m'expliquer l’intérêt de sql server par rapport à postgres sql ou cassandra), y'a pas 36000 trucs à apprendre vous avez juste à apprendre à installer cassandra et maîtriser le patron MapReduce (1/2 journée à tous cassé). Cela vous donnera une gestion des données simple, performante et scalable avec une maîtrise très facile des coûts.

    Pour les conteneurs certains en parlait ici, je vous invite à aller voir du coté de Singularity (faisant en plus partie des mainteneurs), plus léger et plus performant que l'ogre docker.

    Ma question : pourquoi vous vous tracasser à utiliser des trucs lourds et non Multi-plateforme ?

  8. #8
    Membre très actif
    Homme Profil pro
    .
    Inscrit en
    Mai 2015
    Messages
    589
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Angola

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Mai 2015
    Messages : 589
    Par défaut
    pourquoi vous vous tracasser à utiliser des trucs lourds et non Multi-plateforme ?
    Pourquoi faire des LOB Desktop Multi-Platform quand Windows a +90% des desktop ? Serveur et Smartphone ok. Mais qui utilise des Client Lourd sur Linux en entreprise ??

  9. #9
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 056
    Par défaut
    Citation Envoyé par RyzenOC Voir le message
    en lisant tous vos messages mon ressentie est que toutes ces technos (wpf, sl, WCF, asp core....etc) ressemble à une grosse tambouille incompréhensible.
    Ben deja parceque tu cites 4 outils qui n'ont pas le meme but.
    Asp est comparable à php donc action à la suite de requette Http, SL à Flash donc à un code roulant sur une VM pour palier au manque de html/JS, WPF à QT et WCF à une usine à gaz (dont web service).

    Citation Envoyé par RyzenOC Voir le message
    Ma question : pourquoi vous vous tracasser à utiliser des trucs lourds et non Multi-plateforme ?
    Parceque la lourdeur provient surtout du fait qu'il existe 50 k outils qui lavent plus blanc que blanc, et les outils que tu présentes sont, à mes yeux de néophites, également lourd.
    En tant que developpeur .Net je trouve justement que la galaxie des outils Microsoft est certe nébuleuse, mais tu te retrouves très souvent à faire du .Net et donc vite tu peux retomber sur tes pieds alors que ton besoin peut etre radicalement different (IHM desktop, IHM web, webservice et autre backend).

    Le multiplateforme est une chimère qui existe depuis lontemps et dont Java est à ma connaissance l'embleme, mais jusqu'à présent ca a toujours été du fantasme.
    Je me rappelle d'ailleurs avoir fait en tant qu'étudiant naif un projet de 2 -3 fenetres sur du linux et avoir était bien embété lors de l'execution sur du windows. Les boutons transparents sur l'un sortait avec un vert sur l'autre . J'ose pas imaginer sur des projets pro avec des centaines de fenetres!

    Mais ca c'etait avant...maintenant y a l'explosion du mobile et le cross-plateforme est de nouveau au gout du jour. Il y a donc de nouveau la course à l'outil qui lave plus blanc que blanc, et force est de constaté que c'est un peu plus vrai qu'avant !
    Chez Microsoft ca se traduit par le rachat de Xamarin, et en parallele le developpement du "core", une version multiplateforme de .Net.

  10. #10
    Membre éclairé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2009
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2009
    Messages : 966
    Par défaut
    Citation Envoyé par RyzenOC Voir le message
    J'ai du mal par exemple à voir à quoi peut ressembler vos client léger tournant dans une page web ?
    Aujourd'hui? une page HTML/JS.

    Citation Envoyé par RyzenOC Voir le message
    J'ai toujours considéré les applets java, site flash/silverlight comme des produits infâmes et pardonnez moi l'expression dégelasse. Je n'ai jamais trop compris aussi ou était la difficulté à déployer des clients lourd et à les mettre à jours. Sous linux un simple serveur de dépôt et clustershell suffit à administrer des milliers de machines. Je trouve meme que c'est 10 fois plus simple que du full web ou faut s'emmerder la vie à rendre sont applie (lente en plus) compatible avec IE et safari en particulier. A faire choisir entre 500 frameworks css et js et faire du code responsive et le maintenir.
    Silverlight, c'est mort. Plus maintenue et plus supporter par la plupart des navigateurs. Donc aujourd'hui la question ne se pose pas trop.
    Cependant, il y a quelques années si tu voulais faire une appli web qui avaient de la gueule avec des fonctionnalités proches de ce que tu pouvais avoir en lourd, Silverlight était un super techno avec pas mal de mécanisme et de méthodologie qui ont été repris depuis dans d'autre techno web.



    Citation Envoyé par RyzenOC Voir le message
    j'utilise le sgbd cassandra lorsque je dois stoker d'importante données (la aussi quelqu'un peut m'expliquer l’intérêt de sql server par rapport à postgres sql ou cassandra), y'a pas 36000 trucs à apprendre vous avez juste à apprendre à installer cassandra et maîtriser le patron MapReduce (1/2 journée à tous cassé). Cela vous donnera une gestion des données simple, performante et scalable avec une maîtrise très facile des coûts.
    pour ma part j’excède pas les 250 Go pour ma plus grosse BDD + reste la techno Olap. Donc SQL Serveur ça nous va parfaitement pour le moment.
    pour la 1/2 journée pour maîtriser Cassandra... j’espère que t’aura jamais de gros problème d'optimisation.



    Citation Envoyé par RyzenOC Voir le message
    Ma question : pourquoi vous vous tracasser à utiliser des trucs lourds et non Multi-plateforme ?
    Lourds, Cela dépends beaucoup de ce que tu attends.
    Mon architecture que j’ai mise en place est assez lourdosse. Mais j’ai aussi mis en place des mécanismes pour que automatisé tous cela et au final, je gagne beaucoup de temps et j’ai une très grande flexibilité.
    Pour le Multi-plateforme, un site web permet de régler 90 % des problématique de multiplate-forme et de mobilité (travail a distance etc...). Reste les objets connectés et autre ou de toute façons les problématique et cas d'usage sont spécifique.

  11. #11
    Nouveau candidat au Club
    Homme Profil pro
    Stagiaire
    Inscrit en
    Février 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Stagiaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2017
    Messages : 3
    Par défaut
    Les débats passionnants qui s'ensuivent aux annonces des mises à jours de windows me donnerait presque envie de retourner dessus

  12. #12
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 14
    Par défaut
    j'aurai p-e pas dis les choses comme Aeson, mais curiosité et ouverture d'esprit c'est tout de même une qualité essentielle de notre métier. Bien avant la compétence technique qui elle peut toujours s'acquérir

    Et franchement les mecs qui me racontent des âneries de ce calibre à un entretien je les jarte direct. C'est des mecs à emmerde. Si t'es pas prêts à sortir de ta zone de confort, fait un autre job

  13. #13
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2011
    Messages : 11
    Par défaut Windows?Mac?Linux?
    Linux est meilleur marcher, mais nous coûtes plus de temps pour faire quelque chose de simple par rapport a windows/mac et j'aime mieux passer plus de temps à programmer qu'a gérer mon OS.
    Mac est très chère contrairement a Windows niveau qualité prix des pièce interne du PC.
    Windows est le OS le plus utiliser du marcher, donc plus facile pour la vente de logiciel, économie de temps et d'argent je trouve Windows 7 en montent très satisfaisant niveau qualité prix et simplicité.
    Tous les OS on leur avantage et défaut vous pouvez avoir un préférer, mais pitier arrêter de cracher sur un OS en particulier sans savoir de quoi vous parler.

  14. #14
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 378
    Par défaut
    Citation Envoyé par max_skel Voir le message
    Linux est meilleur marcher, mais nous coûtes plus de temps pour faire quelque chose de simple par rapport a windows/mac et j'aime mieux passer plus de temps à programmer qu'a gérer mon OS.
    Je ne suis pas d'accord, c'est une attaque gratuite et sans fondement envers un OS, ce que tu condamnes :-P

    Citation Envoyé par max_skel Voir le message
    Windows est le OS le plus utiliser du marcher
    C'est faux, et cette fois ce n'est pas qu'un avis, c'est un fait :-)

  15. #15
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 27
    Par défaut
    Un patch pathétique pour un OS pathétique.
    Qu'est-ce que les gens ont exactement contre MICROSOFT?
    Je ne comprends pas vraiment. Hum... Et c'est souvent sans fondements.

  16. #16
    Membre très actif

    Homme Profil pro
    Mentaliste
    Inscrit en
    Mars 2008
    Messages
    872
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Mentaliste
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 872
    Par défaut
    Citation Envoyé par elmin Voir le message
    Qu'est-ce que les gens ont exactement contre MICROSOFT?
    Je ne comprends pas vraiment. Hum... Et c'est souvent sans fondements.
    Heureusement que tu dis "souvent" Parce que moi pour te résumer - mais si tu veux on rentre dans les détails - j'ai fait un programme qui m'a pris plus d'un an à faire sous Windows... et en apprenant Linux, j'ai refait le même (en plus stable) sous Linx.
    Donc après avoir perdu un an à m'arracher les cheveux sur des bogues de fous, j'ai réalisé le même programme en un mois sous Linux. Donc j'ai personnellement de grosses raison (et elles sont concrètes et techniques) d'en vouloir à Microsoft Windows (pas Office, Windows).

  17. #17
    Membre éclairé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2009
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2009
    Messages : 966
    Par défaut
    Citation Envoyé par SurferIX Voir le message
    Heureusement que tu dis "souvent" Parce que moi pour te résumer - mais si tu veux on rentre dans les détails - j'ai fait un programme qui m'a pris plus d'un an à faire sous Windows... et en apprenant Linux, j'ai refait le même (en plus stable) sous Linx.
    Donc après avoir perdu un an à m'arracher les cheveux sur des bogues de fous, j'ai réalisé le même programme en un mois sous Linux. Donc j'ai personnellement de grosses raison (et elles sont concrètes et techniques) d'en vouloir à Microsoft Windows (pas Office, Windows).
    je suis assez curieux de savoir c'était quoi comme application.
    Appli embarquée temps réel ?

  18. #18
    Membre très actif

    Homme Profil pro
    Mentaliste
    Inscrit en
    Mars 2008
    Messages
    872
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Mentaliste
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 872
    Par défaut
    [WARNING / HS]

    Citation Envoyé par yoyo88 Voir le message
    je suis assez curieux de savoir c'était quoi comme application.
    Appli embarquée temps réel ?
    Allez petite parenthèse technique : j'ai fait un serveur hautes performances sur des sockets "pures" (TCP).

    L'idée est simple : je voulais faire un "aspirateur Web". A qui ont donne une "liste d'ordres". Cet aspirateur se voit donner une liste d'ordre par un "Chef". Ce "Chef", lui même, se voit donner une liste immense de sites Web à aspirer par un "Grand Chef" qui centralise tout.
    - "Technicos"
    - "Chef"
    - "Grand Chef"

    Il fallait que les "discussions" entre eux soient full TCP, zippées, et rapides.
    Je tenais absolument à faire un "Chef" qui affiche en temps réel ce que faisaient les "Technicos".
    Je tenais absolument à faire un "Grand Chef" qui affiche en temps réel ce que faisaient ses "Chefs".
    Et je voulais que l'application soit parfaitement intégrée.
    J'ai donc voulu me servir du coeur même de Windows, basé sur l'asynchronisme : un programme prend 0% de temps CPU, et c'est Windows qui envoie les événements à l'application.
    Partant de ce principe, Windows a sa propre gestion des sockets, qui n'a aucun rapport avec le monde Linux (si si très peu de monde le sait, j'y reviens après) : les sockets asynchrones.

    Le fonctionnement en gros :
    - tu ouvre une socket en TCP et tu lui envoie un callback
    - quand le callback tombe, tu analyse ce que le cœur de Windows t'a passé en paramètre :
    - soit réception d'une partie de message
    - soit validation qu''une partie du message a été envoyée
    - soit fermeture de socket (et dans ce cas, analyse énorme du type de fermeture)

    Maintenant je t'explique comment tu dois faire le code :
    - tu dois réserver tes propres paquets, et avoir ta propre gestion de mémoire pour les concaténer rapidement
    - tu dois pouvoir facilement les concaténer, parce que le message que tu as reçu n'est pas forcément complet
    - tu dois écrire toi même ton analyse de trame pour savoir le début et la fin de tes paquets
    - tu dois gérer les fermetures inattendues de socket (ici, par contre, c'est normal)

    Concrètement parlant, tu as un seul callback asynchrone pour faire tout ça, en C++ ou en Delphi (pour ma part c'était en Delphi). Je laisse lire la doc sur WSARecv:

    https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx

    Et... allez juste l'introduction :

    https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx

    Ah j'ai oublié : en fait toutes les fonction WSA = Windows Socket Asynchrone.

    Celui qui me dit qu'on ne peut plus avoir d'écran bleu sous Windows aujourd'hui, je lui fais le pari à la hauteur du montant qu'il veut, que je peux lui faire un écran bleu quand je veux. Pour la note, il suffit juste de travailler au niveau des routines cœur de Windows (et ça, quoique me disent les défenseurs de Windows, faire crasher Linux, et être obligé de rebooter rien qu'en écrivant des routines de lecture/écriture sur des sockets, c'est extrêmement difficile, voire impossible).

    Concrètement parlant, je saturais le réseaux en échanges entre le Grand Chef et les 15 PC qui avaient des "Chef" ainsi que deux autres sites qui n'avaient que des Chefs + Technicos, et je n'avais que 2% de CPU utilisé par tous mes programmes : bah oui ils étaient uniquement en attente des retours Windows, et "concaténaient" les messages avant de les décoder et écrire le résultat. Presque tout le temps n'était que de l'attente réseau. Oui oui je pouvais gérer > 20000 connexions simultanées, meilleur que du NodeJS, sous Windows... pas de quoi s'en vanter, tu vas voir pourquoi...

    Après avoir passé des semaines entières à écrire un gestionnaire 100% multithreadé, j'ai aussi utilisé les fameux SendMessage() et PostMessage() avec tous les soucis inhérents à mes amis les fonctions soi-disant threadsafe... des semaines entières pour faire tout fonctionner, mais j'y suis arrivé : code propre, lisible, et sur le plan de l'utilisateur, c'était magique : le "Grand Chef", et les petits "Chef", se mettaient dans la tray icon, quand on cliquait dessus on avait un schéma magnifique, plein de petites leds qui s'allumaient pour indiquer l'état de leurs subalternes, quand tu fermais, le message de fermeture était envoyé à tous les "enfants", ceux ci se fermaient "proprement" et coupaient la connexion proprement.
    J'ai passé des semaines entières à développer les "Technicos". Aspirer une page Web avec les IndySocket ? Ca fonctionnait bien... mais pour des mini programmes. Quand on aspire des centaines de milliers de pages, ils plantaient très très rapidement... obligé d'écrire des programmes de tests, des programmes de performances et là, personne pour aider : code des Indy totalement pourri, impossible à déboguer, et pour information : la seule suite viable, indestructible, rock-stable et multithread : RTC de DeltaSoft (à l'époque). Et Indy, tous les newbies me sortent "c'est super" et je leur explique que c'est de la merde en boîte mais ils ne comprennent pas parce qu'ils n'ont jamais été aussi loin que moi et mis la main dans le code même... et ont même parfois essayé de me faire passer pour un débutant

    Pour information, l'écriture de WSARcv est une fonction qui fait ~4000 lignes de codes en Delphi, impossible à écrire proprement. Impossible. Des switch case gigantesques, la gestion de tous les cas et types de fermeture affreuse (avec des attentes de fermeture), et pire : des fois les lignes TCP sont fermées, mais Windows ne te le notifie pas, tu le sais uniquement lorsque tu tente d'écrire dedans et Windows te rappelle un WSARcv instantané pour te dire que la socket est fermée de manière inattendue ! Imagine la gestion des messages que t'as alloué dynamiquement et que tu dois refaire (c'est là que j'ai appris ce qu'était la gestion avancée pooling pour être performant d'ailleurs).

    Et voici la suite :
    - je suis arrivé sur Linux et j'ai vu la gestion des socket : ultra bourrine, et dans le bon sens du terme : hop socket() pour ouvrir, send() pour envoyer recv() pour envoyer. En une soirée j'avais ré-écrit les échanges entre deux threads ! Quatre mois contre une soirée !
    - sur Linux : fork() et si pid résult = 0 c'est le père (je dis ça de mémoire) sinon c'est le pid du fils. Bam ! En une soirée, ré-implémentation. Ah oui on a les pipes nommés. Bim pipe nommé, on exécute tar, on envoie les 4 premiers octets pour la taille + on lit en tar. En une matinée, ré-implémentation de tout ce qui m'avait pris des semaines entières : Linux a déjà tout de prêt pour ça ! Ecriture du Grand Chef + Chef en moins d'une semaine
    - enfin le must du must : wget. J'ai eu le malheur d'apprendre à mes étudiants comment utiliser wget, maintenant il est officiellement interdit à l'IUT . Bah oui wget permet de tout, absolument tout faire lorsqu'on veut aspirer un site. Hop un pipe nommé via exec() et l'aspiration de tous les sites a été faite en une journée. Ecriture du Technicos en moins d'une semaine
    - mis en oeuvre de tout ça : un mois.

    Pour l'information historique, le système même de Windows et de gestion des sockets est tellement complexe à gérer qu'ils ont copié collé Linux, et c'est pour cela que tu as les sockets bloquantes sur Windows : parce que du point de vue développeur, code, et maintenabilité, c'est affreux de gérer des callback.

    Nous n'avons été qu'une centaine de personnes au monde a avoir fait un serveur asynchrone hautes performances sous Windows stable (aux dires des techniciens Microsoft qui s'occupaient de l'écriture du coeur réseau avec lesquels j'ai un peu discuté). Je n'en retire aucune fierté, juste pour dire que, quand j'essaie d'expliquer que par essence même, le principe des callbacks ne permet pas de faire du code maintenable sur du long terme, et que les développeur NodeJS me disent que je ne sais pas de quoi je parle... bref vous voyez où je veux en venir.

    --------------
    Et si tu veux une raison qui date d'aujourd'hui même de détester Windows, la voici :
    - j'ai payé ~100 euros (je ne me souviens plus exactement à l'euro près) pour avoir Windows Vista familiale officielle.
    - quand j'ai vu l'immondice que c'était (et je suis poli je trouve), j'ai tout de suite re-payé pour upgrader à Seven.
    - j'ai donc une licence officielle, payée
    - là j'ai voulu changer la carte mère. L'erreur monumentale à ne pas faire ! Bam ! Windows n'a pas su récupérer ni tout réinstaller
    - un ami m'a amené une version Enterprise, comme ça toute l'installation devait se dérouler rapidement sans avoir à taper "suivant" "suivant" "suivant" "suivant"
    - je l'ai mise, tout a fonctionné depuis 3 ans
    - avant-hier, je lance "cleanmgr" tu connais sûrement, l'outil officiel de Microsoft. Oui, l'outil officiel, développé par Microsoft même
    - il me dit qu'il y a 2 To de fichiers à nettoyer, alors que mon SSD fait 250 Go. Je me dis "ça sent pas bon mais comme c'est l'outil officiel, développé par Microsoft même", je valide
    - il m'a tout supprimé. TOUT SUPPRIME : Windows, tout Windows, et tout ce qu'il y avait dans mon répertoire User (C:\Users\Olivier). No joke. Y compris presque tous les programmes que j'avais installés (PyCharm, etc)
    - heureusement que je fais des sauvegardes, et que j'écris tous mes fichiers importants sur du Linux, parce que ils n'ont pas été effacés, au moins au sent qu'on est dans un monde professionnel.
    - j'ai pas fini ! je formatte mon SSD, j'installe Windows 7. Et je compte. Un reboot, 2, 3, 4, 5, 6 reboot. Sans mise à jour hein. J'installe la première mise à jour qui... met à jour le gestionnaire de mise à jour (!) puis reboote. Après cela, Windows 7 service pack 1. Ok, j'installe. Et là : > 200 mises à jour. Oui oui, voici l'écran pour preuve :

    Nom : maj1.jpg
Affichages : 284
Taille : 94,0 Ko

    Après une journée complète d'installation (oui, une journée), le soir arrive, et je me dis "ok". Dernier Windows update.
    Je le lance, et là 45 langues "optionnelles" à installer. C'est un bordel, même dans les mises à jour facultatives. Je me dis "ok j'installe comme ça je serai débarassé".
    Je lance les mises à jour hier soir, ça dure toute la nuit, ce matin il me demande à redémarrer.
    Je redémarre, et là "installation des mises à jour en cours". Il est resté bloqué de 9h00 à 18h00 en avançant de ~1% par heure.
    Il y a une heure de cela il redémarre et voici son message :
    Nom : maj2.jpg
Affichages : 228
Taille : 149,8 Ko

    Il a donc pris TROIS JOURS pour installer uniquement les mises à jour sur un disque VIERGE et il m'a fait perdre une journée pour rien parce que sur une installation vierge, il n'est pas capable de faire les mises à jour.

    Actuellement, je t'écris d'un portable qui était soi-disant bon à la casse, sur lequel,qu'un ami voulait jeter : j'ai mis un SSD à 30 euros, installé MINT et ça fait deux ans que je me ballade avec, je n'ai jamais eu de problème. Jamais. Pourtant j'ai steam, et j'ai testé mes 200 jeux portés sur Linux.

    Et tu me demande, sérieusement, pourquoi je n'aime pas Windows ?
    Même jusqu'à aujourd'hui il me fait perdre de l'argent, une journée de boulot.
    Donc pour résumer, j'ai acheté un tout nouveau matériel que je vais recevoir courant de semaine, 2 disques SSD, avec Windows 10 familial pré-installé (j'ai préféré repayer 138 euros et l'avoir pré-installé, cela me coûte moins cher que revivre des 3 jours totalement inadmissibles d'un point de vue professionnel).
    Windows = que pour les jeux, ça fait 15 ans que c'est comme ça et aujourd'hui rien n'a changé, et heureusement que de plus en plus de jeux sont portés sur Linux, car il me tarde le jour où je pourrais me passer définitivement de Windows.

    [/ WARNING / HS]

    Côté console :
    J'espère que tu comprendras aussi que quand on me sort "Microsoft met des couleurs dans sa console", j'ai masse d'arguments, à tous les niveaux, pour me moquer du manque de professionnalisme de cet OS, et que je ne suis pas un "idéaliste" qui rêve de vivre dans un monde libre : je suis un professionnel qui a utilisé un outil qui est beaucoup moins bon qu'un autre et ça s'arrête là : Windows qui m'a fait perdre plein d'argent, point à la ligne.

    Toujours pour parler console, quand Microsoft, sort, tout fier, qu'une des grandes nouveautés de Windows, c'est qu'il peut tourner sans carte graphique, en mode console, alors que Linux fait ça depuis toujours, là aussi, j'ai l'impression, ici aussi en tant que professionnel (et pas rageux idéaliste Linuxien), qu'on se fout ouvertement de ma gueule. J'ai dû réinstaller Windows il y a quelques années à cause d'un simple changement de carte graphique (alors que j'ai arrêté de compter le nombre de fois où j'ai pris un disque Linux, booté sur un autre PC sans aucun problème (vas-y fais moi ça avec Windows, en direct live)). Ici aussi : dans le monde professionnel, je n'ai jamais, absolument jamais eu sous Linux les problèmes basiques que j'ai eu avec Windows, et la console Windows reste toujours un scandale, et est toujours à l'âge de la préhistoire comparé à ce qu'on fait sous Linux.

  19. #19
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 204
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 204
    Par défaut
    bonsoir,

    Juste une petite question (peut-être indiscrète), pour rester dans le HS :
    Citation Envoyé par SurferIX Voir le message
    [WARNING / HS]
    [...] Quand on aspire des centaines de milliers de pages, [...]
    Mais pour quoi faire avec ?

  20. #20
    Membre éclairé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2009
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2009
    Messages : 966
    Par défaut
    Citation Envoyé par SurferIX Voir le message
    [WARNING / HS]
    ...
    [/ WARNING / HS]
    Je résume tu as voulu faire une application d'appel réseaux multi thread haute performance avec des notion de temps réel.
    Désolé de te dire cela mais, pour le coup, je comprend même pas pourquoi tu as voulu utiliser Windows.

    Quand tu veux travailler en bas niveau de manière performante, je suis pas convaincu que Windows soit le bon OS.

    Pour ma part, je serrai partie sur du linux pour la partie Socket et l'interface je l’aurai fait sous Windows ou en HTML (enfin si HTML 5 était sortie a l'époque).


    Pour le reste de ton poste, des problèmes sur des OS (Windows, Linux, Mac OS) il y en a tous les jours.
    Il suffit d'aller sur le thread linux de ce forum pour s'en convaincre. c'est pas pour cela que Linux est mauvais.

Discussions similaires

  1. Antivirus : Kaspersky abandonne ses poursuites contre Microsoft
    Par Michael Guilloux dans le forum Actualités
    Réponses: 18
    Dernier message: 13/08/2017, 12h48
  2. Réponses: 32
    Dernier message: 09/06/2017, 09h58
  3. Réponses: 1
    Dernier message: 16/11/2016, 15h08
  4. Réponses: 7
    Dernier message: 31/08/2015, 11h24
  5. Réponses: 17
    Dernier message: 25/05/2012, 01h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo