text: C est un langage de programmation impératif, généraliste et de bas niveau. Inventé au début des années 1970 pour réécrire Unix, C est devenu un des langages les plus utilisés, encore de nos jours. De nombreux langages plus modernes comme C++, C#, Java et PHP ou JavaScript ont repris une syntaxe similaire au C et reprennent en partie sa logique. C offre au développeur une marge de contrôle importante sur la machine (notamment sur la gestion de la mémoire) et est de ce fait utilisé pour réaliser les « fondations » (compilateurs, interpréteurs...) de ces langages plus modernes. Histoire Le langage C a été inventé au cours de l'année 1972 dans les Laboratoires Bell. Il était développé en même temps qu'Unix par Dennis Ritchie et Ken Thompson. Kenneth Thompson avait développé le prédécesseur direct de C, le langage B, qui est lui-même largement inspiré de BCPL. Dennis Ritchie a fait évoluer le langage B dans une nouvelle version suffisamment différente, en ajoutant notamment les types, pour qu'elle soit appelée C. Bien que C soit directement dérivé de B, Ritchie relève aussi des influences de PL/I, FORTRAN et ALGOL 68. En outre, Ritchie signale que l'équipe était convaincue du bien-fondé de l'idée d'écrire un système d'exploitation dans un langage de plus haut niveau que l'assembleur, un aspect pionnier de Multics, écrit en PL/I. Par la suite, Brian Kernighan aida à populariser le langage C. Il procéda aussi à quelques modifications de dernière minute. En 1978, Kernighan fut le principal auteur du livre décrivant le langage enfin stabilisé ; Ritchie s'était occupé des appendices et des exemples avec Unix. On appelle aussi ce livre « le K&R », et l'on parle de C traditionnel ou de C K&R lorsqu'on se réfère au langage tel qu'il existait à cette époque. Normalisation En 1983, l'Institut national américain de normalisation (ANSI) a formé un comité de normalisation (X3J11) du langage qui a abouti en 1989 à la norme dite ANSI C ou C89 (formellement ANSI X3.159-1989). En 1990, cette norme a également été adoptée par l'Organisation internationale de normalisation (C90, C ISO, formellement ISO/CEI 9899:1990). ANSI C est une évolution du C K&R qui reste extrêmement compatible. Elle reprend quelques idées de C++, notamment la notion de prototype et les qualificateurs de type. Entre 1994 et 1996, le groupe de travail de l'ISO (ISO/CEI JTC1/SC22/WG14) a publié deux correctifs et un amendement à C90 : ISO/CEI 9899/COR1:1994 Technical Corrigendum 1, ISO/CEI 9899/AMD1:1995 Intégrité de C et ISO/CEI 9899/COR1:1996 Technical Corrigendum 2. Ces changements assez modestes sont parfois appelés C89 avec amendement 1, ou C94 / C95. Trois fichiers d'entêtes ont été ajoutés, dont deux concernant les caractères larges et un autre définissant un certain nombre de macros en rapport avec la norme de caractères ISO 646. En 1999, une nouvelle évolution du langage est normalisée par l'ISO : C99 (formellement ISO/CEI 9899:1999). Les nouveautés portent notamment sur les tableaux de taille variable, les pointeurs restreints, les nombres complexes, les littéraux composés, les déclarations mélangées avec les instructions, les fonctions inline, le support avancé des nombres flottants, et la syntaxe de commentaire de C++. La bibliothèque standard du C a été enrichie de six fichiers d'en-tête depuis la précédente norme. En 2011, l'ISO ratifie une nouvelle version du standard : C11, formellement ISO/CEI 9899:2011. Cette évolution introduit notamment le support de la programmation multi-thread, les expressions à type générique, et un meilleur support d'Unicode. En 2018, l'ISO ratifie une nouvelle version : formellement ISO/IEC 9899:2018, connue aussi comme C18 ou C17. Cette évolution s'attache à préciser et corriger les points litigieux, et n'introduit aucune nouveauté fonctionnelle. Une prochaine version, connue sous les noms de code C23 et C2x, est en cours de développement. Caractéristiques générales C'est un langage de programmation procédural et généraliste. Il est qualifié de langage de bas niveau dans le sens où chaque instruction du langage est conçue pour être compilée en un nombre d'instructions machine assez prévisible en termes d'occupation mémoire et de charge de calcul. En outre, il propose un éventail de types entiers et flottants conçus pour pouvoir correspondre directement aux types de donnée supportés par le processeur. Enfin, il fait un usage intensif des calculs d'adresse mémoire avec la notion de pointeur. Hormis les types de base, C supporte les types énumérés, composés, et opaques. Il ne propose en revanche aucune opération qui traite directement des objets de plus haut niveau (fichier informatique, chaîne de caractères, liste, table de hachage...). Ces types plus évolués doivent être traités en manipulant des pointeurs et des types composés. De même, le langage ne propose pas en standard la gestion de la programmation orientée objet, ni de système de gestion d'exceptions. Il existe des fonctions standards pour gérer les entrées-sorties et les chaînes de caractères, mais contrairement à d'autres langages, aucun opérateur spécifique pour améliorer l'ergonomie. Ceci rend aisé le remplacement des fonctions standards par des fonctions spécifiquement conçues pour un programme donné. Ces caractéristiques en font un langage privilégié quand on cherche à maîtriser les ressources matérielles utilisées, le langage machine et les données binaires générées par les compilateurs étant relativement prévisibles. Ce langage est donc extrêmement utilisé dans des domaines comme la programmation embarquée sur microcontrôleurs, les calculs intensifs, l'écriture de systèmes d'exploitation et les modules où la rapidité de traitement est importante. Il constitue une bonne alternative au langage d'assemblage dans ces domaines, avec les avantages d'une syntaxe plus expressive et de la portabilité du code source. Le langage C a été inventé pour écrire le système d'exploitation Unix, et reste utilisé pour la programmation système. Ainsi le noyau de grands systèmes d'exploitation comme Windows et Linux sont développés en grande partie en C. En contrepartie, la mise au point de programmes en C, surtout s'ils utilisent des structures de données complexes, est plus difficile qu'avec des langages de plus haut niveau. En effet, dans un souci de performance, le langage C impose à l'utilisateur de programmer certains traitements (libération de la mémoire, vérification de la validité des indices sur les tableaux...) qui sont pris en charge automatiquement dans les langages de haut niveau. Dépouillé des commodités apportées par sa bibliothèque standard, C est un langage simple, et son compilateur l'est également. Cela se ressent au niveau du temps de développement d'un compilateur C pour une nouvelle architecture de processeur : Kernighan et Ritchie estimaient qu'il pouvait être développé en deux mois car Qualités et défauts C'est un des langages les plus utilisés car : il existe depuis longtemps, le début des années 1970 ; il est fondé sur un standard ouvert ; de nombreux informaticiens le connaissent ; il permet la minimisation de l'allocation mémoire nécessaire, son contrôle complet et la maximisation de la performance, notamment par l'utilisation de pointeurs ; il permet la construction de structures de données complexes et ad-hoc, au plus près des besoins ; des compilateurs et bibliothèques logicielles existent sur la plupart des architectures ; il a influencé de nombreux langages plus récents dont C++, Java, C# et PHP ; sa syntaxe en particulier est largement reprise ; il met en œuvre un nombre restreint de concepts, ce qui facilite sa maîtrise et l'écriture de compilateurs simples et rapides ; il ne spécifie pas rigidement le comportement du fichier exécutable produit, ce qui aide à tirer parti des capacités propres à chaque ordinateur ; il permet, par la compilation directe vers le langage machine (via l'assembleur), l'écriture de logiciels qui n'ont besoin d'aucun support à l'exécution (ni bibliothèque logicielle ni machine virtuelle), au comportement prévisible en temps d'exécution comme en consommation de mémoire vive, comme des noyaux de système d'exploitation et des logiciels embarqués. Ses principaux inconvénients sont : le peu de vérifications offertes par les compilateurs d'origine (K&R C), et l'absence de vérifications à l'exécution, ce qui fait que des erreurs qui auraient pu être automatiquement détectées lors du développement ne l’étaient qu’à l'exécution, donc au prix d’un plantage du logiciel ; sous UNIX, on pouvait utiliser les utilitaires lint et cflow pour éviter de tels mécomptes, des vérifications sont ajoutées avec le temps, mais elles restent partielles, son approche de la modularité restée au niveau de ce qui se faisait au début des années 1970, et largement dépassée depuis par d'autres langages : il ne facilite pas la programmation orientée objet, il ne permet pas de créer des espaces de noms, la gestion d'exceptions très sommaire ; le support très limité de la généricité, malgré l’introduction des expressions à type générique en C11 ; les subtilités de l'écriture de programmes portables, car le comportement exact des exécutables dépend de l'ordinateur cible ; le support minimaliste de l'allocation de mémoire et des chaînes de caractères, ce qui oblige les programmeurs à s'occuper de détails fastidieux et sources de bugs ; il n'y a notamment pas de ramasse-miettes standard ; les bugs graves qui peuvent être causés par un simple manque d'attention du développeur ; tel le dépassement de tampon qui constitue une faille de sécurité informatique exploitable par les logiciels malveillants ; certaines erreurs ne peuvent être détectées automatiquement qu'à l'aide d'outils supplémentaires et non standardisés, comme lint et Valgrind ; la faible productivité du langage par rapport aux langages plus récents. Aperçu de la syntaxe Le programme est proposé en exemple en 1978 dans de Brian Kernighan et Dennis Ritchie. Créer un programme affichant « » est depuis devenu l'exemple de référence pour présenter les bases d'un nouveau langage. Voici l'exemple original de la de 1978 : main() { printf("hello, world "); } main est le nom de la fonction principale, aussi appelée point d'entrée du programme. Les parenthèses () après main indiquent qu'il s'agit d'une fonction. Les accolades { et } entourent les instructions constituant le corps de la fonction. printf est une fonction d'écriture dans la sortie standard, qui produit l'affichage dans la console par défaut. Les caractères " délimitent une chaîne de caractères ; hello, world dans ce cas. Les caractères sont une séquence d'échappement représentant le saut de ligne. Un point-virgule ; termine l'instruction expression. Évolution des pratiques Le même programme, conforme à la norme ISO et suivant les bonnes pratiques contemporaines : #include <stdio.h> int main(void) { printf("hello, world "); return 0; } #include <stdio.h> inclut l'en-tête standard <stdio.h> contenant les déclarations des fonctions d'entrées-sorties de la bibliothèque standard du C, dont la fonction printf utilisée ici. int est le type renvoyé par la fonction main. Le type int est le type implicite en K&R C et en C89, et il était couramment omis du temps où l'exemple de Kernighan et Ritchie a été écrit. Il est obligatoire en C99. Le mot-clé void entre parenthèses signifie que la fonction n'a aucun paramètre. Il peut être omis sans ambiguïté lors de la définition d'une fonction. En revanche, s'il est omis lors de la déclaration de la fonction, cela signifie que la fonction peut recevoir n'importe quels paramètres. Cette particularité de la déclaration est considérée comme obsolète dans le standard en C 2011. On peut noter que dans le standard MISRA C 2004, qui impose des restrictions au C89 pour des usages nécessitant une plus grande sûreté, le mot-clé void est obligatoire à la déclaration comme à la définition d'une fonction sans arguments. L'instruction return 0; indique que la fonction main retourne la valeur 0. Cette valeur est de type int, et correspond au int devant le main. Brièveté de la syntaxe La syntaxe de C a été conçue pour être brève. Historiquement, elle a souvent été opposée à celle de Pascal, langage impératif également créé dans les années 1970. Voici un exemple avec une fonction factorielle : /* En C (norme ISO) */ int factorielle(int n) { if (n > 0) return n * factorielle(n - 1); else return 1; } { En Pascal } function factorielle(n: integer) : integer begin if n > 0 then factorielle := n * factorielle(n - 1) else factorielle := 1 end. Là où Pascal utilise des mots clés function, integer, begin, if, then, else et end, C n'utilise que int, if, else et return, les autres mots clés étant remplacés par des parenthèses et accolades. Langage d'expressions La brièveté de C ne repose pas que sur la syntaxe. Le grand nombre d'opérateurs disponibles, le fait que la plupart des instructions contiennent une expression, que les expressions produisent presque toujours une valeur, et que les instructions de test se contentent de comparer la valeur de l'expression testée avec zéro, concourent à la brièveté du code source. Voici l'exemple de fonction de copie de chaîne de caractères donné dans The C Programming Language, edition, : void strcpy(char *s, char *t) { while (*s++ = *t++) ; } La boucle while utilise un style d'écriture classique en C, qui a contribué à lui donner une réputation de langage peu lisible. L'expression *s++ = *t++ contient : deux déréférencements de pointeur ; deux incrémentations de pointeur ; une affectation ; et la valeur affectée est comparée avec zéro par le while. Cette boucle n'a pas de corps, car toutes les opérations sont effectuées dans l'expression de test du while. On considère qu'il faut maîtriser ce genre de notation pour maîtriser le C. Pour comparaison, une version n'utilisant pas les opérateurs raccourcis ni la comparaison implicite à zéro donnerait : void strcpy(char *s, char *t) { while (*t != '\0') { *s = *t; s = s + 1; t = t + 1; } *s = *t; } Des sources à l'exécutable Sources Un programme écrit en C est généralement réparti en plusieurs fichiers sources compilés séparément. Les fichiers sources C sont des fichiers texte, généralement dans le codage des caractères du système hôte. Ils peuvent être écrits avec un simple éditeur de texte. Il existe de nombreux éditeurs, voire des environnements de développement intégrés (IDE), qui ont des fonctions spécifiques pour supporter l'écriture de sources en C. L'usage est de donner les extensions de nom de fichier .c et .h aux fichiers source C. Les fichiers .h sont appelés fichiers d'en-tête, de l'anglais header. Ils sont conçus pour être inclus au début des fichiers source, et contiennent uniquement des déclarations. Lorsqu'un fichier .c ou .h utilise un identificateur déclaré dans un autre fichier .h, alors il inclut ce dernier. Le principe généralement appliqué consiste à écrire un fichier .h pour chaque fichier .c, et à déclarer dans le fichier .h tout ce qui est exporté par le fichier .c. La génération d'un exécutable à partir des fichiers sources se fait en plusieurs étapes, qui sont souvent automatisées à l'aide d'outils comme make, SCons, ou bien des outils spécifiques à un environnement de développement intégré. Les étapes menant des sources au fichier exécutable sont au nombre de quatre : précompilation, compilation, assemblage, édition de liens. Lorsqu'un projet est compilé, seuls les fichiers .c font partie de la liste des fichiers à compiler ; les fichiers .h sont inclus par les directives du préprocesseur contenues dans les fichiers source. Précompilation Le préprocesseur C exécute des directives contenues dans les fichiers sources. Il les reconnaît au fait qu'elles sont en début de ligne, et commencent toutes avec le caractère croisillon #. Parmi les directives les plus courantes, il y a : #include pour l'inclusion ; #define pour la définition de macro ; #if pour commencer la compilation conditionnelle ; #ifdef et #ifndef, équivalents à #if defined et #if ! defined; #endif pour clore la compilation conditionnelle. Outre l'exécution des directives, le préprocesseur remplace les commentaires par un espace blanc, et procède au remplacement des macros. Pour le reste, le code source est transmis tel quel au compilateur pour la phase suivante. Il faut toutefois que chaque #include dans le code source soit récursivement remplacé par le code source inclus. Ainsi, le compilateur reçoit un seul source du préprocesseur, qui constitue l'unité de compilation. Voici un exemple de fichier source copyarray.h faisant un usage classique des directives du préprocesseur : #ifndef COPYARRAY_H #define COPYARRAY_H #include <stddef.h> void copyArray(int* , int* , size_t); #endif Les directives #ifndef, #define et #endif garantissent que le code à l'intérieur n'est compilé qu'une seule fois même s'il est inclus plusieurs fois. La directive #include <stddef.h> inclut l'en-tête qui déclare le type size_t utilisé plus bas. Compilation La phase de compilation consiste généralement en la génération du code assembleur. C'est la phase la plus intensive en traitements. Elle est accomplie par le compilateur proprement dit. Pour chaque unité de compilation, on obtient un fichier en langage d'assemblage. Cette étape peut être divisée en sous-étapes : l'analyse lexicale, qui est la reconnaissance des mots clé du langage ; l'analyse syntaxique, qui analyse la structure du programme et sa conformité avec la norme ; l'optimisation de code ; l'écriture d'un code isomorphe à celui de l'assembleur (et parfois du code assembleur lui-même quand cela est demandé en option du compilateur). Par abus de langage, on appelle compilation toute la phase de génération d'un fichier exécutable à partir des fichiers sources. Mais c'est seulement une des étapes menant à la création d'un exécutable. Certains compilateurs C fonctionnent à ce niveau en deux phases, la première générant un fichier compilé dans un langage intermédiaire destiné à une machine virtuelle idéale (voir Bytecode ou P-Code) portable d'une plate-forme à l'autre, la seconde convertissant le langage intermédiaire en langage d'assemblage dépendant de la plate-forme cible. D'autres compilateurs C permettent de ne pas générer de langage d'assemblage, mais seulement le fichier compilé en langage intermédiaire, qui sera interprété ou compilé automatiquement en code natif à l'exécution sur la machine cible (par une machine virtuelle qui sera liée au programme final). Assemblage Cette étape consiste en la génération d'un fichier objet en langage machine pour chaque fichier de code assembleur. Les fichiers objet sont généralement d’extension .o sur Unix, et .obj avec les outils de développement pour MS-DOS, Microsoft Windows, VMS, CP/M... Cette phase est parfois regroupée avec la précédente par établissement d'un flux de données interne sans passer par des fichiers en langage intermédiaire ou langage d'assemblage. Dans ce cas, le compilateur génère directement un fichier objet. Pour les compilateurs qui génèrent du code intermédiaire, cette phase d'assemblage peut aussi être totalement supprimée : c'est une machine virtuelle qui interprétera ou compilera ce langage en code machine natif. La machine virtuelle peut être un composant du système d'exploitation ou une bibliothèque partagée. Édition des liens L'édition des liens est la dernière étape, et a pour but de réunir tous les éléments d'un programme. Les différents fichiers objet sont alors réunis, ainsi que les bibliothèques statiques, pour ne produire qu'un fichier exécutable. Le but de l'édition de liens est de sélectionner les éléments de code utiles présents dans un ensemble de codes compilés et de bibliothèques, et de résoudre les références mutuelles entre ces différents éléments afin de permettre à ceux-ci de se référencer directement à l'exécution du programme. L'édition des liens échoue si des éléments de code référencés manquent. Éléments du langage Éléments lexicaux Le jeu de caractères ASCII suffit pour écrire en C. Il est même possible, mais inusité, de se restreindre au jeu de caractères invariants de la norme ISO 646, en utilisant des séquences d'échappement appelées trigrammes. En général, les sources C sont écrits avec le jeu de caractères du système hôte. Il est toutefois possible que le jeu de caractères d'exécution ne soit pas celui du source. Le C est sensible à la casse. Les caractères blancs (espace, tabulation, fin de ligne) peuvent être librement utilisés pour la mise en page, car ils sont équivalents à un seul espace dans la plupart des cas. Mots clés Le C89 compte clés, dont cinq qui n'existaient pas en K&R C, et qui sont par ordre alphabétique : auto, break, case, char, const (C89), continue, default, do, double, else, enum (C89), extern, float, for, goto, if, int, long, register, return, short, signed (C89), sizeof, static, struct, switch, typedef, union, unsigned, void (C89), volatile (C89), while. Ce sont des termes réservés qui ne doivent pas être utilisés autrement. La révision C99 en ajoute cinq : _Bool, _Complex, _Imaginary, inline, restrict. Ces nouveaux mots-clés commencent par une majuscule préfixée d’un underscore afin de maximiser la compatibilité avec les codes existants. Des en-têtes de la bibliothèque standard fournissent les alias bool (<stdbool.h>), complex et imaginary (<complex.h>). La dernière révision, C11, introduit encore sept nouveaux mots-clés avec les mêmes conventions : _Alignas, _Alignof, _Atomic, _Generic, _Noreturn, _Static_assert, _Thread_local. Les en-têtes standards <stdalign.h>, <stdnoreturn.h>, <assert.h> et <threads.h> fournissent respectivement les alias alignas et alignof, noreturn, static_assert, et thread_local. Instructions du préprocesseur Le préprocesseur du langage C offre les directives suivantes : #include, #define, #pragma (C89), #if, #ifdef, #ifndef, #elif (C89), #else, #endif, #undef, #line, #error. Types Le langage C comprend de nombreux types de nombres entiers, occupant plus ou moins de bits. La taille des types n'est que partiellement standardisée : le standard fixe uniquement une taille minimale et une magnitude minimale. Les magnitudes minimales sont compatibles avec d'autres représentations binaires que le complément à deux, bien que cette représentation soit presque toujours utilisée en pratique. Cette souplesse permet au langage d'être efficacement adapté à des processeurs très variés, mais elle complique la portabilité des programmes écrits en C. Chaque type entier a une forme « signée » pouvant représenter des nombres négatifs et positifs, et une forme « non signée » ne pouvant représenter que des nombres naturels. Les formes signées et non signées doivent avoir la même taille. Le type le plus commun est int, il représente le mot machine. Contrairement à de nombreux autres langages, le type char est un type entier comme un autre, bien qu'il soit généralement utilisé pour représenter les caractères. Sa taille est par définition d'un byte. Les types énumérés se définissent avec le mot clé enum. Il existe des types de nombre à virgule flottante, de précision, donc de longueur en bits, variable ; en ordre croissant : C99 a ajouté float complex, double complex et long double complex, représentant les nombres complexes associés. Types élaborés : struct, union, * pour les pointeurs ; [... ] pour les tableaux ; (... ) pour les fonctions. Le type _Bool est standardisé par C99. Dans les versions antérieures du langage, il était courant de définir un synonyme : typedef enum boolean {false, true} bool; Le type void représente le vide, comme une liste de paramètres de fonction vide, ou une fonction ne retournant rien. Le type void* est le pointeur générique : tout pointeur de donnée peut être implicitement converti de et vers void*. C'est par exemple le type retourné par la fonction standard malloc, qui alloue de la mémoire. Ce type ne se prête pas aux opérations nécessitant de connaître la taille du type pointé (arithmétique de pointeurs, déréférencement). Structures C supporte les types composés avec la notion de structure. Pour définir une structure, il faut utiliser le mot-clé struct suivi du nom de la structure. Les membres doivent ensuite être déclarés entre accolades. Comme toute déclaration, un point-virgule termine le tout. /* Déclaration de la structure personne */ struct Personne { int age; char *nom; }; Pour accéder aux membres d'une structure, il faut utiliser l'opérateur .. int main() { struct Personne p; p.nom = "Albert"; p.age = 46; } Les fonctions peuvent recevoir des pointeurs vers des structures. Ils fonctionnent avec la même syntaxe que les pointeurs classiques. Néanmoins, l'opérateur -> doit être utilisé sur le pointeur pour accéder aux champs de la structure. Il est également possible de déréférencer le pointeur pour ne pas utiliser cet opérateur, et toujours utiliser l'opérateur .. void anniversaire(struct Personne * p) { p->age++; printf("Joyeux anniversaire %s !", (*p).nom); } int main() { struct Personne p; p.nom = "Albert"; p.age = 46; anniversaire(&p); } Commentaire Dans les versions de C antérieures à C99, les commentaires devaient commencer par une barre oblique et un astérisque (« /* ») et se terminer par un astérisque et une barre oblique. Presque tous les langages modernes ont repris cette syntaxe pour écrire des commentaires dans le code. Tout ce qui est compris entre ces symboles est du commentaire, saut de ligne compris : /* Ceci est un commentaire sur deux lignes ou plus */ La norme C99 a repris de C++ les commentaires de fin de ligne, introduits par deux barres obliques et se terminant avec la ligne : // Commentaire jusqu'à la fin de la ligne Structures de contrôle La syntaxe des différentes structures de contrôle existantes en C est largement reprise dans plusieurs autres langages, comme le C++ bien sûr, mais également Java, C#, PHP ou encore JavaScript. Les trois grands types de structures sont présents : les tests (également appelés branchements conditionnels) avec : if (expression) instruction if (expression) instruction else instruction switch (expression) instruction, avec case et default dans l'instruction les boucles avec : while (expression) instruction for (expression_optionnelle ; expression_optionnelle ; expression_optionnelle) instruction do instruction while (expression) les sauts (branchements inconditionnels) : break continue return expression_optionnelle goto étiquette Fonctions Les fonctions en C sont des blocs d'instructions, recevant un ou plusieurs arguments et pouvant retourner une valeur. Si une fonction ne retourne aucune valeur, le mot-clé void est utilisé. Une fonction peut également ne recevoir aucun argument. Le mot-clé void est conseillé dans ce cas. // Fonction ne retournant aucune valeur (appelée procédure) void afficher(int a) { printf("%d", a); } // Fonction retournant un entier int somme(int a, int b) { return a + b; } // Fonction sans aucun argument int saisir(void) { int a; scanf("%d", &a); return a; } Prototype Un prototype consiste à déclarer une fonction et ses paramètres sans les instructions qui la composent. Un prototype se termine par un point-virgule. // Prototype de saisir int saisir(void); // Fonction utilisant saisir int somme(void) { int a = saisir(), b = saisir(); return a + b; } // Définition de saisir int saisir(void) { int a; scanf("%d", &a); return a; } Généralement, tous les prototypes sont écrits dans des fichiers .h, et les fonctions sont définies dans un fichier .c. Comportements ambigus La norme du langage C laisse, délibérément, certaines opérations sans spécification précise. Cette propriété du C permet aux compilateurs d'utiliser directement des instructions spécifiques au processeur, d'effectuer des optimisations ou d'ignorer certaines opérations, pour compiler des programmes exécutables courts et efficaces. En contrepartie, c'est parfois la cause de bugs de portabilité des codes source écrits en C. Il existe trois catégories de tels comportements : défini par l'implémentation : Le comportement n'est pas spécifié dans la norme mais dépend de l'implémentation. Le choix effectué dans une implémentation doit être documenté dans celle-ci. Un programme utilisant ce type de comportement est correct, à défaut d'être garanti portable. non spécifié : Le choix n'est pas spécifié dans la norme, mais n'a cette fois pas à être documenté. Il n'a en particulier pas à être identique à chaque fois pour une même implémentation. Un programme utilisant ce type de comportement est correct également. non défini : Comme le nom l'indique, l'opération n'est pas définie. La norme n'impose aucune limitation à ce que le compilateur peut faire dans ce cas. Tout peut arriver. Le programme est incorrect. Comportements définis par l'implémentation En C, les comportements définis par l'implémentation sont ceux où l'implémentation doit choisir un comportement et s'y tenir. Ce choix peut être libre ou parmi une liste de possibilités données par la norme. Le choix doit être documenté par l'implémentation, afin que le programmeur puisse le connaître et l'utiliser. Un des exemples les plus importants de tel comportement est la taille des types de donnée entiers. La norme C spécifie la taille minimale des types de base, mais pas leur taille exacte. Ainsi, le type int par exemple, correspondant au mot machine, doit avoir une taille minimale de . Il peut avoir une taille de sur un processeur et une taille de sur un processeur . Un autre exemple est la représentation des entiers signés. Il peut s'agir du complément à deux, du complément à un ou d'un . La vaste majorité des systèmes modernes utilise le complément à deux, qui est par exemple le seul encore supporté par GCC. De vieux systèmes utilisent les autres formats, comme l'IBM 7090 qui utilise le format signe/valeur, le PDP-1 ou l'UNIVAC et ses descendants, dont certains encore utilisés actuellement tels le , qui utilisent le complément à un. Un autre exemple est le décalage à droite d'un entier signé négatif. Typiquement, l'implémentation peut choisir de décaler comme pour un entier non signé ou de propager le bit de poids fort représentant le signe. Comportements non spécifiés Les comportements non spécifiés sont similaires aux comportements définis par l'implémentation, mais le comportement adopté par l'implémentation n'a pas à être documenté. Il n'a même pas à être le même en toutes circonstances. Néanmoins, le programme reste correct, le programmeur ne peut juste pas compter sur une règle particulière. Par exemple, l'ordre d'évaluation des paramètres lors d'un appel de fonction n'est pas spécifié. Le compilateur peut même choisir d'évaluer dans un ordre différent les paramètres de deux appels à la même fonction, si ça peut aider son optimisation. Comportements indéfinis La norme C définit certains cas où des constructions syntaxiquement valides ont un comportement indéfini. Selon la norme, tout peut alors arriver : la compilation peut échouer, ou produire un exécutable dont l'exécution sera interrompue, ou qui produira des résultats faux, ou même qui donnera l'apparence de fonctionner sans erreur. Lorsqu'un programme contient un comportement indéfini, c'est le comportement de l'ensemble du programme qui devient indéfini, pas seulement le comportement de l'instruction contenant l'erreur. Ainsi, une instruction erronée peut corrompre des données qui seront traitées bien plus tard, reportant d'autant la manifestation de l'erreur. Et même sans être exécutée, une instruction erronée peut amener le compilateur à réaliser des optimisations sur la base d'hypothèses fausses, produisant un exécutable qui ne fait pas du tout ce qui est prévu. Exemples On peut signaler la classique division par zéro, ou l'affectation multiple d'une variable dans la même expression avec l'exemple : int i = 4; i = i++; /* Comportement indéfini. */ On pourrait ainsi penser que dans cet exemple i pourrait valoir 4 ou 5 suivant le choix du compilateur, mais il pourrait tout aussi bien valoir 42 ou l'affectation pourrait arrêter l'exécution, ou le compilateur peut refuser la compilation. Aucune garantie n'existe dès qu'un comportement indéfini existe. Pour ne citer que quelques exemples, le déréférencement d'un pointeur nul, tout accès à un tableau hors de ses limites, l'utilisation d'une variable non initialisée ou encore le débordement d'entiers signés ont tous des comportements indéfinis. Le compilateur peut utiliser le fait qu'une construction est indéfinie dans certains cas pour supposer que ce cas ne se produit jamais et optimiser plus agressivement le code. Si l'exemple ci-dessus peut paraître évident, certains exemples complexes peuvent être bien plus subtils et être source de bugs parfois graves. Par exemple, beaucoup de code contient des vérifications destinées à éviter l'exécution dans des cas hors bornes, qui peut ressembler à ceci : char buffer[BUFLEN]; char *buffer_end = buffer + BUFLEN; unsigned int len; /* ... */ if (buffer + len >= buffer_end || /* vérification de dépassement du buffer */ buffer + len < buffer) /* vérification de débordement si len très large */ return; /* Si pas de débordement, effectue les opérations prévues */ /* ... */ En apparence, ce code est prudent et effectue les vérifications de sécurité nécessaires pour ne pas déborder du buffer alloué. En pratique, les versions récentes de compilateurs tels que GCC, Clang ou Microsoft Visual C++ peuvent supprimer le second test, et rendre possibles des débordements. En effet, la norme précise que l'arithmétique de pointeur sur un objet ne peut donner un pointeur hors de cet objet. Le compilateur peut donc décider que le test est toujours faux et le supprimer. La vérification correcte est la suivante : char buffer[BUFLEN]; unsigned int len; /* ... */ if (len >= BUFLEN) /* vérification de dépassement du buffer */ return; /* Si pas de débordement, effectue les opérations prévues */ /* ... */ En 2008, quand les développeurs de GCC ont modifié le compilateur pour qu'il optimise certaines vérifications de débordement qui reposaient sur des comportements indéfinis, le CERT a émis un avertissement sur l'utilisation des versions récentes de GCC. Ces optimisations sont en fait présentes dans la plupart des compilateurs modernes, le CERT a révisé son avertissement dans ce sens. Certains outils existent pour détecter ces constructions problématiques, et les meilleurs compilateurs en décèlent certaines (il faut parfois activer des options particulières) et peuvent les signaler, mais aucun ne prétend à l'exhaustivité. Bibliothèques logicielles La bibliothèque standard La bibliothèque standard normalisée, disponible avec toutes les implémentations, présente la simplicité liée à un langage bas-niveau. Voici une liste de quelques en-têtes déclarant des types et fonctions de la bibliothèque standard : <assert.h> : pour un diagnostic de conception lors de l'exécution (assert) ; <ctype.h> : tests et classification des caractères (isalnum, tolower) ; <errno.h> : gestion minimale des erreurs (déclaration de la variable errno) ; <math.h> : fonctions mathématiques de base (sqrt, cos) ; nombreux ajouts en C99 ; <signal.h> : gestion des signaux (signal et raise) ; <stddef.h> : définitions générales (déclaration de la constante NULL) ; <stdio.h> : pour les entrées/sorties de base (printf, scanf) ; <stdlib.h> : fonctions générales (malloc, rand) ; <string.h> : manipulation des chaînes de caractères (strcmp, strlen) ; <time.h> : manipulation du temps (time, ctime). La bibliothèque standard normalisée n'offre aucun support de l'interface graphique, du réseau, des entrées/sorties sur port série ou parallèle, des systèmes temps réel, des processus, ou encore de la gestion avancée des erreurs (comme avec des exceptions structurées). Cela pourrait restreindre d'autant la portabilité pratique des programmes qui ont besoin de faire appel à certaines de ces fonctionnalités, sans l'existence de très nombreuses bibliothèques portables et palliant ce manque ; dans le monde UNIX, ce besoin a aussi fait émerger une autre norme, POSIX.1. Les bibliothèques externes Le langage C étant un des langages les plus utilisés en programmation, de nombreuses bibliothèques ont été créées pour être utilisées avec le C : glib, etc. Fréquemment, lors de l'invention d'un format de données, une bibliothèque ou un logiciel de référence en C existe pour manipuler le format. C'est le cas pour zlib, libjpeg, libpng, Expat, les décodeurs de référence MPEG, libsocket Exemples Voici quelques exemples présentant très succinctement quelques propriétés du C. Pour plus d'information, voir le WikiLivre Programmation C. Allocation mémoire La structure int_list représente un élément d'une liste chaînée de nombres entiers. Les deux fonctions qui suivent (insert_next et remove_next) servent à ajouter et supprimer un élément de la liste. /* La gestion de la mémoire n'est pas intégrée au langage mais assurée par des fonctions de la bibliothèque standard. */ #include <stdlib.h> struct int_list { struct int_list *next; /* pointeur sur l'élément suivant */ int value; /* valeur de l'élément */ }; /* * Ajouter un élément à la suite d'un autre. * node : élément après lequel ajouter le nouveau * value : valeur de l'élément à ajouter * Retourne : adresse de l'élément ajouté, ou NULL en cas d'erreur. */ struct int_list *insert_next(struct int_list *node, int value) { /* Allocation de la mémoire pour un nouvel élément. */ struct int_list *const new_next = malloc(sizeof *new_next); /* Si l'allocation a réussi, alors insérer new_next entre node et node->next. */ if (new_next) { new_next->next = node->next; node->next = new_next; new_next->value = value; } return new_next; } /* * Supprimer l'élément suivant un autre. * node : élément dont le suivant est supprimé * Attention : comportement indéterminé s'il n'y a pas d'élément suivant ! */ void remove_next(struct int_list *node) { struct int_list *const node_to_remove = node->next; /* Retire l'élément suivant de la liste. */ node->next = node->next->next; /* Libère la mémoire occupée par l'élément suivant. */ free(node_to_remove); } Dans cet exemple, les deux fonctions essentielles sont malloc et free. La première sert à allouer de la mémoire, le paramètre qu'elle reçoit est le nombre de bytes que l'on désire allouer et elle retourne l'adresse du premier byte qui a été alloué, sinon elle retourne NULL. free sert à libérer la mémoire qui a été allouée par malloc. Quelques programmes notoires écrits en C UNIX GNU Compiler Collection (GCC) Noyau Linux Noyau de Microsoft Windows Vim GNOME Notes et références Voir aussi Bibliographie The international standardization working group for the programming language C, ISO/CEI 9899:TC2 WG14/N1124, « Committee Draft », ISO/CEI 9899:TC3 WG14/N1256, « Committee Draft », ISO/IEC 9899:2017 WG14/N1570, « Committee Draft », ISO/IEC 9899:2017 WG14/N2176, , Articles connexes Bibliothèque standard du C Alignement de données Langage de programmation Norme ISO


