commit 172bdaa067a6f2ac24d56d1970f918cf23fe9857
parent cfa5c75f45aeed1adafe603d4a24243c55a8ef61
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Fri, 26 Jun 2026 08:45:27 +0200
Relecture
Diffstat:
| M | doc/fr/star-c.7 | | | 63 | +++++++++++++++++++++++++++++++-------------------------------- |
1 file changed, 31 insertions(+), 32 deletions(-)
diff --git a/doc/fr/star-c.7 b/doc/fr/star-c.7
@@ -36,7 +36,7 @@ projet, avant les préférences listées ici.
.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.Sh LE CONTENU D'UN PROJET
En suivant le philosophie UNIX, assurer un jeu de
-fonctionnalités par programme aussi rammassé que possible de
+fonctionnalités par programme aussi ramassé que possible de
sorte à ce que sa mise en oeuvre et son interface restent
simples et ciselées.
L'objet étant d'assurer sa robustesse, son efficacité et sa
@@ -123,7 +123,6 @@ langage utilisé partout ailleurs.
Dans un même souci de portabilité, retenir la première version du
standard POSIX à partir de laquelle la fonctionnalité recherchée est
apparue.
-.Pp
.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.Sh LA STRUCTURE D'UN FICHIER SOURCE
Suivre une seule et même structure pour tous les fichiers
@@ -294,12 +293,12 @@ est :
* <https://www.gnu.org/licenses/>. */
.Ed
.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.Sh L'IDENTATION
+.Sh L'INDENTATION
Indenter le texte par 2 espaces.
La mise en page du texte, taille de ligne comprise, est ce faisant
indépendante de la taille d'une tabulation.
.Pp
-Les auteurs sont encourgés à configurer leur éditeur pour
+Les auteurs sont encouragés à configurer leur éditeur pour
qu'il développe chaque caractère tabulation en 2 espaces
.Pq section Sx FICHIERS .
Et ainsi continuer à utiliser la touche tabulation pour l'indentation.
@@ -309,7 +308,7 @@ des tabulations, laisse plus d'espace aux différents niveaux
d'indentation, dès lors moins contraints par la limite du nombre de
caractères par ligne
.Pq section Sx LA LONGUEUR DES LIGNES .
-Néanmoins, un niveau d'indentation supèrieur à 3 est aussi le signe d'un
+Néanmoins, un niveau d'indentation supérieur à 3 est aussi le signe d'un
déficit de structure dans l'écriture du programme.
Les 2 espaces retenus pour indenter le code n'est donc pas une
incitation à aller au delà de 3 niveaux d'indentation sous prétexte de
@@ -319,7 +318,7 @@ Indenter le contenu de chaque bloc
.Pq section Sx LES BLOCS .
Pour la directive
.Ql switch ,
-identer chaque
+indenter chaque
.Ql case
ainsi que leur contenu :
.Bd -literal -offset Ds
@@ -356,7 +355,6 @@ y[0] = 0.0; y[1] = 1.0;
Ne sauter au plus qu'une ligne.
Ne pas laisser d'espace en fin de ligne et supprimer les lignes vides
en fin de fichier.
-.Pp
.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.Sh LES COMMENTAIRES
Utiliser des commentaires dès lors que la seule expressivité serrée du
@@ -440,10 +438,10 @@ les en-têtes des dépendances ;
les en-têtes systèmes et de la bibliothèque C standard.
.El
.Pp
-Les fichiers d'en-tête sont ainsi inclus dans l'ordre inverse de leur
-niveau d'abstraction.
-Cet ordre participe à garantir que chaque fichier d'en-tête inclu les
-en-têtes dont il a lui même besoin, indépendemment des directives
+Les fichiers d'en-tête sont ainsi inclus dans l'ordre décroissant de
+leur niveau d'abstraction.
+Cet ordre participe à garantir que chaque fichier d'en-tête inclus les
+en-têtes dont il a lui même besoin, indépendamment des directives
d'inclusion qui précèdent sa propre inclusion.
Si ce n'est pas le cas, la compilation pourra échouer, symptôme qu'un
des fichiers d'en-tête n'est pas auto-consistant.
@@ -452,7 +450,7 @@ Dans chaque groupe, trier les directives d'inclusion par ordre
alphabétique des fichiers d'en-tête.
Si besoin, ajouter un commentaire court, sur la même ligne que la
directive d'inclusion, qui explicite la raison pour laquelle la fichier
-est inclu.
+est inclus.
.Bd -literal -offset Ds
#include "bar.h"
#include "foo.h"
@@ -471,29 +469,28 @@ la place d'inclure des en-têtes dans le seul but de déclarer lesdits
types.
Un enjeu a considérer avec d'autant plus d'attention que le fichier
concerné par les inclusions est lui même un fichier d'en-tête, par
-conséquent amené à être lui même inclu.
+conséquent amené à être lui même inclus.
L'objet étant de limiter autant que possible le nombre de fichiers
-inclus par unité de compilation, pour limiter les accés disque et ainsi
-reduire les temps de compilation.
-.Pp
+inclus par unité de compilation, pour limiter les accès disque et ainsi
+réduire les temps de compilation.
.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.Sh LA VISIBILITÉ DES SYMBOLES
Par défaut, n'exposer aucun symbole
.Po
option
-.Fl -fvisibility=hidden
+.Fl fvisibility=hidden
du compilateur
.Xr gcc 1
.Pc ,
-à l exception de ceux de l'interface de programmation d'une
+à l'exception de ceux de l'interface de programmation d'une
bibliothèque.
.\""""""""""""""""""""""""""""""""""
.Ss Les symboles d'interface
Privilégier l'écriture d'un seul fichier d'en-tête pour exposer
l'interface de programmation d'une bibliothèque.
-Y définir une macro d'API qui exporte les symboles qu'elle déclare dès
-lors que ce fichier d'en-tête est inclus par une unité de compilation de
-la bibliothèque.
+Y définir une macro qui exporte les symboles qu'elle déclare dès lors
+que ce fichier d'en-tête est inclus par une unité de compilation de la
+bibliothèque.
Et qui se contente d'importer ces mêmes symboles si ce même fichier est
inclus par un programme tiers :
.Bd -literal -offset Ds
@@ -513,7 +510,7 @@ Avec :
une macro définie uniquement à la compilation de la bibliothèque
.Po
option
-.Fl -D FOO_SHARED_BUILD
+.Fl DFOO_SHARED_BUILD
du compilateur C
.Pc Ns
;
@@ -521,18 +518,20 @@ du compilateur C
.Sy EXPORT_SYM
et
.Sy IMPORT_SYM
-des macros de la bibliothèque RSys.
+des directives définies dans la bibliothèque RSys.
Elles enrichissent le langage C d'une gestion explicite de la visibilité
des symboles.
.El
-.Pp
+Utiliser cette macro à la déclaration des variables et constantes
+d'interfaces :
.Bd -literal -offset Ds
/* Variables globales de l'interface de programmation */
FOO_API const struct foo foo_plugh;
FOO_API const struct foo foo_xyzzy;
.Ed
.Pp
-Déclarer le prototype des fonctions d'interface entre les directives
+Déclarer en plus le prototype des fonctions d'interface entre les
+directives
.Sy BEGIN_DECLS
et
.Sy END_DECLS ,
@@ -556,9 +555,9 @@ END_DECLS
.Ed
.\""""""""""""""""""""""""""""""""""
.Ss Les symboles internes partagés
-Pour les fichiers d'en-tête internes au programme utiliser la directive
+Pour les fichiers d'en-tête internes au programme, utiliser la directive
.Sy LOCAL_SYM ,
-défini dans le fichier
+définie dans le fichier
.In rsys/rsys.h
de la bibliothèque RSys, pour déclarer les variables globales et
prototypes de fonctions.
@@ -578,7 +577,7 @@ Cette directive est redondante si le compilateur est configuré pour
masquer par défaut tous les symboles
.Po
option
-.Fl -fvisibility=hidden
+.Fl fvisibility=hidden
de
.Xr gcc 1
.Pc .
@@ -591,10 +590,10 @@ visibilité du symbole associé est alors explicite.
.Ss Les symboles internes à une unité de compilation
Utiliser le mot clé
.Sy static
-pour déclarer des variables et fonctions visibles uniquement au sein
-d'une unité de compilation.
+pour déclarer des variables constantes, et fonctions visibles uniquement
+au sein d'une unité de compilation.
.Pp
-C'est le cas notamment des constantes globales :
+C'est notamment le cas de constantes symboliques structurée :
.Bd -literal -offset Ds
struct foo {
int bar;
@@ -619,7 +618,7 @@ définie dans l'en-tête
.In rsys/rsys.h
de la bibliothèque RSys,
pour suggérer au compilateur de substituer l'appel de la fonction par le
-corps de la fonction elle-même, de sorte à éviter le surcoût de l'appel.
+corps de celle-ci, de sorte à éviter le sur coût de l'appel.
Cette directive est équivalente au mot clé
.Sy inline
du C99, indisponible dans le dialecte C retenu