Path: blob/main/documentation/content/fr/books/developers-handbook/_index.adoc
18096 views
---
title: Livre de chevet du développeur FreeBSD
authors:
- author: Le groupe du projet de documentation FreeBSD
copyright: 1995-2020 The FreeBSD Documentation Project
trademarks: ["freebsd", "apple", "ibm", "ieee", "intel", "linux", "microsoft", "opengroup", "sun", "general"]
isIndex: true
---
= Livre de chevet du développeur FreeBSD
:doctype: book
:toc: macro
:toclevels: 2
:icons: font
:sectnums:
:sectnumlevels: 6
:partnums:
:source-highlighter: rouge
:experimental:
:book: true
:pdf: false
:images-path: books/developers-handbook/
ifdef::env-beastie[]
ifdef::backend-html5[]
include::shared/authors.adoc[]
include::shared/mirrors.adoc[]
include::shared/releases.adoc[]
include::shared/attributes/attributes-{{% lang %}}.adoc[]
include::shared/{{% lang %}}/teams.adoc[]
include::shared/{{% lang %}}/mailing-lists.adoc[]
include::shared/{{% lang %}}/urls.adoc[]
:chapters-path: content/{{% lang %}}/books/developers-handbook/
endif::[]
ifdef::backend-pdf,backend-epub3[]
:chapters-path:
include::../../../../../shared/asciidoctor.adoc[]
endif::[]
endif::[]
ifndef::env-beastie[]
:chapters-path:
include::../../../../../shared/asciidoctor.adoc[]
endif::[]
[.abstract-title]
[abstract]
Résumé
Bienvenue dans le livre de chevet du développeur
Version française de Frédéric Praca <[email protected]>.
N.d.T.: La version française est publiée sur le link:https://www.FreeBSD.org/[serveur World Wide Web du groupe de traduction en langue française de la documentation de FreeBSD].
N.d.T.: Contactez la liste de diffusion du groupe d'utilisateurs francophones de FreeBSD <[email protected]> si vous voulez collaborer à la traduction.
La traduction de ce manuel est "en cours". Dans la table des matières ci-dessous:
* Les chapitres marqués de deux astérisques sont en cours de traduction.
* Les chapitres marqués de trois astérisques sont à traduire.
* L'astérisque simple est réservé aux chapitres et sections en cours de rédaction dans la version U.S.
'''
toc::[]
[[introduction]]
= Introduction
[[developmentplatform]]
== Développer sous FreeBSD
Ce document a pour but de décrire FreeBSD comme une plateforme de développement, la vision de BSD, un survol de l'architecture, l'agencement de /usr/src, l'histoire, etc.
Merci d'adopter FreeBSD comme votre plateforme de développement ! Nous espérons qu'elle ne vous laissera pas tomber.
[[bsdvision]]
== La vision BSD
[[archoverview]]
== Survol de l'architecture
[[sourcelayout]]
== L'agencement de /usr/src
Le code source complet de FreeBSD est disponible depuis notre base CVS publique. Le code source est normalement installé sous [.filename]#/usr/src# qui contient les sous-répertoires suivants.
[.informaltable]
[cols="1,1", frame="none", options="header"]
|===
| Répertoire
| Description
|[.filename]#bin/#
|Sources des fichiers de [.filename]#/bin#
|[.filename]#contrib/#
|Sources des fichiers des logiciels fournis ("contributed").
|[.filename]#crypto/#
|Sources du DES
|[.filename]#etc/#
|Sources des fichiers de [.filename]#/etc#
|[.filename]#games/#
|Sources des fichiers de [.filename]#/usr/games#
|[.filename]#gnu/#
|Utilitaires sous licence publique GNU
|[.filename]#include/#
|Sources des fichiers de [.filename]#/usr/include#
|[.filename]#kerberosIV/#
|Sources de Kerbereros version IV
|[.filename]#kerberos5/#
|Sources de Kerbereros version 5
|[.filename]#lib/#
|Sources des fichiers de [.filename]#/usr/lib#
|[.filename]#libexec/#
|Sources des fichiers de [.filename]#/usr/libexec#
|[.filename]#release/#
|Fichiers requis pour la production d'une version stable de FreeBSD
|[.filename]#sbin/#
|Sources des fichiers de [.filename]#/sbin#
|[.filename]#secure/#
|Sources de FreeSec
|[.filename]#share/#
|Sources des fichiers de [.filename]#/sbin#
|[.filename]#sys/#
|Fichiers source du noyau
|[.filename]#tools/#
|Outils utilisés pour la maintenance et les tests de FreeBSD
|[.filename]#usr.bin/#
|Sources des fichiers de [.filename]#/usr/bin#
|[.filename]#usr.sbin/#
|Sources des fichiers de [.filename]#/usr/sbin#
|===
[[Basics]]
= Les fondamentaux
include::{chapters-path}tools/chapter.adoc[leveloffset=+1]
include::{chapters-path}secure/chapter.adoc[leveloffset=+1]
[[kernel]]
= Le noyau
[[kernelhistory]]
== Histoire du noyau Unix
Un peu d'histoire sur le noyau Unix/BSD, les appels système, comment fonctionnent les processus, bloquer, planifier, les threads (noyau), le basculement de contexte, les signaux, les interruptions, les modules, etc.
include::{chapters-path}locking/chapter.adoc[leveloffset=+1]
[[memory]]
= Mémoire et mémoire virtuelle
[[virtualmemory]]
== La mémoire virtuelle
MV, gestion par page, gestion sur disque, allouer de la mémoire, tester les fuites de mémoires, mmap, vnodes, etc.
[[iosystem]]
= Système E/S (Entrées/Sorties)
[[UFS]]
== UFS
UFS, FFS, Ext2FS, JFS, inodes, mémoire tampon, mettre à jour les données d'un disque, verrouillage, metadata, soft-updates, LFS, portalfs, procfs, vnodes, partage de mémoire, objets en mémoire, TLBs, mettre en cache
[[ipc]]
= Communication InterProcessus (IPC)
[[signals]]
== Les signaux
Signaux, tubes, sémaphores, files de message, segments de mémoire partagée, ports, prises, portes
[[networking]]
= Le réseau
[[sockets]]
== Les prises
Prises, bpf, IP, TCP, UDP, ICMP, OSI, ponts, pare-feux, translation d'adresses (NAT), séparation de réseaux, etc
[[networkfs]]
= Systèmes de fichiers en réseau
[[afs]]
== AFS
AFS, NFS, SANs etc]
[[terminal]]
= Gestion du terminal
[[syscons]]
== Syscons
Syscons, tty, PCVT, console en liaison série, économiseurs d'écran, etc
[[sound]]
= Le son
[[oss]]
== OSS
OSS, formes d'ondes, etc
[[devicedrivers]]
= Pilotes de périphérique
include::{chapters-path}driverbasics/chapter.adoc[leveloffset=+1]
include::{chapters-path}pci/chapter.adoc[leveloffset=+1]
include::{chapters-path}scsi/chapter.adoc[leveloffset=+1]
include::{chapters-path}usb/chapter.adoc[leveloffset=+1]
[[newbus]]
== NewBus
Ce chapître traitera de l'architecture NewBus de FreeBSD.
[[architectures]]
= Architectures
[[ia32]]
== IA-32
Traite des spécificités de l'architecture x86 sous FreeBSD.
[[alpha]]
== Alpha
Traite des spécificités de l'architecture Alpha sous FreeBSD.
Explication des erreurs d'alignements, comment les réparer, comment les ignorer.
Exemple de code assembleur pour FreeBSD/alpha.
[[ia64]]
== IA-64
Traite des spécificités de l'architecture IA-64 sous FreeBSD.
[[debuggingpart]]
= Déverminage
[[truss]]
== Truss
diverses descriptions sur les méthodes de déverminage de certains aspects du système utilisant truss, ktrace, gdb, kgdb, etc
[[compatibility]]
= Les couches de compatibilité
[[linux]]
== Linux
Linux, SVR4, etc
[[appendices]]
[bibliography]
= Bibligraphie
:sectnums!:
== Bibliographie
[[COD,1]] [1] Dave A Patterson and John L Hennessy. Copyright(R) 1998 Morgan Kaufmann Publishers, Inc. 1-55860-428-6. Morgan Kaufmann Publishers, Inc. Computer Organization and Design. The Hardware / Software Interface. 1-2.
[[APUE, 2]] [2] W. Richard Stevens. Copyright(R) 1993 Addison Wesley Longman, Inc. 0-201-56317-7. Addison Wesley Longman, Inc. Advanced Programming in the Unix Environment. 1-2.
[[DIFOS, 3]] [3] Marshall Kirk McKusick and George Neville-Neil. Copyright(R) 2004 Addison-Wesley. 0-201-70245-2. Addison-Wesley. The Design and Implementation of the FreeBSD Operating System. 1-2.
[[Phrack, 4]] [4] Aleph One. Phrack 49; "Smashing the Stack for Fun and Profit".
[[StackGuard, 5]] [5] Chrispin Cowan, Calton Pu, and Dave Maier. StackGuard; Automatic Adaptive Detection and Prevention of Buffer-Overflow Attacks.
[[OpenBSD, 6]] [6] Todd Miller and Theo de Raadt. strlcpy and strlcat -- consistent, safe string copy and concatenation.