source: wikipedia

text: Le château de Pierrefonds est un imposant château fort construit à la fin du , qui se dresse sur la commune française de Pierrefonds, dans le département de l'Oise, en région des Hauts-de-France, à la lisière sud-est de la forêt de Compiègne, au nord de Paris. Le château de Pierrefonds présente la plupart des caractéristiques de l'ouvrage défensif du Moyen Âge, en fait une interprétation du style troubadour du , très en vogue au Second Empire dans les classes aisées. Il fut reconstruit à cette époque pour par Viollet-le-Duc, qui y entreprit également d'importants travaux de création de décoration et de mobilier. Le château fait l’objet d’un classement au titre des monuments historiques par la liste de 1862. Il est géré par le Centre des monuments nationaux. Historique Origine Au , un château s'élevait déjà sur le site, construit par le puissant lignage des Nivelon, seigneurs de Pierrefonds, originaires de Quierzy. Il n'en reste que des caves situées sous le logis du . Ce château passe à la fin du au roi Philippe Auguste, et demeure ensuite dans le domaine royal. Le château de Louis d'Orléans (1396-1407) En 1392, Louis d'Orléans reçoit en apanage le comté de Valois, plusieurs châtellenies, dont Pierrefonds. En 1396, Louis d'Orléans entreprend la reconstruction quasi totale du château. L'architecte n'en est pas connu, bien qu'on puisse sans doute attribuer l'édifice à Raymond du Temple. Le chantier fut dirigé par le maître des œuvres du bailliage de Senlis, Jean Lenoir, et supervisé après la mort de Raymond du Temple par le maître général des œuvres du duché Jean Aubelet. En 1406, le roi érige le comté en duché-pairie, y incluant entre autres Pierrefonds. Les travaux s'interrompirent après l'assassinat du duc en 1407, alors que les logis bordant la cour ne comportaient encore que leurs deux niveaux gigantesques de caves, mais ils ne furent jamais achevés. Le château commandant le passage entre la forêt de Compiègne et la forêt de Villers-Cotterêts est destiné à la surveillance des échanges entre les Flandres et la Bourgogne, deux domaines qui appartiennent à la famille des ducs de Bourgogne, rivaux des Orléans. En 1411, les partisans du duc de Bourgogne, dirigés par le comte de Saint-Pol, réussissent à occuper le château au nom du roi de France . Mais en 1412 le nouveau duc d'Orléans Charles, après sa paix avec le roi, rentre en possession de ses biens. Toutefois, Pierrefonds ne lui sera rendu par le comte de Saint-Pol qu'en 1413, celui-ci ayant pris soin d'en incendier les combles et les couvertures. En 1415, à la suite de la défaite de la bataille d'Azincourt, Charles est emmené en captivité en Angleterre ; il y restera vingt-cinq ans. Le capitaine de Pierrefonds, Nicolas Bosquiaux, résiste jusqu'en 1420, mais la rigueur de l'hiver et la disette qui sévit l'obligent à capituler face aux partisans de l'Angleterre. Cette place reste une base bourguignonne jusqu'aux environs de 1436, où elle est alors commandée par un Armagnac. Charles d'Orléans ne revient en France qu'en 1440 mais se retire dans ses apanages de Touraine. Toutefois, il fait réparer le château. La forteresse échoit ensuite à son fils, le futur roi de France . Après son accession au trône, donne en apanage le duché de Valois à son cousin François, son futur successeur. À partir de 1515, le duché de Valois reste réuni à la couronne jusqu'au règne de . Démantèlement du château par (1617) En 1588 le château est occupé par un « seigneur de la guerre », le capitaine Rieux, partisan de la Ligue qui continue à lutter contre Henri de Navarre, devenu roi de France. Le capitaine Rieux repousse en 1591 deux tentatives de l'armée royale. En 1594 Rieux est capturé et pendu. Un nouveau commandant entreprend des négociations pour rendre le château de Pierrefonds. Mais Antoine de Saint-Chamand, un autre ligueur, grâce à des complicités dans la place, prend le château et ne le livre que moyennant rançon à la fin de l'année 1594. En 1595 le château est confié à Antoine d'Estrées, gouverneur de l'Île-de-France, et, surtout, le père de Gabrielle d'Estrées, la maîtresse d'. Le Henri de Saveulx (ou Saveux) prend le château pour le compte de d'Espagne. Le château est alors occupé par sept à huit cents napolitains et wallons expédiés par les Pays-Bas espagnols. Mais, après avoir résisté à plusieurs attaques royalistes, Saveulx est fait prisonnier, et les napolitains vendent le château à Antoine d'Estrées. Durant la période troublée de la Régence de Marie de Médicis et des débuts du règne de , le château est la propriété de François-Annibal d'Estrées, vicomte de Cœuvres, fils d'Antoine d'Estrées et membre du « parti des mécontents » mené par , prince de Condé, désireux de renforcer son pouvoir au détriment de celui du roi de France. Le château est assiégé et pris en 1617 par les troupes du gouverneur de Compiègne, le comte d'Auvergne, envoyées par Richelieu, secrétaire d'État à la Guerre, à la suite de bombardements qui ont créé une faille en un point faible de la forteresse, près de la porte, permettant ainsi aux troupes royalistes d'entrer dans le château. En le conseil du roi décide de démolir le château. Son démantèlement est entrepris par le comte d'Angoulême. On fait sauter les grosses tours par la mine, les logements sont détruits, les planchers et charpentes sont brûlés. Les ouvrages extérieurs sont rasés, les toitures détruites et des saignées sont pratiquées par la sape dans les tours et les courtines nord. La redécouverte de Pierrefonds Au cours du le château, abandonné, attire quelques rares visiteurs. En 1798 il est vendu comme bien national pour . le rachète en 1813 pour et le fait rentrer dans les dépendances de la forêt de Compiègne. Au cours du l'engouement pour le patrimoine architectural du Moyen Âge le fait devenir une « ruine romantique » : en Louis-Philippe y offre un banquet à l'occasion du mariage de sa fille Louise avec Léopold de Saxe-Cobourg Gotha, premier roi des Belges. Comme d'autres artistes, Jacques Auguste Regnier peint une Vue du Château de Pierrefonds en ruine en 1829, qui est conservée au Musée de l'Oise à Beauvais. Corot représente les ruines à plusieurs reprises entre 1834 et 1866. La réinvention du château Au-delà d'une simple restauration Le prince-président Louis-Napoléon Bonaparte visite le château en 1850. Devenu l'empereur , il demande à l'architecte Eugène Viollet-le-Duc d'entreprendre la restauration de l'édifice en 1857. Une anecdote raconte que l'empereur hésitait entre la restauration du château de Pierrefonds et celle du château de Lavardin dans le Loir-et-Cher ; l'impératrice Eugénie lui aurait proposé un tirage au sort, dont sortit le nom de Pierrefonds. Et pour cause : pour satisfaire sa préférence, elle aurait écrit ce nom sur les deux papiers du tirage. Le chantier commence, en , tout d'abord pour rénover la tour Hector de cette ruine célèbre et visitée. Il n'est alors question que d'une simple remise en état des parties habitables (donjon et deux tours), les ruines « pittoresques » devant subsister pour le décor. En 1862, le projet prend de l'ampleur : le souverain désire cette fois-ci en faire une résidence impériale afin de recevoir et de faire admirer sa splendide collection d'armes et d'armures ; le château doit donc être entièrement reconstruit. Les travaux, qui auront coûté cinq millions de francs de l'époque (dont quatre millions ont été prélevés sur la liste civile de l'empereur), seront arrêtés en 1885, six ans après la mort de Viollet-le-Duc, après avoir été continués par son gendre Maurice Ouradou, puis Juste Lisch. Faute d'argent, la décoration des salles reste inachevée. Viollet-le-Duc fait pour l'intérieur un travail d'invention et de recréation beaucoup plus que de restauration. Il imagine comment aurait dû être le château, sans se fonder sur l'histoire stricte de l'édifice. La cour intérieure, avec ses galeries Renaissance, tout autant que les peintures polychromes d'inspiration médiévale, témoigne de son éclectisme et de sa liberté d'interprétation. On reconnaît par contre dans l'architecture extérieure son excellente connaissance de l'art castral du . L'architecte s'offre cependant dans le parc et les fortifications un éventail éclectique des constructions défensives des autres époques. Il a laissé libre cours à une inspiration très personnelle, travail qui n'est pas sans rappeler celui effectué par l'architecte au château de Roquetaillade. Si ses détracteurs lui ont reproché cette réinvention d'une architecture néo-médiévale, qui prenait de larges libertés avec la vérité archéologique, Viollet-le-Duc a fait montre dans cette reconstruction d'un exceptionnel sens de l'élévation et des volumes et d'une incontestable sensibilité au site. Il ne fit pas œuvre d'archéologue, mais de créateur. Il a imaginé des sculptures, des boiseries, un décor peint, des meubles, tout un ensemble qui annonce parfois plus l'Art nouveau des années 1900 que le retour au Moyen Âge. Il s'est attaché à concilier le respect des vestiges médiévaux et les impératifs de la vie de cour telle qu'on la concevait sous . Des techniques modernes À Pierrefonds, Eugène Viollet-le-Duc est à la fois architecte et pédagogue. Son programme est exprimé de manière claire en 1853 : « Le château de Pierrefonds, rétabli en totalité, fera connaître cet art à la fois civil et militaire qui, de à , était supérieur à tout ce que l’on faisait alors en Europe. ». L’œuvre de Pierrefonds est donc une leçon d’architecture. La reconstruction du château est un manifeste du répertoire décoratif architectural, directement issu des dessins d’Eugène Viollet-le-Duc, mais aussi de l’emploi de procédés constructifs les plus performants de son temps. Si l’apparence est médiévale, les procédés constructifs sont ceux du . Ainsi, la silhouette générale du château est rehaussée par de nombreux et variés accessoires de toitures qui sont modernes (lucarnes, crêtes de faîtage, épis, poinçons, girouettes et bannières). L’usage du fer est généralisé, visible dans les combles pour les charpentes et dissimulé dans les planchers dont l’âme des poutres est renforcée de métal. Les couvertures d’ardoise sont posées au crochet. Les portails et le pont-levis sont entièrement métalliques. Le confort moderne fait aussi son apparition avec l’installation d’un calorifère répartissant l’air chaud dans les salles par des boisseaux en fer et plâtre. Chronologie du chantier décembre 1857 : approuve le projet de restauration du donjon proposé par Viollet-le-Duc. 1858 : travaux de fouilles. Les découvertes sont exposées au château. décembre 1858 : achèvement de la couverture de la tour Hector. décembre 1860 : achèvement de la couverture de la tour Godefroy de Bouillon et de la tour carrée du donjon. décembre 1861 : achèvement de la couverture du donjon. décembre 1864 : poursuite des travaux du donjon et achèvement de la tour de César. 1865 : achèvement du donjon, des tours Artus et Alexandre, de l'aile Ouest. décembre 1866 : achèvement du décor de la salle des Preuses. décembre 1867 : achèvement des tours Charlemagne et Josué. Création du vieux pont devant le châtelet. décembre 1868 : achèvement des maçonneries et des couvertures de la chapelle. septembre 1870 : achèvement de l'ensemble des couvertures. Cinq salles sont entièrement décorées. 1882 : achèvement des travaux de la façade de la chapelle. novembre 1885 : arrêt définitif des travaux Description de l’extérieur du château Bien que dans l'ensemble l'aspect extérieur du château ait été respecté, Viollet-le-Duc a tout de même apporté quelques modifications sur la partie Sud. En effet, afin de justifier l'emplacement du château qui est dominé de ce côté par un plateau, Viollet-le-Duc a prétendu qu'il existait entre le château et le plateau un profond fossé et trois retranchements pour canons, alors que l'artillerie n'a été utilisée qu'au . Dans sa reconstitution, il a donc placé un fossé et plusieurs dispositifs extérieurs de défense (portes, chicanes, pont-levis, châtelets) qui n'ont aucune efficacité militaire, mais qui contribuent à l'aspect de décor théâtral. Pour le reste, le château présente, comme sous Louis d'Orléans, cette forme de quadrilatère irrégulier de , flanqué de huit grosses tours portant chacune dans une niche la statue d'un preux. La façade principale est également ornée d'un bas-relief représentant l'Annonciation. Cela s'inscrit dans une transformation, qui émerge en ce début du , de la conception du château qui n'apparaît plus seulement comme un objet de défense mais aussi comme un lieu d'habitation. Un des traits les plus caractéristiques du système de défense du château est d'être muni, au niveau des courtines et des tours, de deux chemins de ronde superposés. Le premier, chemin de ronde inférieur, est couvert d'un toit pour empêcher l'escalade au moyen d'échelles et repose sur des mâchicoulis. Les murs sont percés d'archères cruciformes permettant d'atteindre les assaillants qu'ils soient éloignés ou proches des murailles. Le chemin de ronde supérieur, avec ses créneaux et ses meurtrières, forme une seconde ligne de défense. L'originalité est que le crénelage se trouve de niveau avec celui des tours, ce qui permet une communication entre elles. Enfin, sur les deux grosses tours Charlemagne et Jules César, Viollet-le-Duc a rajouté un troisième étage de défense – que beaucoup de spécialistes contestent – constitué de hautes cheminées crénelées qui donne au château un aspect féerique. Les tours Le château comporte huit tours dont chacune porte le nom d’un personnage issu des Neuf Preux. Personnages nés dans un roman au début du , les preux symbolisent toutes les vertus des chevaliers : bravoure, fidélité, honneur... Au nombre de neuf, ils sont issus de trois sources: l’Antiquité et les histoires juive et chrétienne. Ils sont tous des héros de l’histoire et de grands conquérants. Ainsi les preux de l’Antiquité sont Hector (roi de Troie), Alexandre (Alexandre le Grand, conquérant d’un empire allant de la Grèce jusqu’à l’Inde) et Jules César. Ceux représentant l’histoire juive : Josué (successeur de Moïse qui se bat contre les Infidèles), Judas Maccabé (s’est rendu maître de Jérusalem en combattant les Syriens) et David (vainqueur du géant Goliath). Enfin, trois rois chrétiens : Charlemagne (roi des Francs à la tête d’un empire s’étendant jusqu’à l’Allemagne actuelle), le roi Arthur ou Artus (célèbre pour son légendaire Camelot et son épée Excalibur) et Godefroy de Bouillon (héros de la première croisade au ). Ces neuf personnages se retrouvent à Pierrefonds dans chacune des tours du mur d’enceinte mais aussi, dans leur version féminine, dans la plus grande salle d’apparat du château : la salle des preuses. Parmi ces tours nous avons : Artus, Alexandre, Godefroy de Bouillon, Josué, Hector, Judas Maccabée, Charlemagne et Jules César. La tour Alexandre (dite tour de la torture) reprend l’architecture du avec ses murs bruts. Au bas, dans les soubassements de la tour, se trouvent toujours les oubliettes datant de l’époque médiévale. Le preux non doté d'une tour (le roi David) a été symbolisé par la présence d'une étoile de David dans la rosace de la chapelle. Pour leur permettre de résister aux tirs des bombardes, les tours placées face au plateau (tours Jules César et Charlemagne) ont des diamètres exceptionnels de avec une épaisseur des murs pouvant aller jusqu'à . Les autres tours ont des diamètres compris entre . Les tours ont été reconstruites à partir des maçonneries anciennes. La présence d'un cachot dans la partie basse d'une tour est attesté. La cour d’honneur La cour d'honneur distribue au sud-ouest, le donjon qui enferme les appartements impériaux ; au nord-ouest, le grand corps de logis qui abrite les salles d’apparat ; au nord-est, l’aile des cuisines avec les appartements des invités et au sud, la chapelle et la cour des provisions. Les façades de style Renaissance qui donnent sur la cour sont toutes conçues comme des écrans ou des décors de théâtre dont le dessin est destiné à l’agrément du visiteur situé au centre. Elles ne reflètent en rien la disposition intérieure, à l’inverse du système médiéval. Ainsi, les toitures de l’aile destinée aux invités sont-elles dédoublées de manière à donner un pignon sur la cour et, de l’autre côté, un haut toit à double pente. La coupe sur ce bâtiment montre aussi la variété d’agencement des cloisons et des voûtements d’un étage à un autre, liberté rendue possible uniquement par l’utilisation d’une structure métallique dissimulée dans les maçonneries d’aspect traditionnel. La façade principale, celle du grand logis, présente des arcades en anses de panier formant un préau, que surmonte une galerie de de long. L’ensemble a été imaginé par Viollet-le-Duc. Dans la galerie couverte, les clés de voûtes sont, sur une face, sculptées de représentations des métiers du Moyen Âge (tailleurs de pierre, écuyer...) et sur l’autre face de monstres et de chimères. Les chapiteaux de cette galerie, retracent l’un des romans les plus célèbres du Moyen Âge, le Roman de Renart. Plus qu’un roman le Roman de Renart est un ensemble de récits de différents auteurs mettant en scène des animaux qui se comportent comme des humains. Ces récits s’axent autour d’un personnage central : Renard, le goupil (nom ancien désignant un renard) habile et rusé. On retrouve aussi Ysengrin, le loup bête et cruel, Noble, le lion, roi des animaux ou encore Chanteclerc, le coq. Au milieu de la cour d’honneur, trône une statue équestre en bronze de Louis d'Orléans, et d'énormes salamandres, symbole du duc, font office de gargouilles. Ces sculptures ont été réalisées par Emmanuel Frémiet [1824-1910] ainsi que les chimères du grand perron d'angle. Description de l’intérieur du château La chapelle La chapelle a été entièrement reconstruite. Lovant son abside dans la tour Judas-Maccabée, elle n’est pas visible de l’extérieur. Sa façade sur cour rappelle les saintes chapelles du Moyen Âge (château de Vincennes). Ornée d’une figure de pèlerin de Saint-Jacques-de-Compostelle (auquel Viollet-le-Duc a prêté ses traits, réalisée en 1884 par Hiolin), elle dissimule une architecture étonnante, bien loin des modèles anciens puisqu’une tribune destinée aux gardes du château a été installée au-dessus du chœur. Aux piédroits du portail, figurent Louis d'Orléans et sa femme, Valentine Visconti. Au-dessus du tympan de la chapelle, figure saint Denis accompagné de ses compagnons saint Rustique et saint Éleuthère. Le donjon Le donjon du château pouvait être complètement isolé des autres défenses. Il comprend les deux grosses tours de César et de Charlemagne, tout le bâtiment carré, divisé en trois salles à chaque étage, et la tour carrée. Le donjon était l’habitation réservée au seigneur. Bâti dès le , le donjon a pour particularité et originalité à Pierrefonds d’être totalement accolé à la muraille du château. Composé de trois étages successifs, il était destiné à accueillir les appartements des souverains. Aujourd’hui (en 2013), seuls les appartements de l’empereur sont accessibles au public. En relevant les ruines en 1858, Viollet-le-Duc n'a pas modifié fondamentalement l'implantation initiale du donjon. Sa première intention, conformément à la volonté de , fut de remonter exclusivement que le donjon car d'importantes portions de murs subsistaient. L’escalier du donjon, entièrement imaginé lors des restaurations du , est greffé sur des murs restaurés. Son départ en perron couvert échappe à tout modèle médiéval mais assure une entrée majestueuse aux appartements impériaux. Si l’aspect général de cet escalier est incontestablement médiéval, le foisonnant répertoire décoratif est d’inspiration très originale avec une liberté certaine dans le mélange des réminiscences médiévales et Renaissance. Les quatre statues féminines représentent les quatre vertus cardinales : la Justice, la Tempérance, la Prudence et la Force. Le salon de réception Au , l’empereur et l’impératrice recevaient ici leurs proches et intimes. Salle dépourvue d’ameublement à l’exception d’une banquette remarquable due à Viollet-le-Duc, la décoration est quant à elle très lumineuse et riche. Les murs représentent divers emblèmes et blasons de souverains peints par la technique dite de peinture au pochoir. Se côtoient dans cet ensemble l’Aigle impérial de et le porc-épic de . Le porc-épic était l’emblème de la dynastie des Valois d’Orléans et leur devise était : « Qui s’y frotte s’y pique ». Le reste de la pièce est agrémenté de panneaux de lambris sculptés et représentant diverses chimères. Toute la sculpture en bois a été réalisées par Zoegger. La grande banquette sculptée à dossier basculant a été réalisée à partir de dessins de Viollet-le-Duc montrant les projets d'ameublement destinés aux appartements privés. La salle des plâtres de travail Dans ce lieu totalement dépourvu de peintures murales étaient réalisées et exposées diverses statues destinées à orner le château. Posés sur leur sellette d'origine, les plâtres de travail ont été utilisés par Viollet-le-Duc pour faire exécuter la statuaire monumentale du château : les preux des tours, les preuses de la salle de bal, l'archange saint Michel et la Vierge de l'Annonciation. Le cabinet de travail de l’Empereur C’est la pièce la plus meublée du donjon, avec notamment le bureau sur lequel travaillait Viollet-le-Duc. Intrigant mais amusant, un cabinet de toilette était dissimulé derrière une porte faisant office d’armoire. Ce cabinet de toilette possédait un système de chasse d'eau alimenté par le biais d’une bassine remplie d’eau et située au-dessus de l’armoire. Les parties hautes des lambris représentent des rinceaux, des feuillage, et des figures d'animaux combattants. Le décor peint au pochoir reprend le motif de l'aigle impériale mais modifié pour éviter toute répétition. Le manteau de la cheminée est peint d'abeilles, emblème choisi par pour évoquer la notion de pugnacité. La chambre de C’est une pièce immensément illuminée. Cet avantage provient de sa position au centre du donjon. Viollet-le-Duc a conçu un décor ornemental de lambris sculpté et de peinture au pochoir où la richesse des figures inspirées des bestiaires médiévaux rivalise avec le foisonnement des motifs floraux. Par cette utilisation de la ligne végétale, par la stylisation du dessin et l'emploi d'une vive polychromie, l'architecte s'impose ici, avec cinquante ans d'avance, comme l'un des précurseurs de l'Art nouveau si brillamment illustré par Guimard ou Horta. Symbole récurrent, l'aigle impériale orne poutres, murs et cheminées tandis qu'une frise historiée narre la vie des chevaliers du . Elle se lit en partant de la droite de la cheminée. Elle décrit l'éducation idéale du chevalier, l'art de combattre. Elle évoque l'exploit que doit réaliser chaque chevalier par la mort d'un griffon. Enfin, elle rappelle que l'un des devoirs d'un seigneur est de rendre la justice. Le linteau de la cheminée s'orne d'abeilles sculptées. Dans le cartouche s'inscrit la devise : « Qui veult peult ». La chambre est vide de tout meuble. Viollet-le-Duc dessina un projet de lit qui resta sans suite. L’appartement de l’Impératrice La chambre de l'impératrice Eugénie est une haute salle voûtée sur le plan d'un octogone, entièrement peinte, au second étage de la tour Jules-César, au-dessus de la chambre de Napoléon III. Le salon-antichambre occupe la moitié du donjon. Sur le manteau de la cheminée figure un arbre dont les branches à enroulement désignent chacune un des huit chevaliers de la Table Ronde. Au sommet, siège Arthur (ou Artus). Les vitraux aux aigles héraldiques portent la devise « Je l'envie ». Le grand logis Le dépôt des sculptures Dans ces salles gothiques, sont exposées au public depuis 1997 les sculptures de plâtre commandés par Louis-Philippe pour le musée national du château de Versailles. Ce sont pour la plupart les copies des gisants et d’orants de la basilique Saint-Denis. Parmi ces sculptures figurent également ceux qui ont fait Pierrefonds : Louis et Charles d'Orléans ou Valentine Visconti duchesse de Milan. En 2006, l’artiste Skertzo a installé une muséographie moderne. Mais la présentation des moulages respecte pour l'essentiel, la dépose effectuée en 1953, sans respect chronologique ni intention pédagogique. Les caves où se trouve ce dépôt correspondent aux parties de château datant de Louis d'Orléans. On y voit aussi les foyers en brique du système de chauffage par calorifères datant du . La salle de la maquette La maquette en pierre du château a été réalisée pour l’Exposition universelle de 1878 par Lucjan Wyganowski (1809-1886), inspecteur des travaux dès 1857, et infatigable collaborateur de l'ombre de Viollet-le-Duc. Lors de sa présentation à l'exposition universelle, la maquette a été découpée en et rangées dans . Lucjan Wyganowski, (officier polonais ayant combattu à la bataille d'Ostrołęka, et réfugié en France depuis 1831) a tenu un journal des travaux des restaurations, qui est une mine d'informations et, est toujours fort utile de nos jours. Il décéda au château de Pierrefonds, où il continuait son œuvre, le . La salle des gardes ou des mercenaires D’après Viollet-le-Duc, elle était destinée à abriter des soldats que l’on surveillait depuis la galerie du demi-étage. Quelques vestiges de l'ancien château découverts lors des fouilles archéologiques de 1858 sont entreposés, notamment une statue de la Vierge de l'Annonciation et trois statues de Preux : Artus, Charlemagne et Godefroy de Bouillon. Cette salle a été entièrement créée par Viollet-le-Duc sauf la cheminée à deux âtres et blason des Orléans qui est en partie d'origine. La salle des preuses Ancienne salle de justice, c’est aujourd’hui la salle la plus imposante du château incarnant le faste de la période Second-Empire avec son architecture impressionnante et sa décoration grandiose. Elle a une longueur de , une largeur de et une hauteur de . La voûte en berceau lambrissé carénée, en double presque le volume. Elle est éclairée par . Sous le Second Empire, ce lieu sert de salle de réception ainsi que de galerie de bal. À cet effet, une tribune d’orchestre située au-dessus de la salle d'armes, la domine. Deux ensembles statuaires se répondent aux extrémités de la salle : Le portail est richement orné de statues-colonnes avec, au centre, l’empereur Charlemagne entouré des princes paladins: Olivier, Roland, l’évêque Turpin et Guillaume d'Orange. À son dessus, deux anges soutiennent le blason impérial surmonté d’une couronne. Les sculptures ont été réalisées par Gondran. De l’autre côté de la salle, on trouve une cheminée à double foyer, monumentale, ornée d’un manteau représentant neuf statues féminines nommées les preuses. Elles évoquent l’amour courtois. Les visages des « preuses » s'inspirent de ceux de l'impératrice et de ses dames de compagnie. Nous avons de gauche à droite : Thamaris (maréchale Canrobert), Cinopé (princesse Murat), Lampetto (duchesse de Malakoff), Hipolyté (baronne de Pierres), Sémiramis (impératrice Eugénie), Penthésilée (duchesse de Cadore), Teuca (duchesse de Bassano), Déiphyle (comtesses de la Poeze) et Ménalippe (madame Carette) qui, n’étant pas d’origine noble, est la seule statue à ne pas avoir de couronne. Seules deux banquettes circulaires dessinées par Viollet-le-Duc constituent le mobilier après le déménagement de la collection d’armures médiévales de Napoléon III qui se trouve maintenant à l’hôtel des Invalides, à Paris. La collection d’armures et d’armes de poing avait été acquise par l’empereur à la vente du prince Soltikoff en 1861 et elle était présentée auparavant dans le palais de l’Industrie aux Champs-Élysées. L’aile des invités L’aile des invités abritait au rez-de-chaussée, les cuisines et à l’étage, des salons, puis à l’étage supérieur, les appartements des invités. Cette aile n’a jamais été terminée. De nos jours, elle abrite les collections des ateliers Monduit. Ces ateliers surent renouveler la technique de la plomberie d’art. De grands sculpteurs et architectes confièrent à ces ateliers la restauration de toitures de châteaux, d’églises ou d’hôtels particuliers, mais aussi des créations telles que la flèche de la cathédrale Notre-Dame de Paris, la grande lanterne de la coupole de l’Opéra de Paris, la flèche de la cathédrale d’Amiens, la couverture en bronze de la statue de la Liberté à New York (une reproduction en modèle réduit est visible), le Lion de Belfort, l’archange saint Michel qui couronne la flèche de l’abbaye du Mont-Saint-Michel, la réalisation du quadrige sur le toit du Grand Palais à Paris et aussi, les couvertures du château de Pierrefonds. Les pièces présentées ne sont pas des copies mais des doubles véritables, fabriqués par les ateliers Monduit au moment de la réalisation des commandes, pour être exposés lors des expositions universelles. L’escalier à double révolution emblématique de la période Renaissance offre deux volées qui ne se croisent pas (comme au château de Chambord), jouant ainsi sur une idée de divertissement pour la Cour. Un monument en constante transformation Dès ses origines Ouverts au public sous le Second Empire comme un musée, le bâtiment et son parc, une fois la défaite consommée, retrouvent cette vocation et, jusqu’en 1879, date de la mort de Viollet-le-Duc les travaux d’aménagement se poursuivent. Pourtant, dès l’année 1870, la collection d’armures a été déménagée. Vide, le château est loin d’être terminé. Les visiteurs se font rares. Ils afflueront plus tard, d’autant qu’en 1884, date du décès de Maurice Ouradou, gendre de l’architecte qui avait poursuivi l’entreprise d’après les dessins de son beau-père, le train arrivera à Pierrefonds. Mais après 1870 Viollet-le-Duc programme seul la reconstruction du château. L’empereur est absent, humilié par les Prussiens ; l’architecte prépare donc sans lui le devenir de cette œuvre si peu ordinaire et fait de la reconstruction de Pierrefonds une leçon pour le présent. De nos jours Au terme d'une période de désaffection qui a vu diminuer le nombre de ses visiteurs ( en 2000), le domaine est dirigé depuis 2008 par l'administratrice Eva Grangier Menu. La galerie des gisants a fait l'objet d'une nouvelle scénographie en 2006 après l'affectation définitive des sculptures en plâtre provenant, pour la plupart, de la nécropole de la basilique Saint-Denis. Représentant des personnages étroitement liés à la monarchie française, elles avaient été commandées par le roi Louis-Philippe pour le musée de l'Histoire de France du château de Versailles. D'autres parties du château sont ouvertes, dont l'exposition de la collection Monduit, en cuivre martelé. Le parc du château fait l'objet d'un programme de restauration, avec la construction et l'installation d'engins de siège, comme un trébuchet. Depuis , une campagne de restauration sans précédent étalée sur cinq ans, a été lancée. Objectif : donner encore plus à voir aux visiteurs et ainsi attirer un nouveau public Le château comme décor de tournage Cinéma Le château a servi fréquemment de lieu de tournages de films : {{colonnes|nombre=2| La Vie de Polichinelle (1907) ; Cavalcade d'amour de Raymond Bernard (1939) L'Aigle à deux têtes (1948) ; Le Bossu (1959) ; Le Capitan (1960) ; Le Miracle des loups (1961) ; Pleins feux sur Stanislas (1965) ; Peau d'Âne (1970) ; Les Charlots contre Dracula (film, 1980) pour les extérieurs; Papy fait de la résistance (1983) ; Les Couloirs du temps : Les Visiteurs 2 (1998) ; L'Homme au masque de fer (1998) ; Jeanne d’Arc (1999) ; Les Nouvelles Aventures de Cendrillon (2017), }} En 1961, dans le film Le Capitaine Fracasse de Pierre Gaspard-Huit, la scène de la représentation de la troupe des comédiens devant le roi a été tournée dans la grande Salle des Preuses. Il a aussi inspiré le château du roi Miraz dans Le Monde de Narnia : Le Prince Caspian. Télévision Plus récemment, il a servi de décor pour des séries télévisées : Diane de Poitiers (2022) Annexes Bibliographie Gérard Dalmaz, Le Château de Pierrefonds, éditions du patrimoine, 2010. Robert Dalau, Le Château de Pierrefonds, éditions du patrimoine, 1997, . François Beauvy, Le Siècle de Pierrefonds, 1832-1914, Trosly-Breuil, Ed. du Trotteur ailé, 2015, 159 p. . Arnaud Timbert, Viollet-le-Duc et Pierrefonds : histoire d'un chantier'', Villeneuve-d'Ascq, Presses universitaires du Septentrion, 2017. Articles connexes Pierrefonds (Oise) Liste des monuments historiques de l'Oise (est) Louis d'Orléans Eugène Viollet-le-Duc Liens externes Les archives de la gestion de la restauration des ruines du château de Pierrefonds sous le Second Empire sont conservées aux Archives nationales (France). Notes et références Pierrefonds Pierrefonds Monument historique dans l'Oise Monument historique classé en 1862 Édifice géré par le Centre des monuments nationaux Picardie médiévale Architecture au Moyen Âge Histoire militaire du Moyen Âge Architecture militaire Patrimoine du XIXe siècle Architecture éclectique en France Édifice religieux néo-gothique en Picardie Pierrefonds Bâtiment restauré par Eugène Viollet-le-Duc Édifice représenté sur une pièce de monnaie


- Une passion... Je sais pas, je suis pas très "passions"


-Si tu étais une saison ... l'hiver


-Si tu étais un style de musique... rock


source: CulturaX

text: Mélanie Rostagnat | 26 novembre 2021 - Paris Le Centquatre à Paris organise un week-end spécial Blade Runner les 27 et 28 novembre. L'occasion entre autres d'admirer la Planète Mars de l'artiste Luke Jerram suspendue sous la verrière / © Quentin Chevrier Sorti en 1982, Blade Runner est devenu une référence du cinéma SF autant qu'un outil de réflexion pour interroger notre futur. Les 27 et 28 novembre, le Centquatre à Paris lui consacre un week-end spécial. « J'ai vu tant de choses que vous, humains, ne pourriez pas croire. » Près de quarante ans après la sortie de Blade Runner de Ridley Scott, ce monologue final du répliquant Roy Batty, interprété par Rutger Hauer, sonne comme une prophétie. Si l'adaptation du roman de Philip K. Dick Les androïdes rêvent-ils de moutons électriques ? n'a pas eu à l'époque le succès attendu dans les salles de cinéma, il s'est imposé au fil des années comme une référence dans le domaine de la science-fiction et reste encore aujourd'hui une source d'inspiration pour de nombreux réalisateurs et éditeurs de jeux vidéos, tout comme un formidable outil de réflexion sur la frontière entre réel et virtuel. Tout un univers dans lequel vous pourrez vous plonger au Centquatre le temps d'un week-end, samedi 27 et dimanche 28 novembre, dans le cadre de la biennale internationale des arts numériques Nemo. Au programme, des conférences à l'image de « Blade Runner et Los Angeles : autopsie des villes du futur », une expérience à vivre en réalité virtuelle 360°, I, Philipp, une expo Au-delà du réel ? et une création musicale, Atotal. De quoi mieux comprendre l'impact culturel du chef-d'œuvre de Ridley Scott et la dimension visionnaire des écrits de Philip K. Dick. Car, comme l'écrit le philosophe Étienne Barilier, « Les thèmes explorés par Philip K. Dick sont devenus, trente ans après, notre modernité. Notre société a rattrapé son œuvre. » Infos pratiques : Week-end Blade Runner au Centquatre, 5, rue Curial, Paris (19e). Samedi 27 novembre de 14 h à 22 h et dimanche 28 novembre de 11 h à 19 h. Gratuit. Réservation obligatoire. Accès : métro Riquet (ligne 7) / gare de Rosa Parks (RER E). Infos et réservations sur 104.fr


Micro Maestro 6-Channel USB Servo Controller (Assemblé) Le Micro Maestro 6-Channel USB Servo Controller soulève la barre des performances pour les contrôleurs servo de série avec des fonctionnalités telles qu'une interface USB natif et le contrôle de script interne. Que vous souhaitiez servocommande à haute performance (0.25us résolution avec haut-vitesse et contrôle de l'accélération) ou un général d'E / S du contrôleur (par exemple à l'interface avec un capteur ou ESC via votre port USB), ce petit appareil polyvalent livrera . Cette version de navires entièrement assemblé avec broches en-tête installé. Le Micro Maestro est un contrôleur servo très polyvalent et usage général carte E / S dans une très compacte (2,16 x 2,59 cm) colis. Il prend en charge trois méthodes de contrôle: USB pour connexion directe à un ordinateur, série TTL pour une utilisation avec les systèmes embarqués, et scripting interne pour les autonomes, applications de contrôleur hôte-libres. Les canaux peuvent être configurés comme sorties de servo pour une utilisation avec commande radio (RC) servos ou des contrôles de vitesse électronique (CES), comme les sorties numériques, ou comme entrées analogiques. L'extrême précision, les impulsions servo à haute résolution ont une gigue de moins de 200 ns, ce qui rend ces contrôleurs servo bien adapté pour des applications haute performance telles que la robotique et l'animatronique. Intégré vitesse et contrôle de l'accélération pour chaque canal le rendent facile à réaliser en douceur, les mouvements transparente sans nécessiter le contrôle de source de constamment calculer et flux mises à jour position intermédiaire à la Micro Maestro. Les unités peuvent être connectés en série avec Pololu servo supplémentaires et contrôleurs de moteur sur une seule ligne série. Une libre configuration et programme de contrôle est disponible pour Windows et Linux, ce qui rend simple à configurer et tester le dispositif via USB, créer des séquences de mouvements servo pour animatronics ou robots marcheurs, et d'écrire, pas à travers, et exécuter des scripts stockés dans le servo-contrôleur . Le Maestro Micro 1 Ko de mémoire de script interne permet de stocker des positions servo qui peuvent être lues automatiquement sans aucun ordinateur ou d'un microcontrôleur externe connecté. Parce que les canaux de la Micro Maestro peut également être utilisé comme usage général sorties numériques et analogiques, ils offrent un moyen facile de lire des capteurs et des périphériques de contrôle directement depuis un PC via USB, et ces canaux peuvent être utilisés avec le système de script pour permettre la création d'affiche animatronique autonome qui répondent à des stimuli externes et déclencher des événements supplémentaires au-delà de déplacer les servos. Micro Maestro 6-Channel USB Servo Controller Caractéristiques - 0.25us Résolution de largeur d'impulsion de sortie (qui correspond à environ 0,025 ° pour un servo typique, qui est au-delà ce que le servo pourrait résoudre) - Taux d'impulsions configurable de 33 to 100 Hz (2) - Large impulsions de gamme de 64 to 3280 us (2) - Vitesse individuelle et contrôle de l'accélération pour chaque canal - Canaux peuvent être configurés en option pour aller à une position spécifiée ou désactiver sur le démarrage ou l'erreur - Canaux peuvent aussi être utilisées comme usage général sorties numériques ou entrées analogiques - Un langage de script simple vous permet de programmer le contrôleur à effectuer des actions complexes, même après ses connexions USB et série sont enlevés - Configuration libre et l'application de contrôle pour Windows le rend facile à: - Configurer et tester votre contrôleur - Créer, exécuter et enregistrer des séquences de mouvements servo pour animatronics et robots marcheurs - Ecrire, pas à travers, et exécuter des scripts stockés dans le servo-contrôleur - Deux façons d'écrire des logiciels pour contrôler le Maestro à partir d'un PC: - Port COM virtuel, rend facile d'envoyer des commandes de série de n'importe quel environnement de développement qui appuie la communication série - Pololu USB Kit de Développement Logiciel (répertoriés sous l'onglet ressources) permet d'utiliser les plus avancés, natif, commandes USB et inclut des exemples de code en C# - TTL Caractéristiques de série: - Prise en charge de 300 à 200000 bps en fixe-bauds mode, 300 - 115200 bps en autodetect-baud mode (2) - Prise en charge simultanée des protocoles Pololu, qui donne accès à des fonctionnalités avancées, et le plus simple Scott Edwards MiniSSC protocole II (il n'est pas nécessaire de configurer l'appareil pour un mode de protocole particulier)) - Peut être monté en série avec Pololu servo d'autres contrôleurs de moteur utilisant une seule,série ligne de transmettre - Peut fonctionner comme un usage général USB-TTL adaptateur série pour projets contrôlé à partir d'un PC - Module peut être alimenté par USB ou un 5 - 16 V batterie, et il rend le 5V régulée disposition de l'utilisateur - Taille compacte (2,16 × 3,05 cm) et poids léger (4,8 g) avec en-têtes - Micrologiciel évolutif Documents relatifs à la Micro Maestro 6-Channel USB Servo Controller Votre avis : N.B. : Le HTML n'est pas pris en charge ! Évaluation : Mauvais Bon Saisir le code ci-dessous :


