Langage C : Bonnes pratiques (ANSSI)
+8
Ryo Saeba
drfloyd
chacs
tophe38
xinyingho
elsaeba
tapomag
iwillbeback
12 participants
Page 1 sur 1
Langage C : Bonnes pratiques (ANSSI)
Les bonnes pratiques du langage C validés par l'ANSSI (v1.4) :
https://www.ssi.gouv.fr/uploads/2020/07/anssi-guide-regles_de_programmation_pour_le_developpement_securise_de_logiciels_en_langage_c-v1.4.pdf
SOURCE ANSSI
Indispensable !!
https://www.ssi.gouv.fr/uploads/2020/07/anssi-guide-regles_de_programmation_pour_le_developpement_securise_de_logiciels_en_langage_c-v1.4.pdf
SOURCE ANSSI
Indispensable !!
iwillbeback- Interne
- Nombre de messages : 10350
Age : 98
Localisation : ||lll|||llll|llll||||
Date d'inscription : 19/11/2006
Re: Langage C : Bonnes pratiques (ANSSI)
un bon rappel quand on est un peu rouillé en C, merci.
tapomag- Patient incurable
- Nombre de messages : 1311
Age : 51
Localisation : Ici
Date d'inscription : 01/10/2022
Re: Langage C : Bonnes pratiques (ANSSI)
intéressant !
Cependant cela fait au moins 10 ans que je ne code plus en C++ au boulot, au profit du Java.
Cependant cela fait au moins 10 ans que je ne code plus en C++ au boulot, au profit du Java.
elsaeba- Patient en incubation
- Nombre de messages : 14
Age : 44
Localisation : Marseille
Date d'inscription : 08/11/2022
Re: Langage C : Bonnes pratiques (ANSSI)
Ah ouais 180 pages... C'est indigeste. Ils ont pas une version condensée en 5-10 pages ?
xinyingho- Interne
- Nombre de messages : 5038
Age : 44
Localisation : Noisy-le-Grand
Date d'inscription : 23/07/2018
Re: Langage C : Bonnes pratiques (ANSSI)
Ce qui est réellement intéressant, ce sont les règles et les recommandations:
Exemples:
Ne pas utiliser la fonction rand() de la bibliothèque standard
ne pas utiliser les préfixes ++ et --
etc..
Exemples:
Ne pas utiliser la fonction rand() de la bibliothèque standard
ne pas utiliser les préfixes ++ et --
etc..
iwillbeback- Interne
- Nombre de messages : 10350
Age : 98
Localisation : ||lll|||llll|llll||||
Date d'inscription : 19/11/2006
Re: Langage C : Bonnes pratiques (ANSSI)
Ils sont sérieux là ? En clair, on fait du C, mais sans utiliser une seule bibliothèque ?
Et ils vont faire pareil avec JAVA ? Ça va être drôle.
Clairement, le soucis, ce n'est pas de mettre des règles, c'est juste de trouver de bons développeurs.
Mais ça, en France, ce n'est plus possible, on est juste un pays de managers (avec du coaching)
Edit : Je viens de parcourir certains points du document, et il y a de bons rappels quand même.
Des choses évidentes pour les personnes expérimentés, mais au moins, c'est écrit.
Mais préciser que la fin de ligne est au format Unix, c'est quand même pousser le bouchon un peu loin.
Attention, ce n'est pas un manuel du C, ou un memento, c'est juste un rappel de bonnes pratiques (même si certaines restent quand même )
Et ils vont faire pareil avec JAVA ? Ça va être drôle.
Clairement, le soucis, ce n'est pas de mettre des règles, c'est juste de trouver de bons développeurs.
Mais ça, en France, ce n'est plus possible, on est juste un pays de managers (avec du coaching)
Edit : Je viens de parcourir certains points du document, et il y a de bons rappels quand même.
Des choses évidentes pour les personnes expérimentés, mais au moins, c'est écrit.
Mais préciser que la fin de ligne est au format Unix, c'est quand même pousser le bouchon un peu loin.
Attention, ce n'est pas un manuel du C, ou un memento, c'est juste un rappel de bonnes pratiques (même si certaines restent quand même )
tophe38- Interne
- Nombre de messages : 6383
Age : 51
Localisation : Vallée du Grésivaudan
Date d'inscription : 11/12/2009
Re: Langage C : Bonnes pratiques (ANSSI)
Pour le C, le K&R est limite moins épais. Par contre, il ne va pas dans les bonnes pratiques, c'est simplement une présentation du langage.
Il y a le Harbison & Steele (« C, a reference manual ») également pour une revue de la bib standard étendue. Un peu vieux, tout comme le K&R.
Sinon pour les évos récentes (C11, C17, je suppose que tout le monde s'est quand même mis au C99 y compris le compilo lamentable de microsoft), autant récupérer les drafts de la norme.
Il y a le Harbison & Steele (« C, a reference manual ») également pour une revue de la bib standard étendue. Un peu vieux, tout comme le K&R.
Sinon pour les évos récentes (C11, C17, je suppose que tout le monde s'est quand même mis au C99 y compris le compilo lamentable de microsoft), autant récupérer les drafts de la norme.
tapomag- Patient incurable
- Nombre de messages : 1311
Age : 51
Localisation : Ici
Date d'inscription : 01/10/2022
Re: Langage C : Bonnes pratiques (ANSSI)
depuis le C++11, j'utilise exclusivement les smart_ptr.
fini les malloc et les memory leaks etc ...
fini les malloc et les memory leaks etc ...
chacs- Interne
- Nombre de messages : 6229
Age : 49
Localisation : Toulouse
Date d'inscription : 27/07/2012
Re: Langage C : Bonnes pratiques (ANSSI)
On parle de C, pas de C++.
La norme C23 est en préparation, vu ici:
https://linuxfr.org/redaction/news/nouveautes-du-langage-c-dans-sa-prochaine-version-c23
La norme C23 est en préparation, vu ici:
https://linuxfr.org/redaction/news/nouveautes-du-langage-c-dans-sa-prochaine-version-c23
tapomag- Patient incurable
- Nombre de messages : 1311
Age : 51
Localisation : Ici
Date d'inscription : 01/10/2022
Re: Langage C : Bonnes pratiques (ANSSI)
Ah oui pardon, j’avais pas fait gaffe.
J’avoue que j’ignorais que le C avait encore des évolutions.
J’ai lu C11, j’ai cru que ça parlait des C++11, 14,17,20 ..,
J’avoue que j’ignorais que le C avait encore des évolutions.
J’ai lu C11, j’ai cru que ça parlait des C++11, 14,17,20 ..,
chacs- Interne
- Nombre de messages : 6229
Age : 49
Localisation : Toulouse
Date d'inscription : 27/07/2012
Re: Langage C : Bonnes pratiques (ANSSI)
tophe38 a écrit:Ils sont sérieux là ? En clair, on fait du C, mais sans utiliser une seule bibliothèque ?
Et ils vont faire pareil avec JAVA ? Ça va être drôle.
Clairement, le soucis, ce n'est pas de mettre des règles, c'est juste de trouver de bons développeurs.
Mais ça, en France, ce n'est plus possible, on est juste un pays de managers (avec du coaching)
tellement vrai
et souvent incompétent totalement pour diriger des équipes :
- car aucune compétence technique, prenant des décisions absurdes,
- et plus grave encore : incappable de gérer l'aspect humain, car trop centrés sur leur propre évolution, ou sur leur peur d'être viré.
je connais plein d'informaticiens managers qui n'ont jamais créé le moindre programme de leur vie... mais ils sont "chefs de projet"
_______________________________________________________
Re: Langage C : Bonnes pratiques (ANSSI)
C'est ce que j'appelle des mauvais managers.drfloyd a écrit:et souvent incompétent totalement pour diriger des équipes :
- car aucune compétence technique, prenant des décisions absurdes,
- et plus grave encore : incappable de gérer l'aspect humain, car trop centrés sur leur propre évolution, ou sur leur peur d'être viré.
je connais plein d'informaticiens managers qui n'ont jamais créé le moindre programme de leur vie... mais ils sont "chefs de projet"
Les bons managers doivent comprendre la technique ou ils doivent savoir se faire assister par un lead tech qui sait lui expliquer correctement la technique pour l'aider dans les décisions et se former lui-même suffisamment pour devenir à l'aise in fine sans trop devoir toujours faire appel à son lead technique.
C'est comme tous les types de travail, il y a les bons et les mauvais.
xinyingho- Interne
- Nombre de messages : 5038
Age : 44
Localisation : Noisy-le-Grand
Date d'inscription : 23/07/2018
Re: Langage C : Bonnes pratiques (ANSSI)
C'est ça, le mec, il a besoin qu'on lui explique, pour prendre des décisions
En gros, le mec a une position, sans en avoir les compétences !!
(C'est vendredi....)
Pour revenir au document, plus je le lis, plus je le trouve bien, et franchement, ça me fait plaisir.
En gros, le mec a une position, sans en avoir les compétences !!
(C'est vendredi....)
Pour revenir au document, plus je le lis, plus je le trouve bien, et franchement, ça me fait plaisir.
tophe38- Interne
- Nombre de messages : 6383
Age : 51
Localisation : Vallée du Grésivaudan
Date d'inscription : 11/12/2009
Re: Langage C : Bonnes pratiques (ANSSI)
Hello,
Le gouvernement veut m'expliquer comment coder ...
Le gouvernement veut m'expliquer comment coder ...
Effectivement, c'est relou de lire tab[i++], mais comme le ditfofo.rider a écrit:
ne pas utiliser les préfixes ++ et --
tophe38 a écrit:Clairement, le soucis, ce n'est pas de mettre des règles, c'est juste de trouver de bons développeurs.
Mais ça, en France, ce n'est plus possible, on est juste un pays de managers (avec du coaching)
Ryo Saeba- Guéri miraculeux
- Nombre de messages : 2496
Age : 44
Localisation : Paname
Date d'inscription : 15/10/2022
Re: Langage C : Bonnes pratiques (ANSSI)
Ben oui, en tant que manager, t'as le droit d'être relativement junior sur la technique au début, c'est juste qu'il faut qu'il se forme au fur et à mesure. Mais les mauvais managers sont ceux qui ne vont jamais dans les détails techniques. Et j'en connais malheureusement un. Il reste sur ses acquis et, pour le reste, il se débrouille en faisant de la politique et n'hésite pas à mettre les autres sous le bus pour se protéger...tophe38 a écrit:C'est ça, le mec, il a besoin qu'on lui explique, pour prendre des décisions
En gros, le mec a une position, sans en avoir les compétences !!
(C'est vendredi....)
xinyingho- Interne
- Nombre de messages : 5038
Age : 44
Localisation : Noisy-le-Grand
Date d'inscription : 23/07/2018
Re: Langage C : Bonnes pratiques (ANSSI)
drfloyd a écrit:je connais plein d'informaticiens managers qui n'ont jamais créé le moindre programme de leur vie... mais ils sont "chefs de projet"
Idem !
iwillbeback- Interne
- Nombre de messages : 10350
Age : 98
Localisation : ||lll|||llll|llll||||
Date d'inscription : 19/11/2006
Re: Langage C : Bonnes pratiques (ANSSI)
Chef de Roger
chacs- Interne
- Nombre de messages : 6229
Age : 49
Localisation : Toulouse
Date d'inscription : 27/07/2012
Re: Langage C : Bonnes pratiques (ANSSI)
merci pour le pdf, ca fait toujours du bien de revisier et d'apprendre de nouveaux trucs.
Re: Langage C : Bonnes pratiques (ANSSI)
elsaeba a écrit:Cependant cela fait au moins 10 ans que je ne code plus en C++ au boulot, au profit du Java.
ldindon- Patient contaminé
- Nombre de messages : 277
Age : 49
Localisation : Metz
Date d'inscription : 19/05/2013
Daft31 offre 1 suppo à ce post!
Re: Langage C : Bonnes pratiques (ANSSI)
Dans ma boîte c’est le python qui a fini par s’imposer, mais le C++ est encore utilisé sur les parties qui réclament des performances.
Java Spring Boot est aussi très utilisé comme framework dès qu’on fait des systèmes distribués.
Java Spring Boot est aussi très utilisé comme framework dès qu’on fait des systèmes distribués.
chacs- Interne
- Nombre de messages : 6229
Age : 49
Localisation : Toulouse
Date d'inscription : 27/07/2012
Re: Langage C : Bonnes pratiques (ANSSI)
J'ai parcourue un peu ce document.
Si j'ai bien compris, à la base c'est les bonne pratique pour créer des logiciel "critiques".
pour ça que le rnd est bannis car on a pas la main mise dessus en principe et que des fonctions de certaine bibliothèque aussi.
Mais pour celui qui veux faire des jeux osef.
Si j'ai bien compris, à la base c'est les bonne pratique pour créer des logiciel "critiques".
pour ça que le rnd est bannis car on a pas la main mise dessus en principe et que des fonctions de certaine bibliothèque aussi.
Mais pour celui qui veux faire des jeux osef.
Re: Langage C : Bonnes pratiques (ANSSI)
Monos a écrit:Mais pour celui qui veux faire des jeux osef.
Tout dépend de ce que tu veux faire.
Je connais peux de dev' qui bâclent leur code.. surtout lorsque celui-ci est susceptible d'être partagé .
L'introduction résume tout :
Les restrictions définies dans ce guide ont pour but de favoriser la production de logiciels plus sécurisés, plus sûrs, d’une plus grande robustesse et également de favoriser leur portabilité d’un système à un autre, qu’il soit de type PC ou embarqué.
..
Dans ce présent document, nous nous limitons, à ce jour, aux 2 standards C90 2 et C99 qui restent les plus utilisés
iwillbeback- Interne
- Nombre de messages : 10350
Age : 98
Localisation : ||lll|||llll|llll||||
Date d'inscription : 19/11/2006
Re: Langage C : Bonnes pratiques (ANSSI)
haha ça me rappelle notre projet de fin de piscine à l'EPITA on a mis des typedef à la place des sizeof(*) pour une implémentation de kernel RT mode RMS parce qu'on avait pas le droit aux consonnes fricatives alvéolaires sourdes ni à la barre d'espace mdrrrrr mais comme Jason-Enguerrand il a oublié les tabulations ça suivait pas le coding style on a pris -5000 points mais on a eu le diplôme parce qu'on a une fille dans notre groupe ptdrrrrrrr
lincruste- Interne
- Nombre de messages : 5619
Age : 45
Localisation : RP
Date d'inscription : 07/06/2014
Re: Langage C : Bonnes pratiques (ANSSI)
Je me suis mal exprimé je veux dire des "limitation trop drastique".Tout dépend de ce que tu veux faire.
Je connais peux de dev' qui bâclent leur code.. surtout lorsque celui-ci est susceptible d'être partagé
On parle de la non utilisation du random. Dans un jeu ne pas utiliser random... Voila quoi.
Cette documentation est super sur le peux que j'ai lu. Mais il y a vachement de "limitation" qui à je pense pour but de limiter les faille de sécurité pour les logiciels critiques. C'est ce que j'ai ressentie.
Plus haut certain rigolé de l'interdiction du rnd();
C'était dans ce sens pour mon message. PAs du osef du bon code.
Re: Langage C : Bonnes pratiques (ANSSI)
Il y a maintenant plein d'outils pour effectuer de la revue de code (analyses et corrections). Le tout est de savoir si on veut bien faire ou pas le boulot .
Au passage, un petit résumé sur ce qui est actuellement faisable ou non avec la décompilation logiciel !
Au passage, un petit résumé sur ce qui est actuellement faisable ou non avec la décompilation logiciel !
iwillbeback- Interne
- Nombre de messages : 10350
Age : 98
Localisation : ||lll|||llll|llll||||
Date d'inscription : 19/11/2006
Sujets similaires
» Quel langage utiliser ?
» Besoin de conseil sur Langage Programation
» Les pratiques de Sony exposées au grand jour.
» Les pratiques de consommation de jeux vidéo des Français
» Choix de langage de prog' !
» Besoin de conseil sur Langage Programation
» Les pratiques de Sony exposées au grand jour.
» Les pratiques de consommation de jeux vidéo des Français
» Choix de langage de prog' !
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum