Aller au menu - Aller au contenu

Icône [Modération] Bien poster un topic dans le forum programmation

Avatar
Mise à jour : 09/02/2009
Difficulté : Facile Facile
14 visites depuis 7 jours, classé 765/786

Sujet de ce tutoriel



Le nouveau forum programmation est là pour que tout le monde, vous y compris, s'en serve.



Qu'est-ce qu'un forum ?
C'est un lieu de communication, où chacun peut s'exprimer.



Ce forum est (selon moi) conçu dans un but d'entraide. Cela veut dire que le comportement que l'on devrait adopter est celui qui permet d'aider ou d'être aidé le plus efficacement possible :soleil: .



Le fond est important (vous ne pouvez pas demander de l'aide si vous n'avez pas de problème, et vous ne pouvez aider si vous n'avez pas de solution) mais la forme l'est aussi : un message bien rédigé et clair permettra aux autres membres de comprendre au mieux votre problème, ou votre solution.



Problématique



Je traiterai donc ici de la manière dont il faut formuler un problème, en considérant que vous êtes amenés à poster un nouveau topic.

Suis-je dans le bon forum ?

Tout d'abord, une vérification est de rigueur. Suis-je dans le forum approprié ?

En effet, chaque forum est là pour traiter une catégorie précise de questions.

Les gens qui savent des choses sur le PHP par exemple traînent (voire glandent :p ) dans le forum PHP. Poster une question sur le PHP dans le forum programmation, c'est donc un bon moyen de poser la question là où les gens qui peuvent y répondre ne sont pas.

Les deux autres forums dans lesquels on expose souvent ses problèmes sont le forum Site Web et le forum Mapping.
Leurs catégories sont strictes, mais attention !

Parfois, on a un problème sur un sujet qui n'est pas mentionné dans les catégories des forums, alors qu'il y a plus sa place que dans le forum programmation.


Je prendrais ici deux exemples.
  • Vous avez un problème d'ASP (si vous ne savez pas ce que c'est que l'ASP, ce n'est pas grave et vous ne vous en porterez que mieux). Le seul langage dynamique proposé dans le forum Site web est le PHP. Pourtant, une telle question a bien sa place dans le forum PHP. Précisez seulement dans le titre de votre topic que c'est de l'ASP comme cela : "[ASP] Titre du topic".
  • Vous voulez apprendre le mapping FarCry. Pourtant les seules catégories du forum Mapping sont Hl1 et Hl². Je ne vous fais pas de dessin ;) , c'est quand même là qu'il faut aller. Pareil, vous mettrez comme titre "[FarCry] Titre du topic".



Vous remarquerez aussi que le forum programmation se divise en deux catégories.

La catégorie C/C++ et la catégorie Autres langages.

Il semble donc que le forum programmation soit orienté langages de programmation. Cependant, la programmation c'est aussi plein d'autres choses, et si vous avez une question qui ne porte pas sur un langage précis (l'exemple le plus simple est "dans quel langage puis-je faire ceci / cela efficacement ?"), vous pouvez la poser :) . Cependant, il faut faire attention à rester dans le cadre strict de la Programmation.

En cas d'erreur



Il arrive qu'on se trompe de catégorie, voire de forum, quand on poste un topic.

Il y a deux protections contre ces erreurs embêtantes : la prévention : ne pas créer un topic en état d'ébriété :p , et la guérison.

Les modérateurs sont capables de changer un topic de forum ou de catégorie. Si vous vous rendez compte que vous vous êtes trompés, envoyez-leur un gentil MP (ou une alerte) pour leur demander de le changer.


Ne vous inquiétez pas, même s'ils ont l'air méchant comme ça, ils prennent très bien ce genre de demande.

De même, si vous voyez un topic qui n'est selon vous pas à la bonne place, vous pouvez aussi demander à un modérateur de le changer, cela aidera le posteur du topic à trouver le renseignement dont il a besoin.

Ma question n'a-t-elle pas déjà été traitée ?

Maintenant que je suis sûr d'être dans le bon forum, je peux poster ?

Hé non ! Parfois, quelqu'un a déjà posé la même question, et même parfois on y a déjà répondu !


En effet, quand on a un problème, c'est souvent parce qu'il y a une raison ; comme on n'est pas plus bête que la moyenne des gens (enfin ça dépend des cas, hein :D ), d'autres personnes ont souvent le même problème que nous.

Trouver un topic déjà existant



Comment trouver le topic en question ? Il suffit d'utiliser la fonction Recherche du forum :). Celle-ci se trouve dans le bas du menu de gauche.

Le mieux pour avoir la réponse rapidement à la question, c'est de choisir la recherche avancée et de préciser que l'on ne veut une recherche que dans le forum programmation.

On voit encore ici l'intérêt de poster son topic dans le bon forum. Cela aide les gens compétents à lire votre question, et ça aide les gens qui chercheront une réponse ensuite à trouver rapidement votre topic.


Si un topic existe effectivement



Il suffit dans ce cas de trouver le topic créé par cette personne pour prévenir qu'on a le même problème (et y apporter un complément d'information quand c'est possible - par exemple quand elle n'a pas lu ce magnifique tutoriel :-° ), et d'attendre des réponses.