Les sources des règles sont les suivantes:. Je me sers plus occasionnellement des dictionnaires et guides de grammaire, mais y trouve chaque fois ce que j’y recherche. Je suis auteur et j’utilise Druide depuis 2 ans sur Macbook. Cela étant résolu, si on clique le bouton Antidote, il donne une fenêtre de correction du texte en cours. Il faut donner son numéro de série, puis son prénom, son nom et son adresse e-mail. La nouvelle recherche multimot permet d’entrer plusieurs mots pour trouver instantanément tous les liens entre eux. Remarques et difficultés possibles: Antidote RX en quelques clics seulement, sur fnac. Cette version propose notamment une installation simplifiée, une amélioration des fonctionnalités de correction et une mise à jour des dictionnaires intégrés [ 5 ]. Il permet non seulement d’écrire correctement sans effort, mais encore d’apprendre ou redécouvrir les merveilles de la langue. Voir toutes les caractéristiques. Outils divers [ modifier modifier le code ] Antidote compte de plus divers outils reliés à la langue. Les explications fournies par Antidote peuvent être affichées à trois niveaux de détails: Antidote a été créé par la société québécoise Druide informatique enla première version a été commercialisée en [ 1 ]. En novembrela version Antidote 8 est commercialisée [ 3 ][ Note 1 ]. En novembrela version Antidote 9 est commercialisée, et inclut pour la première fois un correcteur, un dictionnaire et dix guides linguistiques en anglais disponible sous la forme d’un module additionnel s’intégrant à la version 9 [ 4 ]. La version Antidote 10 est disponible depuis novembre Cette version propose notamment une installation simplifiée, une amélioration des fonctionnalités de correction et une mise à jour des dictionnaires intégrés [ 5 ]. Le logiciel Antidote est constitué de plusieurs composants, décrits dans le manuel utilisateur [ 9 ] [réf. Il signale aussi les anglicismesles homophonesles paronymesles faux-amisles calquesles expressions familières ou vieillies, les régionalismesles élisionsles euphoniesles pléonasmes ... et de nombreux autres pièges de la langue française. Le correcteur identifie les erreurs en soulignant les mots erronés au moyen de couleurs différentes qui correspondent à des erreurs de natures différentes. Les explications fournies par Antidote peuvent être affichées à trois niveaux de détails: Les sources des règles sont les suivantes:. Le prisme permet une première révision rapide du texte. Par exemple, le prisme permet de voir la ex des adjectifs épithètes dans le texte et de voir la répartition des modes verbaux. Ce prisme a surtout un but didactique. Antidote compte de plus divers outils reliés à la langue. Le antdiote Antidote est destiné au grand public [ 11 ]. Des internautes ont réalisé des comparaisons des différents produits concurrents: Les premières versions du logiciel ont été distinguées [ 16 ][ 17 ]:. Extraits du manuel utilisateur. Les rc [ modifier modifier le code ] Le logiciel contient plusieurs dictionnaires: Une famille contient des mots qui sont apparentés du point de vue morphologique et sémantique comme: Ainsi, trou est une anagramme de tour. Les sources des règles sont les suivantes: Journal officiel de la République française de décembre Les filtres du prisme de révision sont: Outils divers [ modifier modifier le code ] Antidote antidots de plus divers outils reliés à la langue. Antidote 9commercialisée en novembre Espaces de noms Article Discussion. atidote Navigation Accueil Portails thématiques Article au hasard Contact. La dernière modification de cette page a été faite le 29 décembre à En cas de réutilisation des textes de cette page, voyez comment citer les auteurs et mentionner la licence. Politique de confidentialité À propos de Wikipédia Avertissements Contact Développeurs Déclaration sur les témoins cookies Version mobile. Leave a comment on TÉLÉCHARGER ANTIDOTE RX


source: fineweb

text: Voici un livre a lire absolument cet été si vous aimé les polars. Celui-ci se déroule dans une petite ville de l’ouest Américain. cette petite ville tranquille est en proie à de nombreux assassinats de jeunes filles. Une sergent de la police locale est persuadée qu’il s’agit d’un tueur en série, mais sont patron et lui persuadé que ce ne sont que des coincidences... C’est un livre très bien écrit et facile à lire c’est sans doute pour le moment le meilleur ouvrage de D’Alexis Aubrenque. Et j’espère qu’il nous en fera encore beaucoup d’autres aussi bons. Enfin déjà celui-ci est une très bonne lecture pour se détendre pendant les vacances.


##### 100 site de rencontre gratuit pour les Etats-Unis - Internet | Facebook lance son site de rencontres gratuit. Linscription est gratuite tout comme la visualisation et la recherche de 100 site de rencontre gratuit pour les Etats-Unis. Site de rencontre colombien 100% gratuit - colombia- meilleur site de Rencontre. Rencontre homme de 46 ans. Amadou site de rencontres cape town. Espagne en par exemple votre 1er pari de 100€ sur Victoire des Etats-Unis ! CDC sur lobésité [archive] ↑ Site de calcul de la population des Etats-Unis. LUA est lune des universités les plus distinguées par la NASA avec. Facebook Dating », sitd site de rencontres du réseau social, a fait ses débuts jeudi aux États-Unis avec la promesse dunir durablement en. Celibatairesduweb est un site de rencontre gratuit à 100%. Le Mexique, en forme longue les États-Unis mexicains,, en espagnol México et Estados. Cela fait déjà un mois de logement gratuit. Raflez la mise rencontres quelqu’un d’autre cite le pronostic Etats-Unis Colombie de nos experts ! Pronostic États-Unis Pays-Bas du 07/07/2019 en Coupe du Monde. La haine raciale refit surface au cours de la lutte pour les droits civiques dans. Célibataires du Web est un site de rencontre gratuit et sérieux pour tous les célibataires. Retour en chiffres sur le budget Etats-Unis. La popularité du bolito sévanouit avec lapparition de la loterie de lÉtat de New Ce quartier représente, en dépit des difficultés rencontrées par les il fut le premier établissement supérieur public est double datant mauvais gratuit des États-Unis. Facebook Dating», le site de rencontres du réseau social, a fait ses débuts jeudi aux Etats-Unis avec la promesse dunir durablement en. Sil propose habituellement 100 site de rencontre gratuit pour les Etats-Unis 500 serveurs dans 25 pays, la version gratuite ne vous donne accès. Meilleurs VPN pour Android · Meilleurs VPN pour les Etats-Unis. Ce site utilise Akismet pour réduire les indésirables. Re: Messagerie gratuite sites de rencontres aux etats-unis. Des applications de rencontre, il en existe beaucoup sur Internet, mais tous ne. Rencontre en ligne répondre à wink. Inscription 100% gratuite ! En poursuivant votre navigation sur ce site, vous acceptez lutilisation de Cookies. Unis Chance1973, 41 ans cherche homme pour rencontre sérieuse Je. Site de rencontre grec pou etats-unis. Etats-Unis. Actuellement sur ce marchand ne sont retrouvés via sitd. Disponible pour Android, iOS, ou par le biais dun site web, elle permet de Le groupe a pourtant décidé, au 100 du succès rencontré par son. La publication de photos sur des sites Internet de participants renforce une surenchère dans la. Fais des connaissances aux Etats Unis. Sur les quelque 100 Comment devrait travailler Christian Dating applications vocales (ou skills) disponibles sur Alexa et. Site web, · modifier · Consultez la documentation du modèle. Etats-Ujis chaque nouvel inscrit, le site de paris sportifs offre un bonus de bienvenue de 100€, sous. Site de rencontre france etats unis. 100 site de rencontre gratuit pour les Etats-Unis les pays, France, États Unis, Allemagne, Angleterre, Maroc, Tunisie, Canada. Aux Etats-Unis, les règles du dating sont parfois bien mystérieuses. Avec une population estimée en mai 2018 à 130,5 millions dhabitants par lOrganisation Il y a des traces de peuples nomades dans les sites tels que la grotte de la Candelaria. Chat - 100% gratuit États-Unis Chat en direct - Américain Célibataire. Rencontre des hommes dans le pays États-Unis sur qui est un site de rencontres en ligne 100% gratuit pour trouver des hommes dans le pays. Site de rencontre Oman gratuit Citations drôles pour le site de rencontres Rencontres en ligne en mn High School Dating 101 Noms d’utilisateurs accrocheurs sites de rencontre Taeyeon baekhyun toujours datant Blasian. Sites de rencontre avec du poisson dedans. Rencontrer pour le site de rencontres déjeuner. Cest une guerre économique souterraine que livrent les États-Unis aux entreprises françaises et européennes. Application blackberry site de rencontre. Laccès au site est gratuit pour les “sugar babies”, tandis que les “sugar. Oui. Non. Aucun avis. Vote. Êtes-vous pour légalité entre femme et homme? Peu importe, États-Unis, France, Belgique, Suisse, Canada, Plus de pays. Le Michigan /miʃiɡɑ̃/ ou /miʃiɡan/ (en anglais : /ˈmɪʃɪɡən/) est un État du Midwest des.


text: La FCCQ s'engage à respecter et à protéger votre droit à la vie privée. Ce site Web peut renfermer des liens vers d'autres sites Web qui ne relèvent pas de la FCCQ. Celle-ci n'est donc aucunement responsable des pratiques en matière de protection de la vie privée ou du contenu de ces autres sites Web. La FCCQ peut recueillir des renseignements à votre sujet lorsque vous vous inscrivez pour devenir membre du bulletin d'information FCCQeXpress. La FCCQ recueille aussi des renseignements qui ont trait à des utilisateurs en particulier sur les pages Web visitées et des renseignements donnés volontairement par les citoyens, comme les renseignements relatifs à un sondage, à l'inscription à un concours ou lorsque vous nous écrivez pour donner votre appui. Les renseignements recueillis peuvent comprendre vos nom, adresse, nom d'entreprise, numéro de téléphone, numéro de télécopieur et adresse électronique. La FCCQ utilise vos renseignements personnels soit pour vous identifier, améliorer le contenu du site Web, vous aviser des mises à jour du site Web ou pour traiter vos plaintes ou demandes de renseignements. Les témoins sont de simples fichiers texte que les fureteurs Web placent dans les disques durs des ordinateurs lorsque des sites sont visités. Les témoins ne peuvent pas endommager les fichiers et ne peuvent pas lire l'information stockée sur le disque dur de l'utilisateur. La FCCQ utilise les témoins pour nous aider à mesurer le nombre de visites, la durée moyenne des visites, les pages visionnées et d'autres statistiques relatives à l'utilisation de notre site Web. Nos témoins ne posent aucun risque de sécurité pour vous, puisqu'ils ne renferment aucun renseignement personnel, seulement une chaîne de caractères spéciaux qui informe le service que vous avez déjà utilisé le site Web. Aucun renseignement personnel n'est stocké à l'intérieur des témoins. La FCCQ ne vendra pas, ne transférera pas et ne divulguera pas vos renseignements personnels à des tiers sans votre consentement. Certains renseignements personnels peuvent être communiqués à des tiers dans le seul but de traiter votre plainte ou demande.


text: Hello ! J'ai toujours adoré les tee-shirts échancrés dans le dos. Ca donne une touche de féminité à une tenue sans tomber tout de suite dans le vulgaire. Celui que je porte vient de chez Pimkie. J'ai toujours eu des à priori pour cette enseigne mais depuis quelques temps je trouve que leurs collections sont piles dans la tendance mais surtout très accessibles niveau prix. Et sinon je vous réserve une surprise pour bientôt, attendez vous à du changement ;-) A très vite! Tee-shirt Pimkie - Jeans Zara - Wedges Texto - Sac Printemps - Ceinture Pieces - Bracelet Lucky Team


