Discussion:P4 (langage)

Le contenu de la page n’est pas pris en charge dans d’autres langues.
Une page de Wikipédia, l'encyclopédie libre.
Autres discussions [liste]
  • Admissibilité
  • Neutralité
  • Droit d'auteur
  • Article de qualité
  • Bon article
  • Lumière sur
  • À faire
  • Archives
  • Commons

Relecture TIIR[modifier le code]

Bonjour Félicitation pour votre travail de recherche et d'écriture. Florian et moi sommes vos relecteurs et à l'on vous donner nos avis/conseils afin que vous puissiez améliorer votre article.--Codevelle Quentin (discuter) 28 janvier 2020 à 18:59 (CET)[répondre]

Bonjour Quentin, c'est avec plaisir de pouvoir échanger avec vous sur la rédaction du sujet ci dessous.

--Maxpong59 (discuter) 7 février 2020 à 00:16 (CET)[répondre]

Relecture Codevelle Quentin[modifier le code]

Après une première relecture voici les conseils que je peut vous donner :

  • Dans votre bibliographie vous devriez ajouter le symbole plume (Document utilisé pour la rédaction de l’article) devant tout les articles que vous avez cité dans votre article
  • essayer de reformater vos partie Avantages et Inconvénients en les rédigeant un peu plus
  • dans le paragraphe principe je ne comprend pas ce vous voulais dire avec cette phrase : "La programmation en langage P4 est notamment utilisée pour mettre en œuvre les fonctions de transfert de niveau 3 et les fonctions INT." en effet je ne comprend ce qu vous voulais par fonction de transfert de niveau 3. De plus après avoir parcouru le document auquel vous faites référence je n'est aucune informations qui en parle. Enfin je pense que vous pouvais soit donner une brève définition de INT (Inband Network Telemetry (INT) [5] is a framework designed to allow the collection and reporting state of the data plane, without requiring intervention or work by the control plane. It is a powerful new network-diagnostics mechanism implemented in P4.) ou donner sa signification Inband Network Telemetry

--Codevelle Quentin (discuter) 28 janvier 2020 à 19:40 (CET)[répondre]

Le symbole Document utilisé pour la rédaction de l’article est bel et bien positionné sur tous les articles que nous avons pu citer
J'ai également détaillé le but du "INT" In-Band Network Telemetry, puis j'ai fait un rappel via le lien dédié aux couches du modèle OSI, ce que nous entendons par "niveau 3" => Couche Réseau du modèle OSI...

--Maxpong59 (discuter) 6 février 2020 à 23:27 (CET)[répondre]

Bonjour, Apres quelque recherche sur votre sujet je me suis aperçu qu'il manquer certaines information dans votre sous partie syntaxe. Afin de palier a cela je vous propose décomposer celle-ci comme la fait l'article python (langage) en ajoutant une sous partie mot clé et une autre types ou type de base. Pour ces sous partie vous trouverez des information dans les lien suivants :

https://cs344-stanford.github.io/lectures/Lecture-2-P4-tutorial.pdf
https://p4.org/p4-spec/docs/P4-16-v1.0.0-spec.html#sec-syntax

De plus j'ai trouvé des information complémentaire sur le fonctionnement du langage notamment sur les traitement des paquet qui je pense peuvent permettre de mieux comprendre comment fonctionne le langage, vous pouvez retrouver ces information dans les lien suivants:

https://fr.slideshare.net/MakhloufAntitene/p4-programming-protocolindependent-packet-processor
https://p4.org/p4-spec/p4-14/v1.0.5/tex/p4.pdf

--Codevelle Quentin (discuter) 2 février 2020 à 12:06 (CET)[répondre]

Nous avons effectivement trouvé cette source "https://fr.slideshare.net/MakhloufAntitene/p4-programming-protocolindependent-packet-processor" lors de nos recherches conjointes avec Floriane, cependant il ne s'agit pas d'une source "officielle" nous ne l'avons donc volontairement pas citée.

--Maxpong59 (discuter) 7 février 2020 à 01:15 (CET)[répondre]

Relecture De Sutter Florian[modifier le code]

Bonjour, comme la dit Quentin bravo à vous d'avoir été au bout de ce travail qui plus est sur un sujet ou faire l’état de l'art n'est pas si simple ni a synthétisé.

Je vais dans un premier temps faire une lecture et un retour "a froid" sans avoir approfondi le sujet puis dans un deuxième temps faire l’état de l'art afin de mieux comprendre le sujet et vous faire un deuxième retour.