Parfois même la réponse au problème a déjà été donnée !

Si aucun topic n'existe



Si vous n'avez trouvé aucun topic posant la même question que vous, il est maintenant temps de créer le vôtre.

Les titres : la quintessence de mon topic

Le titre, c'est l'information accessible sans un seul clic aux lecteurs du forum programmation. Il est donc très important de le soigner : un titre clair amène les lecteurs à cliquer dessus, à entrer dans votre topic, et une fois dedans, ils vont très probablement le lire. Par contre, si le titre est brouillon, il ne vont pas lire votre topic, donc tous les efforts de présentation que vous aurez faits seront inutiles.

Le mieux pour que les titres soient clairs, c'est d'adopter une convention. Voici la convention que je vous propose :

Citation : Convention pour les titres

  • Dans le titre principal : le nom du langage de programmation entre crochets (ou rien si cela ne concerne pas un langage précis), suivi d'une description générale et concise du programme qui vous propose problème.
  • Dans le titre secondaire : des précisions sur le problème lui-même, comme par exemple l'erreur donnée par le programme, ou le nom de la fonction qui vous pose problème.



Les langages C et C++ ne sont pas rigoureusement identiques !


Si vous savez dans lequel des deux vous programmez, mettez-le. En effet, certains bugs sont dus au fait que l'on utilise des structures C++ et C par exemple, et si vous ne nous dites pas que l'on fait du C, on verra juste un code C++ normal avec du C dedans.
Si vous ne savez pas lequel des deux vous employez, on ne va pas en faire un fromage ;) , mettez [C/C++].

Voici un exemple de titre de topic qui me semble explicite :

Citation : Un titre de topic

[C] Lecture de deux nombres pour les additionner
problème de scanf


Une fois que vous avez réfléchi à la formulation claire du titre, vous pouvez vous consacrer à l'écriture du message en lui-même.

Si jamais votre topic porte sur autre chose que la correction d'un problème dans un code que vous avez écrit, vous pouvez sauter la partie suivante (ou du moins la parcourir rapidement).

Les informations indispensables

L'environnement dans lequel vous programmez



Les informations sur l'environnement sont parfois utiles, mais elles sont facultatives.
Si on les met en début de topic bien qu'elles soient moins importantes que "ce que vous voulez faire", c'est parce qu'en général, le lecteur se souvient mieux de ce qu'il a lu en dernier.

Vous pouvez déjà rappeler votre langage de programmation, ça ne fait pas de mal.

Ensuite, il peut être utile de préciser votre système d'exploitation.

Enfin, il est utile de préciser votre IDE. Si vous suivez le cours C/C++ il est précisé. Si vous ne savez pas ce que c'est, essayez de répondre à la place à la question suivante : avec quel programme faites-vous de la programmation ?


Ce que vous voulez faire



Vous devez expliquer à quoi sert le programme que vous êtes en train de faire, ou que vous vous apprêtez à faire.

Tout d'abord, faites une description générale, et ensuite précisez le type d'entrée attendue et la sortie attendue du programme.

Exemple



Citation : description
Je code actuellement une calculette. Pour l'instant je fais l'addition.
Mon programme prend en entrée deux int (un par ligne), et donne en sortie un int qui est la somme des deux premiers.


Si vous ne connaissez pas l'entrée attendue et la sortie attendue de votre programme, c'est qu'il y a un problème. Vous devriez réfléchir à ce que vous êtes en train de faire.

Si c'est une fonction isolée dans un programme qui pose problème, vous devriez décrire votre programme en général (description + entrées/sorties), et ensuite décrire cette fonction :

Citation : autre description
Mon programme est une calculatrice.
Il prend en entrée sur une même ligne un int (le premier terme), un char (l'opération) et encore un int (le deuxième terme). Par exemple "5 * 2".
La fonction qui me pose problème est la fonction d'addition, qui prend en argument les deux int et retourne leur somme.


Le bug



Si le problème est un bug de votre code, à la compilation ou à l'exécution (chose qu'il vous faudra préciser), vous devez indiquer le message d'erreur qui vous est donné, et la manière dont il faut procéder pour reproduire ce bug.

Votre code



Si vous avez un bug dans votre code, il faut le montrer pour que l'on puisse le résoudre.

Peut-on savoir quelle quantité de code montrer ?



Si vous ne montrez pas assez de code (ou pas du tout), vous allez 9 fois sur 10 ne pas montrer la ligne où il y a le bug. Il n'y a rien de pire que quelqu'un qui montre des lignes juste en disant "ça plante".

Par contre, il faut aussi redouter l'effet inverse : si vous copiez-collez 450 lignes de code en nous disant "démerdez-vous pour trouver l'erreur", il est peu probable (les programmeurs sont paresseux, c'est bien connu :p ) que quelqu'un prenne la peine de la chercher.

Cependant, déterminer la taille exacte nécessaire est très difficile car on a souvent besoin de tout le bloc d'instructions dans lequel est l'erreur, et parfois des fonctions et des variables qui sont utilisées sans être déclarées dans ce bloc.
De plus, quand vous débutez, il est très rare que vous sachiez localiser l'erreur. En général vous prenez la ligne indiquée dans le message d'erreur, et ce n'est pas du tout ça qui pose problème. ;)

Ce que l'on peut faire



Dans l'absolu, il est donc préférable d'insérer tout le code, mais il est alors nécessaire qu'il soit bien espacé, bien indenté, bien commenté, bien lisible, et plutôt court si possible. (Si vous ne connaissez pas ces notions de présentation du code, vous devriez vous documenter. Je vous propose un article de la Wikipédia qui a le malheur d'être en anglais.)

Quand vous postez du code, précisez le nom du fichier avec son extension.


En effet, il arrive que le bug soit lié non pas au code, mais à l'extension employée.

Quand vous copiez du code en vrac, essayez de vérifier que vous n'avez pas laissé d'information personnelle (nom, mot de passe...) par oubli.

On n'insiste jamais assez sur l'importance de la présentation

La rédaction du message est un point qu'il ne faut pas négliger.

Voici quelques conseils :
  • jamais de SMS ;
  • relire avant de poster pour enlever les fautes d'orthographe ;
  • la politesse est toujours un plus ;
  • remercier, c'est cool.


J'insiste sur le second et le dernier point.

Se relire, c'est bien, ça enlève des fautes : un message non en SMS mais mal orthographié peut être extrêmement pénible à lire. En plus, ça vous fait faire des progrès en français (si c'est pas merveilleux, ça :lol: ).

Remercier les autres, c'est quelque chose selon moi de plus important que les "Bonjour" et "Merci par avance" dans le premier message. Ça permet de marquer clairement deux choses : la (les) personne(s) qu'on remercie a (ont) aidé, et le problème est résolu.

Ainsi, une personne ayant le même problème et qui passe deux semaines après sait que la solution donnée par untel(s) était bien la bonne.

Et si personne ne répond

Dans le cas (très improbable, si vous avez bien suivi tous mes conseils ;) ) où votre message resterait sans réponse, ne paniquez pas. Vous devez vous demander plusieurs choses.
  • Ai-je mis toutes les informations ?
  • La présentation est-elle rebutante ?
  • Depuis combien de temps ai-je créé mon topic ?


Si vous avez oublié des informations importantes, il est possible que personne ne puisse vous aider. Si vous remarquez un oubli, éditez votre message pour rajouter les informations.

Si l'écriture est trop affreuse, ou si par exemple vous avez écrit 30 lignes sans saut de ligne ni ponctuation, personne ne veut répondre. Dans ce cas-là, éditez votre topic en reprenant le style.

Si vous avez créé votre topic il y a 5 minutes, ce n'est pas la peine de s'affoler : c'est un forum, donc les réponses mettent souvent une heure, parfois plus pour arriver. Si jamais vous avez créé il y a plusieurs jours, et que votre topic n'est plus sur la première page, vérifiez que son contenu est nickel (éditez ce qui ne va pas). Vous pouvez poster un message "UP", pour le faire remonter en première page.

Les modérateurs n'aiment pas du tout les "UP". Ils tolèrent _un_ "UP" 24 heures après la création du topic, mais faites bien attention à ne pas en abuser.


Pour votre sécurité (parce qu'un modo en rogne, c'est dangereux pour la santé), le site a mis en place un système qui empêche les "UP" trop rapprochés. Pas de risque donc que vous en fassiez trop souvent.


Attention cependant à ne pas en mettre trop : si vous UPpez deux-trois fois et que personne ne répond, il vous faudra vous résigner, et admettre que personne ne répondra. Pas la peine sans doute de UPper à nouveau, et pas la peine non plus de créer un nouveau topic.