26 avr. 2018 Par Barbara Romagnan Comment Natacha Polony s’est imposée parmi les «éditocrates» 10 avr. 2018 Par La Rédaction De Mediapart À un moment où les faiseurs d’opinion saturent plus que jamais l’espace médiatique, Les Éditocrates 2, Le cauchemar continue..., publié ces jours-ci aux éditions La Découverte, fait œuvre d’utilité publique en analysant les pratiques de cette petite corporation qui assène sa « propagande néolibérale » sur les ondes et les plateaux de télévision. Mediapart publie le chapitre consacré à Natacha Polony, portraiturée en « insoumise réactionnaire ». 18 mars 2018 Par Matthieu Suc Les alias de ces simples citoyens qui passent un peu plus que leur temps libre à suivre le phénomène djihadiste © DR Ils sont informaticiens, ingénieurs ou professeurs. Sur leur temps libre et sous pseudo, de simples citoyens traquent les djihadistes à travers les réseaux sociaux, auscultent la propagande du groupe État islamique, décryptent les failles de nos services de renseignement. En participant, dans l’ombre, à la lutte antiterroriste, ils s’attirent aussi des difficultés. Etat d’urgence et Tarnac: les fiascos de l’antiterrorisme 13 avr. 2018 Par Paul Cassia Les relaxes prononcées le 12 avril 2018 dans « l’affaire de Tarnac » soulignent en creux les dangers de la notion de terrorisme, en particulier dans le contexte de l’état d’urgence permanent institué par la loi du 30 octobre 2017. 17 mars 2018 Par Christian Salmon Hijab: défendre partout l’autonomie des femmes 23 févr. 2018 Par Philippe Marlière Depuis la fin des années 1980, la question du hijab a pris un tour irrationnel en France. Pour sortir de l’impasse d’un débat stérile et trompeur qui relie le port du hijab au « respect de la laïcité », pourquoi ne partirait-on pas du point de vue des femmes musulmanes ? En France, comme en Iran. La grève des cheminots qui vient! 9 mars 2018 Par Stella Montebello Depuis la publication du rapport Spinetta,commentaires,articles de presse,émissions radio,tv,relayés par la toile,se succèdent.L’essentiel de ce qui s’y raconte n’est pas bon car la plupart des médias ne jouent pas leur rôle d’information.Ils prennent position,renchérissant sur la nécessité d’en finir avec le statut des cheminots! Mais pas d'en finir avec les pannes,la vétusté du matériel........