Les avis que je vais donner ne sont pas à prendre à mal, il s'agit en général que de mon avis et je n'ai pas l'intention d'être crus dans mes propos même si je peux souvent le paraître.

Bonjour Florian, nous sommes la, à échanger dans un but purement constructif, chaques remarques et ou idées sont bonnes à pendre en compte

--Maxpong59 (discuter) 6 février 2020 à 23:36 (CET)[répondre]

Général[modifier le code]

Au niveau du plan personnellement j'aurais aimé trouver les objectifs du langage juste après les origines avant de rentrer plus profondément dans le principe du langage.

Je ne suis pas d'accord dans le sens où, si vous n'avez pas le paragraphe "principe" au préalable, la compréhension des objectifs de l'utilisation du langage n'est pas optimale voir même incompréhensible.

--Maxpong59 (discuter) 6 février 2020 à 23:34 (CET)[répondre]

En bonus il serait possible d'avoir un schéma des parties du compilateur ou bien du fonctionnement général du langage.

Effectivement je suis d'accord avec vous, j'avais fourni le schéma de fonctionnement du langage, mais il a été nettoyé par un WPCleaner, je me charge de l'ajouter ASAP
Très bien le schéma est propre, il faudrait ajuster peut-être la taille et mettre une légende. Beaucoup d'élément du schéma est explicité dans les sections fonctionnement et syntaxe, pourquoi pas le mettre dans fonctionnement ? --Soraofhearth (discuter) 12 février 2020 à 06:45 (CET)[répondre]

--Maxpong59 (discuter) 6 février 2020 à 23:34 (CET)[répondre]

Principe[modifier le code]

"les développeurs déclarent le traitement d’un paquet dans un programme utilisant le langage P4", : J'aurais plus dit "un programme écrit en p4"

Correction apportée, je suis d'accord avec vous sur la tournure de phrase

--Maxpong59 (discuter) 6 février 2020 à 23:40 (CET)[répondre]

J'appuie l’avis Quentin sur la phrase : "La programmation en langage P4 est notamment utilisée pour mettre en œuvre les fonctions de transfert de niveau 3 et les fonctions INT.", pour ma part je ne saisis pas très bien, il serait peut-être utile de définir "fonction de transfert de niveau 3" et "fonction INT"

Cette notion a été dévelopée plus haut sur la remarque de Quentin, afin de comprendre ce qu'est "le transfert de niveau 3" , il faut logiquement se référer aux diverses couches du modèles OSI, en effet la couche 3 fait référence à la couche Réseau. https://fr.wikipedia.org/wiki/Couche_r%C3%A9seau

--Maxpong59 (discuter) 6 février 2020 à 23:42 (CET)[répondre]

Pourquoi ne pas retrouver une section pour les versions à la fin afin d'expliquer un peu plus en détail ce qu'apporte une version par rapport à l'autre. Je suis conscient qu'il n'existe que deux versions mais vous parlez de changements importants : lesquels ? Qu'est-ce qui a poussé à faire une nouvelle version si différentes ?

"Ainsi, de nombreuses fonctionnalités ont été supprimées du langage de base P414 ", vous voulez dire que les fonctionnalités étaient disponibles avec p414 mais ne le sont plus ? Je pense que vous vouliez dire "Dans la nouvelle version (p416) de nombreuses fonctionnalités ont été retiré par rapport au langage de base p414.

Fonctionnement[modifier le code]

L'exemple est une bonne idée d'après moi mais il n'est pas assez explicite, je veux dire par là qu'il ne parle pas de lui-même.

Je ne suis pas expert en programmation , je me suis juste inspiré de cet exemple afin juste d'avoir une idée de la manière dont le code est construit

--Maxpong59 (discuter) 6 février 2020 à 23:50 (CET)[répondre]

Vous parlez de table de type "match+action" mais de quelle type de table parlez vous ?

il s'agit là, d'un terme constituant les 2, afin de vulgariser, match + action = analyse + traitement, P4 est utilisé pour traiter les flux Réseaux et donc selon le "match", il y affecte ou non une action selon ce que le programme lui demande.

--Maxpong59 (discuter) 6 février 2020 à 23:50 (CET)[répondre]

Syntaxe[modifier le code]

Si vous décider d'utiliser des définitions sous forme de liste à puce je vous conseille la syntaxe : "; mot a définir : définition"