Résumé des bonnes pratiques

Voici un petit résumé de ce qu'on a vu au cours de ce tutoriel.

Aller au bon endroit



Le bon forum



Et si ma question concernait plutôt les forums Site Web ou Mapping ?


Choisir la bonne catégorie



Je fais du C/C++ ou autre chose ?


Ne pas poser une question déjà posée



On peut utiliser la fonction Recherche !


Avoir un titre clair



Citation : Convention pour les titres

  • Dans le titre principal : le nom du langage de programmation entre crochets (ou rien si cela ne concerne pas un langage précis), suivi d'une description générale et concise du programme qui vous pose problème
  • Dans le titre secondaire : des précisions sur le problème lui-même, comme par exemple l'erreur donnée par le programme, ou le nom de la fonction qui vous gêne



Donner les informations utiles



(Les informations facultatives sont entre parenthèses)

  • Langage (version)
  • (Système d'exploitation (distribution) (version))
  • (Outils de développement (version))
  • Ce que vous voudriez que votre programme fasse
  • Le message d'erreur / l'entrée qui fait tout foirer
  • Votre code


Voici en bonus un petit squelette zCode qui me semble permettre d'ordonner au mieux ces informations :

Code : Zcode
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Bonjour,
<!-- cours résumé du titre -->

<titre1>Mon environnement de programmation</titre1>

<liste>
<puce><gras>Mon langage : </gras> ....</puce>
<puce><gras>Mon système d'exploitation :</gras> ....</puce>
<puce><gras>Mon IDE :</gras> ....</puce>
</liste>

<titre1>Mon programme</titre1>

<titre2>Ce qu'il doit faire</titre2>

<!-- un truc général sur ce que doit faire le programme, sans rentrer dans les détails du code -->

<titre2>L'implémentation que j'ai choisie</titre2>

<!-- vous expliquez la manière dont vous avez choisi de transcrire ce truc général en code informatique -->

<titre1>Mon bug</titre1>

<gras>Message d'erreur : </gras> .... <!-- OU --> <gras>L'effet du bug : </gras> ...

<titre1>Mon code</titre1>

<code type="mon_langage">.....(n'oubliez pas de changer le langage et d'enlever l'espace de < /code> )...< /code>

Merci par avance de votre aide


Si on vous répond, remercier



Citation : exemple de remerciement
Merci à victor et à rz0 pour cette aide précieuse ! Mon problème est maintenant résolu.
Voilà : avec ces informations, vous devriez être capables de formuler clairement votre problème. Vous pouvez être sûrs que votre chance de trouver la solution qui vous convient est maximisée par ce petit travail. :)



De plus, je pense qu'apprendre à bien formuler son problème est un grand pas vers l'étape suivante, apprendre à le résoudre. En fait, une fois que vous aurez appliqué plusieurs fois ce tuto, vous arrêterez quasiment de poser des questions pour répondre à celles des autres. À quoi je sers, moi, dans tout ça :euh: ?



P.-S. : si vous avez des remarques sur ce tuto, veuillez me les envoyer par MP ou sur ma boîte mail (rédaction, choses peu claires, fautes d'orthographe, autres conseils...);

Partager

40 commentaires pour "[Modération] Bien poster un topic dans le forum programmation"
Note moyenne : 3.44 / 4 (9 votes)
Pseudo Commentaire
Hors ligne poidu91 # Posté le 28/03/2010 à 16:19:34
Avatar

Ville : Bruyeres le chatel
Pays : France métropolitaine

Merci d'avoir fait ce tuto ça va, je pense, me servir par la suite

Merci encore
Hors ligne damjuve # Posté le 10/11/2010 à 16:50:19
éliminez le super flux
Avatar

Études : Epitech Paris

Bonjours à tous,
A la lecture de ce tuto ( oui ça fait longtemps que je suis sur le sdz, allez savoir pourquoi je ne l'avais jamais lue ... ) je me suis fait une remarque.

Dans la section programmation il peut toujours être utile de proposer son code minimal plutôt que ( comme c'est quasi toujours le cas ) un code complet. Pourquoi ne pas expliquer ici ce qu'est un code minimal et démontrer qu'il permet aux gens de trouver le problème plus vite ( et il m'est même fréquemment arrivé, lors de l'élaboration de ce fameux code minimal avant de poster sur un forum, de trouver moi même la réponse ;) ).

à bientôt, Damjuve

Donnez systematiquement votre code, c est complique de trouver qu est ce qui ne vas pas si si non ;)

Les zeros vous ont bien aidé ? Passez votre sujet en resolu, ca nous evitera de perdre du temps a lire des postes qui n attendent plus de réponse ;)


Compétences


Maitrise : (x)HTML/CSS, PHP/MySQL, Javascript, C, C++, Java.
Approfondis : Javascript, MySQL.
Découvre : ASM.

Projets


C++ : Mon Lycée. Jeu 2D avec SFML.
Tuto : A la découverte de l'ADN.


<Deuskull>
"L'enfance et l'adolescence, c'est comme Windows, c'est simple, t'es (trop) guidé, tu ne peux rien faire et tu plantes souvent.
Etre adulte, c'est comme Linux, tu es libre ! Mais pour faire un tout petit truc, putain, qu'est-ce que t'en baves ...
La mort, c'est comme un Mac, çà existe mais personne ne s'en rend vraiment compte sauf à la fin ..."




 
Hors ligne bluestorm # Posté le 10/11/2010 à 20:47:00
dont ask to ask
Avatar
Groupe : Anciens
Flux RSS

La raison pour laquelle je n'ai pas donné ce conseil, c'est que selon mon expérience les débutants ont beaucoup de mal à comprendre la notion de "code minimal", et ont simplement tendance à ne pas montrer les bouts de code qu'ils jugent non liés, et où, fatidiquement, se trouve l'erreur.

La notion clé pour obtenir un problème minimal, c'est de réduire la taille du programme : au lieu de ne pas montrer tout le code, essayer de passer à un programme plus petit, qui souffre du même problème, mais dont on montre toujours tout le code. C'est assez difficile à faire, mais je pourrais en parler si je reformulais tout ça.
 
Hors ligne damjuve # Posté le 13/11/2010 à 16:50:23
éliminez le super flux
Avatar

Études : Epitech Paris

Oui je sais ce qu'est un code minimal, et c'est précisément en réduisant au maximum le code que l'on présente qu'on arrive bien souvent à identifier l'endroit d'où provient le problème ;)

Donnez systematiquement votre code, c est complique de trouver qu est ce qui ne vas pas si si non ;)