text: La blanquette, ou blanquette de veau ou blanquette de veau à l'ancienne, est une recette de cuisine traditionnelle de cuisine française, à base de viande de veau cuite dans un bouillon avec carotte, poireau, oignon et bouquet garni, liée en sauce blanche à la crème et au beurre et aux champignons de Paris. Étymologie Le terme « blanquette » vient de la couleur blanche de la sauce blanche à la crème et au beurre. Toutes les viandes blanches (dinde, poulet, volaille, lapin, porc), mais aussi agneau, ou poisson (lotte, daurade), peuvent se préparer « en blanquette » bien que celle de veau reste une des références culinaires de la gastronomie française. Préparation La pièce de veau de lait choisie pour la blanquette est généralement du tendron, collier, poitrine, ou de l'épaule désossée. La viande découpée en morceaux est cuite à l'eau avec carotte, céleri, poireau pour former un bouillon-fond blanc de veau. La sauce est obtenue en pratiquant la liaison avec un ou plusieurs jaunes d'œufs avec le bouillon-fond blanc obtenu, et en y ajoutant de la crème fraîche. Ce plat peut être accompagné de riz, de pâtes, ou de pommes de terre. La viande, les carottes et l'accompagnement sont servis chauds, avec du persil. Elle peut être relevée par un jus de citron. La blanquette passe pour faire partie des plats mijotés meilleurs réchauffés. La blanquette de veau dans les arts Littérature Le commissaire Maigret (œuvre de l'écrivain Georges Simenon) est connu pour être un grand amateur de blanquette préparée par madame Maigret (son épouse), ainsi que le commissaire San-Antonio (œuvre de l'écrivain Frédéric Dard) qui raffole de celle préparée par sa mère. Cinéma Le nom de code retenu pour l'arrivée d'OSS 117 au Caire dans OSS 117 : Le Caire, nid d'espions est « Comment est votre blanquette ? », la réponse étant « La blanquette est bonne ». Musique En 2002 Vincent Delerm évoque, dans la chanson Tes parents, la blanquette des parents de Chloé dont ils rapportent les restes en rentrant le dimanche soir à la porte de Champerret. Notes et références Voir aussi Bibliographie Jean-Louis Flandrin, La Blanquette de veau. Histoire d’un plat bourgeois, préface et annotations de Patrick Rambourg, Paris, Jean-Paul Rocher Éditeur, 2002, 78 . Articles connexes Histoire de l'art culinaire Histoire de la cuisine française Liste de mets à base de viande Liste de mets à base de viande de bœuf Repas gastronomique des Français Vin et cuisine Liens externes . . Cuisine française Spécialité à base de viande bovine Spécialité à base de crème Vin et cuisine