<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[[Cours] La programmation réseau]]></title><description><![CDATA[<p dir="auto">Bonjour à tous,</p>
<p dir="auto">C'est un sujet aussi intéressent que difficile que nous allons voir aujourd'hui: Le réseau.</p>
<p dir="auto">Nous allons découvrir le réseau de manière théorique et pratique, via ce cours.</p>
<p dir="auto">Nous allons voir tout ça via diverses parties. Tenez-vous bien, après la gestion mémoire, le réseau est la <strong>deuxième plus grosse difficulté</strong> au niveau de la programmation (ce qui le rends très intéressent!), ce sera un cours principalement théorique (oui, je sais, j'en fais très TRES rarement), et du coup, vous y verrez que très peu de code.</p>
<p dir="auto">Index:</p>
<p dir="auto">1- Le réseau, en théorie, c'est quoi?</p>
<p dir="auto">2- En pratique?</p>
<p dir="auto">3- Différence entre TCP, UDP et UDT (oui oui, ça existe).</p>
<p dir="auto">4- Quel type de données on peux envoyer en réseau?</p>
<p dir="auto">5- Synchrone? Asynchrone? Kesako?</p>
<p dir="auto">6- Un serveur de tchat synchrone (théorique).</p>
<p dir="auto">7- Notre tchat en version Asynchrone (théorique).</p>
<p dir="auto">8- Index des fonctions utiles en C (RTFM <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /> ).</p>
<p dir="auto"><strong>1- Le réseau, en théorie, c'est quoi?</strong></p>
<p dir="auto">Le réseau définit un moyen pour deux programmes de pouvoir communiquer. Il existe deux définitions du réseau existantes: LAN et INET. De manière générale, le réseau LAN représente le réseau local (nous ne parlerons pas des réseaux VPN qui sont des exceptions à ce niveau là, puisqu'elles créent un réseau LAN virtuel), et les réseaux dis INET représentent les réseaux passant par internet. WOUHOUUUU!</p>
<p dir="auto">La partie théorique a l'aire plutôt bien simple! MAIS, et c'est là que le réseau deviens très cool à connaitre, c'est ULTRA-COMPLEXE à comprendre et en même temps pas si compliqué à mettre en place. Je vais donc essayer de ne pas vous perdre durant ce cours.</p>
<p dir="auto"><strong>2- En pratique?</strong></p>
<p dir="auto">Eh oui, la description ci-dessus simplifie pas mal le fonctionnement du réseau au final. Si nous voulons mettre les mains dans le cambouis, il faut savoir pas mal de choses sur le réseau (bien que pas très importantes dans la programmation en elle même, ça vous permettra au moins de comprendre comment fonctionne le réseau de l’intérieur.</p>
<p dir="auto">Il faut savoir que la couche réseau est la 3ième couche du <a href="http://fr.wikipedia.org/wiki/Mod%C3%A8le_OSI" rel="nofollow ugc">modèle OSI</a> voyons un peu, pour avoir de la culture info, les 7 couches du modèle OSI:</p>
<p dir="auto">1- Physique (Le matériel de liaison, carte wifi, blutooth, etc...)</p>
<p dir="auto">2- Liaison (Gestion de la liaison et de la communication)</p>
<p dir="auto">3- Réseau (Gestion des couches réseau, IPv4, IPv6, etc...)</p>
<p dir="auto">4- Transport (Gère la communication en bout des processus, UDP, TCP, etc...)</p>
<p dir="auto">5- Session (Gère la synchronisation des communications et la gestion des "transactions")</p>
<p dir="auto">6- Présentation (Code les données applicatives)</p>
<p dir="auto">7- Application (Définit les points d'accès au service, Nous sommes ICI!)</p>
<p dir="auto">(je vous conseille de jeter un petit coup d’œil sur Wiki, c'est toujours un plus de savoir ce genre de choses <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--wink" style="height:23px;width:auto;vertical-align:middle" title=";)" alt="😉" /> , pour vous donner une idée, nous les apprenons par cœur à Epitech (3ième année))</p>
<p dir="auto">La couche applicative est celle ou nous sommes lorsque nous développons un programme. Toutes les autres couches sont gérées par notre OS, qui fait tout le travail à notre place!</p>
<p dir="auto">Enfin, il faut retenir une chose TRES importante, et qui va beaucoup vous aider: les SOCKETS (système qui permet la communication en réseau) sont des <a href="http://fr.wikipedia.org/wiki/Descripteur_de_fichier" rel="nofollow ugc">FD</a>s (File descriptors), il sera donc géré comme un fichier, et il faudra toujours penser à FERMER LES SOCKETS! (laisser des FDs ouverts, c'moche! Pauvre kernel <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f61e.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--disappointed" style="height:23px;width:auto;vertical-align:middle" title=":(" alt="😞" /> )</p>
<p dir="auto"><strong>3- Différence entre TCP, UDP et UDT (oui oui, ça existe).</strong></p>
<p dir="auto">Ahhh, les protocoles de communication réseau (à ne pas confondre avec les protocoles applicatifs), beaucoup de choix, avec beaucoup de différences.</p>
<p dir="auto">Nous allons voir ça tout de suite:</p>
<p dir="auto"><strong>1- Le TCP</strong></p>
<p dir="auto">Le protocole <strong>TCP</strong> est actuellement le plus stable et certainement le plus utilisé dans le domaine applicatif (ATTENTION: pas dans le jeu-vidéo). Le <strong>TCP</strong> comporte 3 grand principes:</p>
<ul>
<li>
<p dir="auto">Les packets sont certains d'arriver.</p>
</li>
<li>
<p dir="auto">Les packets arrivent dans l'ordre.</p>
</li>
<li>
<p dir="auto">On a une réponse de la réception du packet par le client.</p>
</li>
</ul>
<p dir="auto">Et tout ça, grâce à un header implémenté dans le packet (oui, le packet est un peu plus lourd). Pour résumer, voici ce qui se passe lorsque vous envoyez un packet <strong>TCP</strong>:</p>
<p dir="auto">serveur = Envois du packet =&gt; client</p>
<p dir="auto">client = J'ai bien reçu le packet! =&gt; serveur</p>
<p dir="auto">serveur = Ok merci, j'ai bien reçu la réponse! =&gt; client</p>
<p dir="auto">Nous voyons donc qu'il y a <strong>3</strong> envois réseau pour chaque packets, ce qui peux ralentir le réseau pour tout ce qui est temps-réel. ATTENTION NEANMOINS, au vue des connexions internet de nos jours, la différence ne se fait pratiquement pas ressentir.</p>
<p dir="auto">Néanmoins, dans la plupart des jeux, le <strong>TCP</strong> permet de faire les actions importantes (envois de sorts, pop de monstres, etc...) et l'<strong>UDP</strong> permet de gérer les actions moins importantes (Déplacements, etc...) pour éviter de surcharger la couche réseau. Même si certains jeux nous montrent bien que le Full <strong>TCP</strong>, ça peux marcher aussi (RPZ World Of Warcraft).</p>
<p dir="auto"><strong>2- L'UDP</strong></p>
<p dir="auto">L'UDP de manière générale est plus simple, c'est un simple envois de packet ANONYME à un serveur.</p>
<p dir="auto">Cela offre une vitesse <strong>3 fois plus rapide que le TCP</strong> mais néanmoins, on ne sais absolument pas sur le packet est bien arrivé au destinataire.</p>
<p dir="auto">Il faut donc apprendre à manier le <strong>TCP</strong> aussi bien que l'<strong>UDP</strong> en fonction de ce qu'on veux faire.</p>
<p dir="auto"><strong>2- L'UDT</strong></p>
<p dir="auto">Le cas de l'<strong>UDT</strong> est totalement différent, car c'est un protocole plutôt jeune qui a été créé pour pouvoir transporter un grand nombre de données (on parle ici de Téraoctets) sur un réseau généralement <strong>LAN</strong>.</p>
<p dir="auto">Nous n'allons pas en parler ici, mais si vous souhaiter vous renseigner dessus, je vous conseille Wikipedia <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--wink" style="height:23px;width:auto;vertical-align:middle" title=";)" alt="😉" /> .</p>
<p dir="auto"><strong>4- Quel type de données on peux envoyer en réseau?</strong></p>
<p dir="auto">Là est la question. Pour faire simple, qu'est-ce qui passe par du réseau, en soite? Eh bien, des données en <strong>BINAIRE</strong>! Eh oui, c'est des 1 et des 0 qui passent dans nos câbles! On s'y attendais pas, hein? Pour résumer, tant que les données peuvent être stockées en mémoire (soite presque toutes), il est possible de les envoyer en réseau (eh oui, c'est pour ça que le réseau est considéré très proche de la gestion mémoire <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--wink" style="height:23px;width:auto;vertical-align:middle" title=";)" alt="😉" /> ). D'une manière générale, faut pas faire l'imbécile, n'envoyez pas des pointeurs en réseau, puisque l'autre machine, n'aura pas allouée ce pointeur <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--wink" style="height:23px;width:auto;vertical-align:middle" title=";)" alt="😉" /> . Il faut envoyer des données dites "flat", donc des données et non pas des adresses!</p>
<p dir="auto">Ce qui est très souvent fait, c'est d'envoyer des structures en réseau. ça permet pas mal de chose, mais c'est très peu modulable.</p>
<p dir="auto">Une autre technique, c'est de créer un <strong>packet</strong>.</p>
<p dir="auto">Voici un exemple du contenu d'un packet:</p>
<p dir="auto">| taille des données dans le packet (4 octets) | données du packet.... |</p>
<p dir="auto">du coup, lorsqu'on reçois ce packet, on lit d'abord les 4 premiers octets pour savoir quelle est la taille du packet complet, et on lit le packet <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--wink" style="height:23px;width:auto;vertical-align:middle" title=";)" alt="😉" /> .</p>
<p dir="auto">Bref, de la théorie tout ça! On verra dans un autre cours sur le réseau du code à proprement parlé!</p>
<p dir="auto"><strong>5- Synchrone? Asynchrone? Kesako?</strong></p>
<p dir="auto">Le principe de l'Asynchrone et du Synchrone se retrouve souvent dans les applications ayant plusieurs <strong>threads</strong> (sous processus).</p>
<p dir="auto">Le principe du Synchrone, c'est d'avoir un thread qui exécute tout de manière Linéaire.</p>
<p dir="auto">Le principe de l'Asynchrone, c'est d'avoir plusieurs threads, ayant chacun un rôle et communicant entre eux.</p>
<p dir="auto">Dans notre cas, le Synchrone en réseau est nommé <strong>bloquant</strong> alors que l'Asynchrone est nommé <strong>non bloquant</strong>.</p>
<p dir="auto">Pour faire simple, dans un réseau <strong>bloquant</strong>, nous attendrons que le client ait bien reçu les informations, alors que dans l'autre cas, nous envoyons les informations en NOWAIT (voir les mans des sockets) et du coup, nous n'attendons pas la réponse TCP. Ce qui nous renvois la taille des données envoyées, et dans le cas ou des données n'ont pas été envoyées, on les renvois.</p>
<p dir="auto">D'une manière générale, le côté <strong>bloquant</strong> est utilisé dans les clients, alors que le côté <strong>non bloquant</strong> est utilisé pour les serveurs (eh oui jamie! Si on est bloquant et qu'un client lag, on fait laguer tout le monde! Exemple concret: Starcraft II, mais là encore l'exemple est spécial, puisque SCII, c'est du P2P via servering).</p>
<p dir="auto">Pour l'<strong>UDP</strong>, il n'est pas question d'être <strong>bloquant</strong>, puisque nous ne savons pas quand le client reçoit l'information.</p>
<p dir="auto"><strong>6- Un serveur de tchat synchrone (théorique).</strong></p>
<p dir="auto">A VENIR.</p>
<p dir="auto"><strong>7- Notre tchat en version Asynchrone (théorique).</strong></p>
<p dir="auto">A VENIR.</p>
<p dir="auto"><strong>8- Index des fonctions utiles en C (RTFM <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /> ).</strong></p>
<p dir="auto"><a href="http://man7.org/linux/man-pages/man2/socket.2.html" rel="nofollow ugc">- man 2 socket</a></p>
<p dir="auto"><a href="http://man7.org/linux/man-pages/man2/select.2.html" rel="nofollow ugc">- man 2 select</a> (une de mes fonctions préférées en C &lt;3)</p>
<p dir="auto"><a href="http://man7.org/linux/man-pages/man2/accept.2.html" rel="nofollow ugc">- man 2 accept</a></p>
<p dir="auto"><a href="http://man7.org/linux/man-pages/man2/bind.2.html" rel="nofollow ugc">- man 2 bind</a></p>
<p dir="auto"><a href="http://man7.org/linux/man-pages/man2/connect.2.html" rel="nofollow ugc">- man 2 connect</a></p>
<p dir="auto"><a href="http://man7.org/linux/man-pages/man2/listen.2.html" rel="nofollow ugc">- man 2 listen</a></p>
<p dir="auto"><a href="http://man7.org/linux/man-pages/man2/read.2.html" rel="nofollow ugc">- man 2 read</a></p>
<p dir="auto"><a href="http://man7.org/linux/man-pages/man2/write.2.html" rel="nofollow ugc">- man 2 write</a></p>
<p dir="auto"><a href="http://man7.org/linux/man-pages/man2/recv.2.html" rel="nofollow ugc">- man 2 recv</a></p>
<p dir="auto"><a href="http://man7.org/linux/man-pages/man2/send.2.html" rel="nofollow ugc">- man 2 send</a></p>
<p dir="auto"><a href="http://man7.org/linux/man-pages/man7/ip.7.html" rel="nofollow ugc">- man 7 ip</a></p>
<p dir="auto"><a href="http://man7.org/linux/man-pages/man7/socket.7.html" rel="nofollow ugc">- man 7 socket</a></p>
<p dir="auto"><a href="http://man7.org/linux/man-pages/man7/tcp.7.html" rel="nofollow ugc">- man 7 tcp</a></p>
<p dir="auto"><a href="http://man7.org/linux/man-pages/man7/udp.7.html" rel="nofollow ugc">- man 7 udp</a></p>
<p dir="auto">A bientôt pour un prochain cours!</p>
<p dir="auto">AlexMog.</p>
]]></description><link>http://new.melinyel.net/topic/1225/cours-la-programmation-réseau</link><generator>RSS for Node</generator><lastBuildDate>Thu, 21 May 2026 18:50:59 GMT</lastBuildDate><atom:link href="http://new.melinyel.net/topic/1225.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 28 Oct 2014 14:03:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [Cours] La programmation réseau on Tue, 21 Jun 2016 09:27:48 GMT]]></title><description><![CDATA[<p dir="auto">Le découpage est le peet to peer ça pas rapport.</p>
<p dir="auto">Je voulais juste dire que au lieu d'envoyer un String par exemple qui est très long est l'envoyer comme ça. c'est mieux le découper soie même avent l'envoyer !</p>
]]></description><link>http://new.melinyel.net/post/17774</link><guid isPermaLink="true">http://new.melinyel.net/post/17774</guid><dc:creator><![CDATA[aurelien974]]></dc:creator><pubDate>Tue, 21 Jun 2016 09:27:48 GMT</pubDate></item><item><title><![CDATA[Reply to [Cours] La programmation réseau on Mon, 06 Jun 2016 20:30:46 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto">Il y a 4 heures, aurelien974 a dit :</p>
<p dir="auto">C'est pour ça dans certain code qui utilise du Tcp on voie des sleep un peu partout x') pour pas spam, c'est mieux aussi de découper soie même se que ont veux envoyer ! Est par exemple pour le déplacement d'un personnage en ligne c'est mieux de utiliser du peer-to-peer.</p>
</blockquote>
<p dir="auto">Je ne vois pas le rapport du peer to peer avec le découpage des packets. Et pas beaucoup de jeux utilisent le peer to peer.</p>
]]></description><link>http://new.melinyel.net/post/17763</link><guid isPermaLink="true">http://new.melinyel.net/post/17763</guid><dc:creator><![CDATA[vfrz]]></dc:creator><pubDate>Mon, 06 Jun 2016 20:30:46 GMT</pubDate></item><item><title><![CDATA[Reply to [Cours] La programmation réseau on Mon, 06 Jun 2016 15:58:55 GMT]]></title><description><![CDATA[<p dir="auto">C'est pour ça dans certain code qui utilise du Tcp on voie des sleep un peu partout x') pour pas spam, c'est mieux aussi de découper soie même se que ont veux envoyer ! Est par exemple pour le déplacement d'un personnage en ligne c'est mieux de utiliser du peer-to-peer.</p>
]]></description><link>http://new.melinyel.net/post/17761</link><guid isPermaLink="true">http://new.melinyel.net/post/17761</guid><dc:creator><![CDATA[aurelien974]]></dc:creator><pubDate>Mon, 06 Jun 2016 15:58:55 GMT</pubDate></item><item><title><![CDATA[Reply to [Cours] La programmation réseau on Tue, 10 May 2016 23:46:09 GMT]]></title><description><![CDATA[<p dir="auto">Question piège ofc. En faite, ça dépends! Si le packet est trop gros, il sera, dans tous les cas, découpés en "Frames" et envoyé en plusieurs fois ;). Le problème n'étant pas vraiment la taille du packet le problème, mais bien entendu la cadence d'envois ;). En TCP, il ne faut pas oublier qu'on est dans un contexte d'envoit-&gt;réception-&gt;avis de réception. Donc bon, d'une manière générale, il vaut mieux envoyer un packet "package" avec pas mal d'infos, en TCP, plut^ot que plein de petits :). Le mieux étant encore de respecter les framesizes internationales. Mais bon, là on va un peu trop loin :).</p>
<p dir="auto">L'UDP, à contrario, est pensé pour l'envoit de plein de petits packets rapidement (en effet, + le packet est gros, + il a de chances d'^etre perdu).</p>
<p dir="auto">Bref, comme je l'ai dis, le réseau est quelque chose de très complexe, et c'est quand on a des app avec des milliers de connexions qu'on commence à s'en rendre compte!</p>
<p dir="auto">Si vous avez d'autres questions, n'hésitez pas!</p>
]]></description><link>http://new.melinyel.net/post/17725</link><guid isPermaLink="true">http://new.melinyel.net/post/17725</guid><dc:creator><![CDATA[AlexMog]]></dc:creator><pubDate>Tue, 10 May 2016 23:46:09 GMT</pubDate></item><item><title><![CDATA[Reply to [Cours] La programmation réseau on Mon, 09 May 2016 15:44:24 GMT]]></title><description><![CDATA[<p dir="auto">A mon avis, il vaut mieux envoyer un gros packet, ça évite d'avoir à envoyer l'header à chaque fois.</p>
]]></description><link>http://new.melinyel.net/post/17722</link><guid isPermaLink="true">http://new.melinyel.net/post/17722</guid><dc:creator><![CDATA[vfrz]]></dc:creator><pubDate>Mon, 09 May 2016 15:44:24 GMT</pubDate></item><item><title><![CDATA[Reply to [Cours] La programmation réseau on Sun, 08 May 2016 20:35:20 GMT]]></title><description><![CDATA[<p dir="auto">En réalité, c'est encore plus complexe que vous ne le pensez ;). Par exemple, en TCP, la perte d'un packet peut engendrer plusieurs centaines (voir milliers) de MS en ping! Tout ça parce que la liste de packets à envoyer en TCP se rallonge ;). Pour résumer, un packet foireux peut engendrer des secondes de délais si il y en a beaucoup à la chaine.</p>
<p dir="auto">l'UDP est plutôt facile à comprendre: on envoit une lettre sans être sur qu'elle soit reçue. Mais bon, très compliqué à gérer niveau code. Il faut vérifier que le packet est bien reçu, et qu'il n'est pas corrompu. Bref, un bordel! Souvent on utilise ce qu'on appelle du "Reliable" en UDP, c'est une implémentation qui permet de "tracker" les packets, tout en gardant la puissance de l'UDP.</p>
<p dir="auto">Comprendre, en interne, le TCP et L'UDP est très important. Le TCP est pré-fait avec des systèmes reliables, mais qui ne sont pas forcémment optimisés. (ils le sont pour leur utilité, mais pour un jeu par exemple, le TCP n'est pas conseillé). L'UDP permet, du fait qu'il ne soit pas "connecté" de créer son propre système reliable, et donc d'implémenter sois même un système plus adapté (un des exemples étant l'UDT, qui allie la rapidité de l'UDP avec la force du TCP (je rappelle que l'UDT est encore en dev!)).</p>
<p dir="auto">Bref, quand on a très peu d'experience dans le domaine, on se dit que c'est facile, mais ayant fait mes études très spécialisées là dedans (MSc Network &amp; Network Security) je peux te confirmer que c'est trèèèès compliqué.</p>
<p dir="auto">Question de passage: d'après vous, il vaut mieux envoyer plusieurs "petits" packets en TCP ou un gros packet TCP? (celui qui réponds correctement, je lui dis bravo!)</p>
]]></description><link>http://new.melinyel.net/post/17720</link><guid isPermaLink="true">http://new.melinyel.net/post/17720</guid><dc:creator><![CDATA[AlexMog]]></dc:creator><pubDate>Sun, 08 May 2016 20:35:20 GMT</pubDate></item><item><title><![CDATA[Reply to [Cours] La programmation réseau on Sun, 08 May 2016 13:11:22 GMT]]></title><description><![CDATA[<p dir="auto">Mon commentaire s'applique à la plupart des langages populaires car ils possèdent tous une ou plusieurs librairies qui facilite ça.</p>
<p dir="auto">Et je n'ai jamais dit que c'était un problème, c'est même très bien et je dirais même indispensable.</p>
]]></description><link>http://new.melinyel.net/post/17718</link><guid isPermaLink="true">http://new.melinyel.net/post/17718</guid><dc:creator><![CDATA[vfrz]]></dc:creator><pubDate>Sun, 08 May 2016 13:11:22 GMT</pubDate></item><item><title><![CDATA[Reply to [Cours] La programmation réseau on Sat, 07 May 2016 14:27:29 GMT]]></title><description><![CDATA[<p dir="auto">il y à pas que C sharp <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" />  le java aussi c'est facile ^^ est en c aussi je trouve ! après c'est pas parce que j'utilise un langage tout le temps sur le forum (C#) que je connais pas d'autre langage ^^ après le Tcp ou l'udp c'est des normes pour que tout les ordinateur communique en semble. tu peux aussi créer ta normes à toi ^^</p>
<p dir="auto">Le Tcp c'est tout simplement comme une ligne téléphonique.</p>
<p dir="auto">L'Udp c'est comme si tu envois une lettre que tes pas sûr que le destinataire va recevoir <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
<p dir="auto">( mais c'est parce-que le framework net facilite beaucoup. En réalité c'est très complexe. ) après je vois pas le problème d'utilisé des outils qui facilite la programmation ^^</p>
]]></description><link>http://new.melinyel.net/post/17716</link><guid isPermaLink="true">http://new.melinyel.net/post/17716</guid><dc:creator><![CDATA[aurelien974]]></dc:creator><pubDate>Sat, 07 May 2016 14:27:29 GMT</pubDate></item><item><title><![CDATA[Reply to [Cours] La programmation réseau on Sat, 07 May 2016 08:41:43 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto">Le 5/2/2016 à 14:57, aurelien974 a dit :</p>
<p dir="auto">Le réseau est pas aussi compliqué que ont le croix ! moi par exemple je joue un peux avec est j'ai appris tout seul avec du code open source <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" />  après sa peu devenir un casse tête !</p>
</blockquote>
<p dir="auto">En C# c'est vrai que c'est relativement simple, mais c'est parce-que le framework net facilite beaucoup. En réalité c'est très complexe.</p>
]]></description><link>http://new.melinyel.net/post/17713</link><guid isPermaLink="true">http://new.melinyel.net/post/17713</guid><dc:creator><![CDATA[vfrz]]></dc:creator><pubDate>Sat, 07 May 2016 08:41:43 GMT</pubDate></item><item><title><![CDATA[Reply to [Cours] La programmation réseau on Mon, 02 May 2016 12:57:04 GMT]]></title><description><![CDATA[<p dir="auto">Le réseau est pas aussi compliqué que ont le croix ! moi par exemple je joue un peux avec est j'ai appris tout seul avec du code open source <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" />  après sa peu devenir un casse tête !</p>
]]></description><link>http://new.melinyel.net/post/17708</link><guid isPermaLink="true">http://new.melinyel.net/post/17708</guid><dc:creator><![CDATA[aurelien974]]></dc:creator><pubDate>Mon, 02 May 2016 12:57:04 GMT</pubDate></item><item><title><![CDATA[Reply to [Cours] La programmation réseau on Wed, 02 Mar 2016 00:14:32 GMT]]></title><description><![CDATA[<p dir="auto">Hey,</p>
<p dir="auto">ça dépendra du langage, et si tu utilises ou non une librairie. Dans tous les cas, faire du network est un challenge, autant que la gestion mémoire, c'est donc souvent une prise de tête, sans parler du débugging en networking qui est... Difficile <img src="emoticons/default_smile.png" alt=":)" title=":)" class=" img-fluid img-markdown" /></p>
]]></description><link>http://new.melinyel.net/post/17646</link><guid isPermaLink="true">http://new.melinyel.net/post/17646</guid><dc:creator><![CDATA[AlexMog]]></dc:creator><pubDate>Wed, 02 Mar 2016 00:14:32 GMT</pubDate></item><item><title><![CDATA[Reply to [Cours] La programmation réseau on Sun, 28 Feb 2016 22:43:18 GMT]]></title><description><![CDATA[<p dir="auto">Il y a t-il un moyen de réaliser un client-server en tcp ou UDP en quelques lignes? Ou faut-il obligatoirement réaliser toutes la gestion de sockets, les différentes options et tout ça, c'est vite le bordel ;).</p>
<p dir="auto">Sinon sympa le tutoriel <img src="emoticons/default_smile.png" alt=":)" title=":)" class=" img-fluid img-markdown" /></p>
]]></description><link>http://new.melinyel.net/post/17645</link><guid isPermaLink="true">http://new.melinyel.net/post/17645</guid><dc:creator><![CDATA[Alemort]]></dc:creator><pubDate>Sun, 28 Feb 2016 22:43:18 GMT</pubDate></item><item><title><![CDATA[Reply to [Cours] La programmation réseau on Tue, 28 Oct 2014 19:54:27 GMT]]></title><description><![CDATA[<p dir="auto">Excellent tutoriel Alex !<br />
Digne d'un modérateur spécialisé. En plus on me l'avait demandé ce cours là (j'avais omis de transmettre, je crois).</p>
<p dir="auto">+1 point de réputation, comme d'habitude.</p>
]]></description><link>http://new.melinyel.net/post/12853</link><guid isPermaLink="true">http://new.melinyel.net/post/12853</guid><dc:creator><![CDATA[Azad]]></dc:creator><pubDate>Tue, 28 Oct 2014 19:54:27 GMT</pubDate></item><item><title><![CDATA[Reply to [Cours] La programmation réseau on Tue, 28 Oct 2014 16:47:54 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto">hoo c'est exactement ce que j'étudie !! <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
<p dir="auto">Donc merci, c'est plus clair que mon cour <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f61b.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--stuck_out_tongue" style="height:23px;width:auto;vertical-align:middle" title=":P" alt="😛" /></p>
</blockquote>
<p dir="auto">Heureux de t'avoir aidé <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
<blockquote>
<p dir="auto">plop,</p>
<p dir="auto">Tu vas vraiment avoir du travail si tu veux faire des cours sur le réseau, il y a beaucoup de choses complexe à expliquer avant d'arrivé à des choses très intéressantes. Bon courage.</p>
</blockquote>
<p dir="auto">Je verrais si j'ai la foi <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
]]></description><link>http://new.melinyel.net/post/12841</link><guid isPermaLink="true">http://new.melinyel.net/post/12841</guid><dc:creator><![CDATA[AlexMog]]></dc:creator><pubDate>Tue, 28 Oct 2014 16:47:54 GMT</pubDate></item><item><title><![CDATA[Reply to [Cours] La programmation réseau on Tue, 28 Oct 2014 16:27:23 GMT]]></title><description><![CDATA[<p dir="auto">hoo c'est exactement ce que j'étudie !! <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
<p dir="auto">Donc merci, c'est plus clair que mon cour <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f61b.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--stuck_out_tongue" style="height:23px;width:auto;vertical-align:middle" title=":P" alt="😛" /></p>
]]></description><link>http://new.melinyel.net/post/12837</link><guid isPermaLink="true">http://new.melinyel.net/post/12837</guid><dc:creator><![CDATA[Indiablex]]></dc:creator><pubDate>Tue, 28 Oct 2014 16:27:23 GMT</pubDate></item><item><title><![CDATA[Reply to [Cours] La programmation réseau on Tue, 28 Oct 2014 14:43:47 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto">Exact, le but étant de faire une grosse introduction au réseau pour pouvoir faire des cours plus variés dessus <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /> .</p>
<p dir="auto">Avec plaisir <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /> .</p>
</blockquote>
<p dir="auto">plop,</p>
<p dir="auto">Tu vas vraiment avoir du travail si tu veux faire des cours sur le réseau, il y a beaucoup de choses complexe à expliquer avant d'arrivé à des choses très intéressantes. Bon courage.</p>
]]></description><link>http://new.melinyel.net/post/12821</link><guid isPermaLink="true">http://new.melinyel.net/post/12821</guid><dc:creator><![CDATA[MyHand]]></dc:creator><pubDate>Tue, 28 Oct 2014 14:43:47 GMT</pubDate></item><item><title><![CDATA[Reply to [Cours] La programmation réseau on Tue, 28 Oct 2014 14:14:39 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto">plop,</p>
<p dir="auto">à première vue ça à l'air très complet, et tu reprends des principes de fonctionnements qui ne sont pas forcément propre au C, comme le sync et l'async, c'est vraiment intéressant.</p>
<p dir="auto">Merci beaucoup !</p>
</blockquote>
<p dir="auto">Exact, le but étant de faire une grosse introduction au réseau pour pouvoir faire des cours plus variés dessus <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /> .</p>
<p dir="auto">Avec plaisir <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /> .</p>
]]></description><link>http://new.melinyel.net/post/12816</link><guid isPermaLink="true">http://new.melinyel.net/post/12816</guid><dc:creator><![CDATA[AlexMog]]></dc:creator><pubDate>Tue, 28 Oct 2014 14:14:39 GMT</pubDate></item><item><title><![CDATA[Reply to [Cours] La programmation réseau on Tue, 28 Oct 2014 14:08:44 GMT]]></title><description><![CDATA[<p dir="auto">plop,</p>
<p dir="auto">à première vue ça à l'air très complet, et tu reprends des principes de fonctionnements qui ne sont pas forcément propre au C, comme le sync et l'async, c'est vraiment intéressant.</p>
<p dir="auto">Merci beaucoup !</p>
]]></description><link>http://new.melinyel.net/post/12814</link><guid isPermaLink="true">http://new.melinyel.net/post/12814</guid><dc:creator><![CDATA[MyHand]]></dc:creator><pubDate>Tue, 28 Oct 2014 14:08:44 GMT</pubDate></item></channel></rss>