Les zeros vous ont bien aidé ? Passez votre sujet en resolu, ca nous evitera de perdre du temps a lire des postes qui n attendent plus de réponse ;)


Compétences


Maitrise : (x)HTML/CSS, PHP/MySQL, Javascript, C, C++, Java.
Approfondis : Javascript, MySQL.
Découvre : ASM.

Projets


C++ : Mon Lycée. Jeu 2D avec SFML.
Tuto : A la découverte de l'ADN.


<Deuskull>
"L'enfance et l'adolescence, c'est comme Windows, c'est simple, t'es (trop) guidé, tu ne peux rien faire et tu plantes souvent.
Etre adulte, c'est comme Linux, tu es libre ! Mais pour faire un tout petit truc, putain, qu'est-ce que t'en baves ...
La mort, c'est comme un Mac, çà existe mais personne ne s'en rend vraiment compte sauf à la fin ..."




 
Hors ligne Maëlan # Posté le 06/08/2011 à 20:43:12
Avatar

Plusieurs remarques :

1) Citation : germino
Il faudrait mettre le tuto à jour:
Citation : tuto
Vous remarquerez aussi que le forum programmation se divise en deux catégories.
La catégorie C/C++ et la catégorie Autres langages.
(et il y a quelques autres détails obsolètes ; par exemple, l'extension du nom de fichier pour la coloration syntaxique)

2) Dans la partie parlant du code, préciser qu'il faut utiliser les balises du zCode <code type="langage"> </code>. Ça parait évident, mais c'est trop souvent ignoré...

3) Le tuto manque de visibilité, ceci parce que pas grand monde ne pense à aller chercher de la lecture à ce sujet ici (moi-même, je ne l'ai trouvé qu'hier par hasard alors que je ne débute plus sur le forum Programmation). Il faudrait par exemple qu'il y ait un lien depuis les topics de bienvenue en post-it des différents forums de programmation.


Ceci dit, bonne initiative et merci.

© Message rédigé sous la seule propriété intellectuelle de son auteur Maëlan, et protégé contre toute reproduction partielle ou totale par l’ACTA (je vous remercie).
Logo de Xubuntu

Ne pas passer la main à travers l’enclos des loups.
Ne pas nourrir les lamas.
Ne pas utiliser de flash pour photographier les poneys.
Ne pas se moquer des manchots.


Un alias bien pratique : alias Taurre='cat http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf | grep TOPIC'. À ceux qui comprendront. ;)
 

Voir tous les commentaires
Ce tutoriel a été corrigé par les zCorrecteurs.