Au niveau de la forme et des parties que doit contenir le programme j'ai bien saisi et c'est explicite rien à rajouter. Mais pour une partie syntaxe je rejoins encore l'avis de Quentin. Déclaration de fonction, le typage des variables, les différents types etc. Je me doute que c'est un gros travail de recherche et de rédaction mais si la syntaxe de P4 se rapproche d'un autre le dire pour au moins se faire une idée.

L'exemple est lourd et encore une fois peu explicite, définir les différentes parties, ce que fait le programme etc.

Compilateur[modifier le code]

Vous pouvez rajouter le modèle {{Article détaillé|compilateur}}

Je n'ai pas ajouté le modèle sur le compilateur car il est déjà ajouté plus haut.

"Depuis la version P4-16" : Mal formaté

En effet, c'est un raté, merci !

Je trouve la tournure de la phrase : "À l'origine, le compilateur utilisé pour P414 est écrit en Python. Depuis la version P4-16, le "P4 Language Consortium", le groupe de développeurs P4, fournit un compilateur nommé P4C, utilisé pour les deux versions du langage : P414 et P416" un peu bancal : "Il existe deux compilateurs, un premier utilisé à l'origine pour p414, et un autre depuis la version p416 nommé P4C fournit par le "P4 Language Consortium" le groupe de développeurs P4, compatible avec les deux versions du langage"

Merci pour la reformulation, je vais l'intégrer.

Il serait peut-être intéressant de comprendre pourquoi partir sur un nouveau compilateur qui plus est écrit dans un langage différent.

Au niveau des traitements et des types de backend vous avez fait le choix de liste à puces, pourquoi pas mais il est possible de développer sous forme de paragraphe surtout que les puces contiennent beaucoup de texte. Si vous faites le choix de laisser sous cette forme je remet le bon format ici : "; mot à définir : définition"

J'ai modifié le formalisme.

"afin que le code soit conforme aux spécifications du langage12, etc. " : le "etc." peut-être à éviter.

" génère du code en format JSON afin d'exécuter des programmes P4 sur des commutateurs logiciels" : P4 génère du code dans un format compatible pour configurer le matériel ou on exécute le programme donc on obtient un exécutable ?

C'est corrigé.

--Efsee (discuter) 7 février 2020 à 19:24 (CET)[répondre]

Objectif[modifier le code]

Encore une fois utilisation d'une liste à puces pouvant être développé avec un effort de rédaction.

Effectivement, nous avons reformulé la section

--Maxpong59 (discuter) 7 février 2020 à 00:25 (CET)[répondre]

Expérimentation[modifier le code]

Il manque un petit paragraphe introductif à la partie servant à comprendre et introduire vos deux sous-sections. Il permettrait de comprendre le titre de la partie que je n'ai pas bien saisi, il s'agit expérimentation pour les futures versions ou bien il s’agit d’application possible en étude ?

Phrase introductive incorporée. Nous nous sommes au sein de cette page appuyé uniquement sur le présent, nous ne parlons donc pas d'idées pouvant évoquer une future version, sinon ceci ne traite aucunement de l'état de l'art.

--Maxpong59 (discuter) 7 février 2020 à 00:05 (CET)[répondre]

Avantage/Inconvénients[modifier le code]

D'après moi ce genre de section n'a pas lieu dans ce genre d'article, les différentes informations peuvent être rajoutées dans les autres sections et au lecteur de se faire son avis au pendant la lecture de l'article. Si finalement c'est une bonne chose je vous suggère encore une fois de ne pas utilisé une liste à puces quitte à faire des sous-sections par genre d'avantages et d’inconvénients.

je suis moyennement d'accord avec votre avis. Il s'agit ici d'un sujet sur lequel nous ne trouvons pas forcément de retour d'expérience, il est donc opportun je trouve qu'à la première lecture, nous puissions lire un positif/négatif quant au sujet.

--Maxpong59 (discuter) 7 février 2020 à 00:11 (CET)[répondre]

Tout comme Maxime je pense qu'il est important d'avoir les avantages et les inconvénients afin de se faire un avis sur le langage car le nombre d'expérimentations est encore très mince et je doute que les lecteurs de cette page tentent d'implémenter le langage pour se faire une idée des avantages et des inconvénients. Cependant, j'ai mis en compte votre remarque et ai reformulé les parties avantages et inconvénients afin d'éviter les listes à puce.

--Efsee (discuter) 7 février 2020 à 19:08 (CET)[répondre]