Date: Sat, 25 Aug 2012 19:51:07 +0000 (UTC) From: Marc Fonvieille <blackend@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r39445 - head/fr_FR.ISO8859-1/articles/building-products Message-ID: <201208251951.q7PJp79A088037@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: blackend Date: Sat Aug 25 19:51:06 2012 New Revision: 39445 URL: http://svn.freebsd.org/changeset/doc/39445 Log: Add new translated article (building-products) PR: docs/161804 Submitted by: Frederic Culot <culot@FreeBSD.org> Added: head/fr_FR.ISO8859-1/articles/building-products/ head/fr_FR.ISO8859-1/articles/building-products/Makefile (contents, props changed) head/fr_FR.ISO8859-1/articles/building-products/article.sgml (contents, props changed) Added: head/fr_FR.ISO8859-1/articles/building-products/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/fr_FR.ISO8859-1/articles/building-products/Makefile Sat Aug 25 19:51:06 2012 (r39445) @@ -0,0 +1,20 @@ +# +# $FreeBSD$ +# +# Article: Building products using FreeBSD + +DOC?= article + +FORMATS?= html + +INSTALL_COMPRESSED?= gz +INSTALL_ONLY_COMPRESSED?= + +SRCS= article.sgml + +IMAGES_EN= freebsd-branches.pic freebsd-organization.pic + +URL_RELPREFIX?= ../../../.. +DOC_PREFIX?= ${.CURDIR}/../../.. + +.include "${DOC_PREFIX}/share/mk/doc.project.mk" Added: head/fr_FR.ISO8859-1/articles/building-products/article.sgml ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/fr_FR.ISO8859-1/articles/building-products/article.sgml Sat Aug 25 19:51:06 2012 (r39445) @@ -0,0 +1,1303 @@ +<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ +<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> %man; +<!ENTITY % freebsd PUBLIC "-//FreeBSD//ENTITIES DocBook Miscellaneous FreeBSD Entities//EN"> %freebsd; +<!ENTITY % urls.ent PUBLIC "-//FreeBSD//ENTITIES DocBook URL Entities//EN"> %urls.ent; +<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES Common Document URL Entities//FR"> %urls; +<!ENTITY % abstract PUBLIC "-//FreeBSD//ENTITIES DocBook Abstract Entities//FR"> %abstract; +<!ENTITY % artheader PUBLIC "-//FreeBSD//ENTITIES DocBook ArtHeader Entities//FR"> %artheader; +<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//FR"> %translators; +<!ENTITY % authors PUBLIC "-//FreeBSD//ENTITIES DocBook Author Entities//EN"> %authors; +<!ENTITY % mailing-lists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//FR"> %mailing-lists; +<!ENTITY % trademarks PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//FR">%trademarks; +<!ENTITY % not.published "IGNORE"> +]> + +<!-- + The FreeBSD Documentation Project + The FreeBSD French Documentation Project + Original revision: 39444 +--> + +<article lang="fr"> + <articleinfo> + <title>Construire des produits avec &os;</title> + + <authorgroup> + <author> + <firstname>Joseph</firstname> + <surname>Koshy</surname> + <affiliation> + <orgname>Le Projet &os;</orgname> + <address><email>jkoshy@FreeBSD.org</email></address> + </affiliation> + </author> + </authorgroup> + + <pubdate>$FreeBSD$</pubdate> + + <legalnotice id="trademarks" role="trademarks"> + &tm-attrib.freebsd; + &tm-attrib.general; + </legalnotice> + + <abstract> + <title>Résumé</title> + + <para>Le projet &os; est un projet international, collaboratif + et basé sur le volontariat, qui développe un + système d'exploitation portable et de grande + qualité. Le projet &os; distribue le code source de + ses produits avec une licence libérale dans l'intention + d'encourager l'utilisation de son code. Collaborer avec le + project &os; peut aider les organisations à + réduire leur délai de mise sur le marché, + leurs coûts de développement, et améliorer + la qualité de leurs produits.</para> + + <para>Cet article se penche sur les questions relatives à + l'utilisation du code de &os; dans les appareils informatiques + et les logiciels. Il met en évidence les + caractéristiques de &os; qui en font un excellent + support pour le développement de produits. Cet article + conclut en suggérant quelques <quote>bonnes + pratiques</quote> pour les organisations qui collaborent avec + le projet &os;.</para> + &trans.a.culot; + </abstract> + </articleinfo> + + <sect1 id="introduction"> + <title>Introduction</title> + + <para>&os; est reconnu aujourd'hui comme un système + d'exploitation hautes performances pour serveurs. Il est + déployé sur des millions de serveurs web et de + machines connectées à internet de part le monde. + Le code de &os; fait aussi partie intégrante de beaucoup + de produits depuis des appareils comme les routeurs + réseau, pare-feux, et dispositifs de stockage, jusqu'aux + ordinateurs personnels. Des parties de &os; ont + également été utilisées dans des + produits commerciaux (voir <xref + linkend="freebsd-intro">).</para> + + <para>Dans cet article nous nous intéressons au <ulink + url="&url.base;/">projet &os;</ulink> en tant que ressource pour + la conception logicielle—une collection de briques de base + et de processus que vous pouvez utiliser pour construire + d'autres produits.</para> + + <para>Bien que les sources de &os; soient distribuées + librement au public, les organisations ont besoin de + <emphasis>collaborer</emphasis> avec le projet pour pouvoir + pleinement apprécier les bénéfices de ce + travail. Dans les sections suivantes de cet article nous + présentons les moyens efficaces qui existent afin de + collaborer avec le projet, ainsi que les pièges à + éviter.</para> + + <formalpara> + <title>Avertissement au lecteur</title> + + <para>L'auteur pense que les caractéristiques du Projet + &os; telles que décrites dans cet article sont en + grande partie vraies au moment où cet article a + été conçu et rédigé (2005). + Cependant, le lecteur doit garder en tête que les + pratiques et processus utilisés par les + communautés open-source peuvent changer au cours du + temps, et que les informations contenues dans cet article + devraient donc être considérées comme + étant indicatives plutôt que + prescriptives.</para> + </formalpara> + + <sect2> + <title>Public visé</title> + + <para>Ce document pourrait présenter un + intérêt pour les groupes de personnes + suivants:</para> + + <itemizedlist> + <listitem> + <simpara>Les preneurs de décisions dans les + entreprises qui recherchent à améliorer la + qualité de leurs produits, à réduire + leur délai de mise sur le marché, et + réduire leurs coûts de développement sur + le long terme.</simpara> + </listitem> + + <listitem> + <simpara>Les consultants en technologie à la + recherche de bonnes pratiques pour tirer profit de + l'<quote>open-source</quote>.</simpara> + </listitem> + + <listitem> + <simpara>Les spécialistes de l'industrie + intéressés par la compréhension de la + dynamique des projets open-source.</simpara> + </listitem> + + <listitem> + <simpara>Les développeurs logiciels cherchant + à utiliser &os; et désirant contribuer au + projet en retour.</simpara> + </listitem> + </itemizedlist> + </sect2> + + <sect2> + <title>Objectifs de l'article</title> + + <para>La lecture de cet article devrait vous apporter:</para> + + <itemizedlist> + <listitem> + <simpara>Une compréhension des buts du Projet &os; + ainsi que de la structure de son organisation.</simpara> + </listitem> + + <listitem> + <simpara>Un aperçu des technologies disponibles dans + le projet.</simpara> + </listitem> + + <listitem> + <simpara>Une compréhension de son modèle de + développement et de ses processus + d'ingénierie.</simpara> + </listitem> + + <listitem> + <simpara>Une compréhension des différences + entre les processus de développement conventionnels + que l'on retrouve chez les éditeurs de logiciels et + ceux utilisés par le projet &os;.</simpara> + </listitem> + + <listitem> + <simpara>Une sensibilisation aux canaux de communication + utilisés par le projet et le niveau de transparence + auquel vous pouvez vous attendre.</simpara> + </listitem> + + <listitem> + <simpara>Une connaissance des moyens optimaux qui existent + pour travailler avec le projet—comment + réduire au maximum les coûts de + développement, améliorer le délai de + mise sur le marché, gérer les failles de + sécurité, et préserver la + compatibilité future de votre produit avec les + évolutions du projet &os;.</simpara> + </listitem> + </itemizedlist> + </sect2> + + <sect2> + <title>Structure de l'article</title> + + <para>La suite de l'article est structurée de la + façon suivante:</para> + + <itemizedlist> + <listitem> + <simpara><xref linkend="freebsd-intro"> introduit le projet + &os;, présente sa structure organisationnelle, ses + technologies clés et ses processus de + développement.</simpara> + </listitem> + + <listitem> + <simpara><xref linkend="freebsd-collaboration"> décrit + les moyens de collaborer avec le projet &os;. Les + pièges les plus courants rencontrés par les + sociétés travaillant avec les projets + basés sur le volontariat comme &os; sont + également présentés.</simpara> + </listitem> + + <listitem> + <simpara><xref linkend="conclusion"> conclut.</simpara> + </listitem> + </itemizedlist> + </sect2> + </sect1> + + <sect1 id="freebsd-intro"> + <title>&os; en tant que brique constitutive</title> + + <para>&os; représente une excellente base sur laquelle + construire des produits:</para> + + <itemizedlist> + <listitem> + <simpara>Le source code de &os; est distribué avec une + licence BSD libérale qui facilite grandement son + utilisation dans les produits commerciaux + <citation>Mon2005</citation>.</simpara> + </listitem> + + <listitem> + <simpara>Le projet &os; a d'excellentes pratiques de + développement qui peuvent être mises à + profit.</simpara> + </listitem> + + <listitem> + <simpara>Le projet offre une transparence exceptionnelle eu + égard à son fonctionnement, permettant aux + companies utilisant son code de planifier efficacement + l'avenir.</simpara> + </listitem> + + <listitem> + <simpara>La culture du projet &os;, héritée du + Groupe de Recherche sur la Science Informatique de + l'Université de Berkeley en Californie + <citation>McKu1999-1</citation>, encourage le travail de + grande qualité. Certaines fonctionnalités de + &os; sont considérés comme des + références.</simpara> + </listitem> + </itemizedlist> + + <simpara><citation>GoldGab2005</citation> examine avec plus de + détails les raisons commerciales qui justifient + l'utilisation de l'open-source. Les bénéfices que + les sociétés peuvent tirer de l'utilisation de + composants &os; dans leurs produits comprennent un délai + réduit de mise sur le marché, ainsi qu'une + réduction des coûts et des risques liés au + développement.</simpara> + + <sect2> + <title>Construire avec &os;</title> + + <simpara>Voici quelques utilisations que des + sociétés ont faites de &os;:</simpara> + + <itemizedlist> + <listitem> + <simpara>Comme source de code testé pour des + bibliothèques ou utilitaires.</simpara> + + <simpara>En étant <quote>en aval</quote> du projet, + les organisations tirent profit des nouvelles + fonctionnalités, corrections de bogues et tests + dont le code en amont bénéficie.</simpara> + </listitem> + + <listitem> + <simpara>En tant que système d'exploitation + embarqué (par exemple, pour un routeur OEM ou un + appareil servant de pare-feu). Dans ce modèle, les + organisations utilisent un noyau &os; adapté ainsi + qu'un ensemble de logiciels appropriés + conjointement avec une couche propriétaire de + gestion de leur appareil. Les OEMs + bénéficient des nouveaux supports + matériels ajoutés par le projet &os; en + amont, ainsi que des tests effectués sur le + système de base.</simpara> + + <simpara>&os; est diffusé avec un environnement de + développement auto-hébergé qui permet + de créer facilement de telles + configurations.</simpara> + </listitem> + + <listitem> + <simpara>En tant qu'environnement compatible &unix; pour les + fonctions de gestion des environnements de stockage et les + appareils réseau, fonctionnant sur un + <quote>serveur lame</quote> + séparé.</simpara> + + <simpara>&os; fournit les outils nécessaires pour + créer des systèmes d'exploitation + dédiés et des images d'applications. Son + implémentation basée sur une API BSD &unix; + est mature et testée. &os; peut aussi fournir un + environnement de développement croisé stable + pour les autres composants de l'appareil final.</simpara> + </listitem> + + <listitem> + <simpara>En tant que moyen d'obtenir une large base de tests + et du support de la part d'une équipe de + développeurs internationale pour tout ce qui a + trait à la <quote>propriété + intellectuelle</quote> non critique.</simpara> + + <simpara>Dans ce modèle, les organisations apportent + un ensemble d'infrastructures utiles au projet &os; (voir + par exemple &man.netgraph.3;). L'importante exposition + que le code acquiert aide pour l'identification rapide de + problèmes de performance et de bogues. + L'implication d'excellents développeurs apporte + aussi des ajouts utiles à la base existante, ce + dont l'organisation contributrice bénéficie + également.</simpara> + </listitem> + + <listitem> + <simpara>En tant qu'environnement de développement + autorisant le développement croisé pour des + systèmes embarqués tels que <ulink + url="http://www.rtems.com/">RTEMS</ulink> et <ulink + url="http://ecos.sourceware.org/">eCOS</ulink>.</simpara> + + <simpara>Il existe une pléthore d'environnements de + développement très complets dans le + catalogue des &os.numports; applications portées et + empaquetées pour &os;.</simpara> + </listitem> + + <listitem> + <simpara>Comme moyen de fournir une API Unix dans un + système propriétaire par ailleurs, + augmentant ainsi son attractivité pour les + développeurs d'applications.</simpara> + + <simpara>Dans ce cas des parties du noyau &os; et des + applications sont <quote>portées</quote> pour + tourner conjointement avec d'autres tâches du + système d'exploitation propriétaire. La + disponibilité de l'implémentation d'une API + <trademark>Unix</trademark> stable et bien testée + peut réduire l'effort nécessaire pour porter + des applications populaires sur le système + propriétaire. Comme &os; est fournit avec une + documentation de grande qualité concernant ses + mécanismes internes et assure une gestion efficace + des vulnérabilités et des cycles de + développement, les coûts pour se maintenir + à jour sont bas.</simpara> + </listitem> + </itemizedlist> + </sect2> + + <sect2 id="freebsd-technologies"> + <title>Technologies</title> + + <para>Le projet &os; supporte un grand nombre de technologies + dont une sélection est présentée + ci-dessous:</para> + + <itemizedlist> + <listitem> + <simpara>Un système complet qui peut faire de + l'auto-hébergement croisé pour les + architectures suivantes: alpha (jusqu'à &os; + version 6.X), amd64, ia64, i386, sparc64, powerpc (voir + &man.build.7;).</simpara> + </listitem> + + <listitem> + <simpara>Le support pour les technologies, protocoles et standards + suivants: <!-- Keyword soup. Urk. --> + <acronym>ATA</acronym>, <acronym>ATAPI</acronym>, + <acronym>ATM</acronym>, <trademark>Bluetooth</trademark>, + <acronym>CAM</acronym>, <trademark>CardBus</trademark>, + <acronym>DHCP</acronym>, <acronym>DNS</acronym>, + <trademark>EISA</trademark>, + <trademark>Ethernet</trademark>, <acronym>FDDI</acronym>, + Fibre Channel, <acronym>GPIB</acronym>, IEEE 1394, IPv4, + IPv6, <acronym>IPSEC</acronym>, + <trademark>IPX</trademark>, <acronym>ISDN</acronym>, + <acronym>MAC</acronym>, <acronym>NIS</acronym>, + <acronym>NFS</acronym>, OpenSSH, <acronym>OPIE</acronym>, + <acronym>PAM</acronym>, <trademark>PCI</trademark>, + <acronym>PCMCIA</acronym>, <trademark>POSIX</trademark>, + <acronym>PnP</acronym>, <acronym>RAID</acronym>, + <acronym>RPC</acronym>, <acronym>SATA</acronym>, + <acronym>SCSI</acronym>, <acronym>SMB</acronym>, + <acronym>TCP</acronym>, <acronym>USB</acronym>, + <acronym>VESA</acronym>, <acronym>VLAN</acronym>, + <acronym>VLB</acronym>, + <trademark>WebNFS</trademark>.</simpara> + </listitem> + + <listitem> + <simpara>Un noyau modulaire permettant le traitement + symétrique multiprocesseurs, avec chargement + possible de modules noyau et un système de + configuration facile à utiliser.</simpara> + </listitem> + + <listitem> + <simpara>Le support pour l'émulation de + <trademark>Linux</trademark> et des binaires SVR4 à + vitesse quasi-native et le support pour les pilotes + réseau <trademark>Windows</trademark> + (<acronym>NDIS</acronym>).</simpara> + </listitem> + + <listitem> + <simpara>Des librairies pour de nombreuses tâches + liées à la programmation: archivage, support + FTP et HTTP, support des processus légers en plus + d'un environnement de programmation + <trademark>POSIX</trademark>.</simpara> + </listitem> + + <listitem> + <simpara>Des dispositifs de sécurité + avancés : Mandatory Access Control (&man.mac.9;), + jails (&man.jail.2;), <acronym>ACL</acronym>s, ainsi que + le support d'un dispositif cryptographique au niveau + noyau.</simpara> + </listitem> + + <listitem> + <simpara>Des caractéristiques réseau + avancées : dispositifs pares-feu, gestion de Qos, + communications TCP/IP hautes performances avec support de + nombreuses caractéristiques + avancées.</simpara> + + <simpara>Le système Netgraph (&man.netgraph.4;) + présent dans le noyau &os; permet à des + modules noyau de gestion des communications réseau + d'être interconnectés de manière + flexible.</simpara> + </listitem> + + <listitem> + <simpara>Le support pour des technologies de stockage + avancées: fibre, <acronym>SCSI</acronym>, RAID + logiciel et matériel, <acronym>ATA</acronym> et + <acronym>SATA</acronym>.</simpara> + + <simpara>&os; est capable de gérer plusieurs + systèmes de fichiers différents, et son + support natif du système de fichiers UFS2 autorise + les <foreignphrase>soft updates</foreignphrase>, les + sauvegardes instantanées, ainsi que les + systèmes de fichiers très volumineux (16TB + par système) + <citation>McKu1999</citation>.</simpara> + + <simpara>Le système <acronym>GEOM</acronym> + (&man.geom.4;) présent dans le noyau &os; permet de + composer de manière flexible des modules noyau + dédiés à la gestion du + stockage.</simpara> + </listitem> + + <listitem> + <simpara>L'accès à plus de &os.numports; + applications portées, qu'elles soient commerciales + ou open-source, gérées grâce à + la collection des portages de &os;.</simpara> + </listitem> + </itemizedlist> + </sect2> + + <sect2> + <title>Structure organisationnelle</title> + + <para>La structure organisationnelle de &os; n'est pas + hiérarchique.</para> + + <para>Il existe essentiellement deux types de contributeurs + à &os;, les utilisateurs de &os;, et les + développeurs qui ont les droits en écriture + (connus sous le terme <firstterm>committers</firstterm> dans + notre jargon) et peuvent modifier les sources.</para> + + <para>Il existe plusieurs milliers de contributeurs dans le + premier groupe, la vaste majorité des contributions + à &os; proviennent de personnes faisant partie de ce + groupe. Les droits de <foreignphrase>commit</foreignphrase> + (droits d'accès en écriture) sont + accordés aux personnes qui contribuent au projet de + manière récurrente. Ces droits viennent avec + des responsabilités supplémentaires, et les + nouveaux <foreignphrase>committers</foreignphrase> se voient + attribuer des mentors pour les aider à apprendre les + bases.</para> + + <figure> + <title>L'organisation &os;</title> + <mediaobject> + <imageobject> + <imagedata fileref="freebsd-organization" format="PIC"> + </imageobject> + </mediaobject> + </figure> + + <para>La résolution des conflits est assurée + par une équipe (<quote>Core Team</quote>) de neuf + membres qui est élue par le groupe des + <foreignphrase>committers</foreignphrase>.</para> + + <para>Les <foreignphrase>committers</foreignphrase> ne sont pas + employés par &os;. Il est exigé de la part des + <foreignphrase>committers</foreignphrase> qu'ils prennent la + responsabilité des changements qu'ils introduisent dans + le code. Le <ulink + url="&url.articles.committers-guide;">Guide du Committer + &os;</ulink> <citation>ComGuide</citation> documente les + règles et responsabilités des + <foreignphrase>committers</foreignphrase>.</para> + + <para>Le modèle de projet de &os; est examiné en + détails dans <citation>Nik2005</citation>.</para> + </sect2> + + <sect2> + <title>Les processus de développement des versions + de &os;</title> + + <para>Les processus de développement des versions de + &os; jouent un rôle majeur en assurant que les versions + qui sont délivrées sont de grande + qualité. À n'importe quel moment que l'on + considère, les volontaires de &os; assurent le + développement de plusieurs branches de code (<xref + linkend="fig-freebsd-branches">):</para> + + <itemizedlist> + <listitem> + <simpara>Les nouvelles fonctionnalités et le code + expérimental sont incorporés sur la branche + de développement, aussi connue sous le nom de + branche <firstterm>-CURRENT</firstterm>.</simpara> + </listitem> + + <listitem> + <simpara>Les branches <firstterm>-STABLE</firstterm> + représentent les lignes de code qui sont reprises + de la HEAD à des intervalles de temps + réguliers. Seul le code testé est + autorisé sur une branche -STABLE. Les nouvelles + fonctionnalités sont autorisées une fois + qu'elles ont été testées et + stabilisées sur la branche -CURRENT.</simpara> + </listitem> + + <listitem> + <simpara>Les branches <firstterm>-RELEASE</firstterm> + sont maintenues par l'équipe sécurité + de &os;. Seuls les correctifs de bogues pour les + problèmes critiques sont autorisés sur les + branches -RELEASE.</simpara> + </listitem> + </itemizedlist> + + <figure id="fig-freebsd-branches"> + <title>Les branches &os;</title> + <mediaobject> + <imageobject> + <imagedata fileref="freebsd-branches" format="EPS"> + </imageobject> + </mediaobject> + </figure> + + <para>Les lignes de code sont maintenues aussi longtemps qu'il + existe des utilisateurs et des développeurs qui s'y + intéressent.</para> + + <para>Les architectures machine sont groupées en + <quote>niveaux</quote>. Les architectures de premier niveau + (<firstterm>Tier 1</firstterm>) sont entièrement + supportées par l'équipe en charge des versions + et l'équipe sécurité. Les architectures + de second niveau (<firstterm>Tier 2</firstterm>) sont + supportées dans la mesure du possible, et les + architectures expérimentales représentent le + <firstterm>Tier 3</firstterm>. La liste des <ulink + url="&url.articles.committers-guide;/archs.html"> + architectures supportées</ulink> est incluse dans la + documentation &os;.</para> + + <para>L'équipe en charge des versions publie une <ulink + url="&url.base;/releng/">feuille de route</ulink> pour les + futures versions de &os; sur la page web du projet. Les dates + qui sont mentionnées sur la feuille de route ne sont + pas des dates butoirs: les versions de &os; sont + délivrées lorsque son code et sa documentation + sont prêts.</para> + + <para>Les processus de développement des versions de &os; + sont décrits dans + <citation>RelEngDoc</citation>.</para> + </sect2> + </sect1> + + <sect1 id="freebsd-collaboration"> + <title>Collaborer avec &os;</title> + + <para>Les projets Open-source tels que &os; offrent un code de + très grande qualité <citation>Cov2005</citation>. + Des études ont examiné les effets de la + disponibilité du code source sur le développement + logiciel <citation>Com2004</citation>.</para> + + <para>Alors que l'accès à du code source de + qualité peut réduire les coûts initiaux de + développement, les coûts liés à la + gestion des changements deviennent prédominants par la + suite. Comme les environnements informatiques changent au fil + du temps et que de nouvelles failles de sécurité + sont découvertes, votre produit lui aussi a besoin de + changements et d'adaptations. Utiliser du code open-source se + conçoit plus comme un processus <emphasis>continu dans le + temps</emphasis> que comme quelque chose de ponctuel. Les + meilleurs projets avec lesquels collaborer sont ceux qui sont + <emphasis>actifs</emphasis>, c'est-à-dire ceux qui ont + une communauté active, des objectifs clairs et des + méthodes de travail transparentes.</para> + + <itemizedlist> + <listitem> + <simpara>&os; possède une communauté + active de développeurs gravitant autour du projet. + Au moment de l'écriture de cet article, il existe + plusieurs milliers de contributeurs vivant sur tous les + continents peuplés de la planète et plus de + 300 personnes possédant les droits d'accès aux + dépôts des sources du projet.</simpara> + </listitem> + + <listitem> + <simpara>Les objectifs du projet &os; sont + <citation>Hub1994</citation>:</simpara> + + <itemizedlist spacing="compact"> + <listitem> + <simpara>De développer un système + d'exploitation de grande qualité pour les + architectures informatiques populaires, et</simpara> + </listitem> + <listitem> + <simpara>Mettre notre travail à la disposition de + tous sous couvert d'une licence libérale.</simpara> + </listitem> + </itemizedlist> + </listitem> + + <listitem> + <simpara>&os; bénéficie d'une culture ouverte et + transparente. Quasiment toutes les discussions au sein du + projet se font par courrier électronique, sur les + <ulink url="&a.mailman.listinfo;">listes publiques</ulink> + qui sont aussi archivées pour la + postérité. Les règles et pratiques du + projet sont <ulink url="&url.base;/internal/policies.html"> + documentées</ulink> et maintenues en utilisant un + système de gestion de versions. Participer au projet + est ouvert à tous.</simpara> + </listitem> + </itemizedlist> + + <sect2 id="freebsd-org"> + <title>Comprendre la culture &os;</title> + + <para>Afin de pouvoir travailler de manière efficace avec + le projet &os;, vous devez comprendre la culture qui + règne au sein du projet.</para> + + <para>Les projets menés par des volontaires fonctionnent + avec des règles différentes de celles + utilisées par des organisations commerciales. Une des + erreurs récurrentes faite par les entreprises + lorsqu'elles s'aventurent dans le monde de l'open-source est + de sous-estimer ces différences.</para> + + <!-- XXX using <formalpara> constructs is clunky, but I like using + <variablelist> even less --> + <formalpara> + <title>Motivation</title> + + <para>La plupart des contributions à &os; sont faites + de manière volontaire et aucune rétribution + financière n'entre en jeu. Les facteurs qui motivent + les contributeurs sont complexes, et parmi ceux-ci on peut + citer l'altruisme ou un intérêt pour + résoudre les genres de problèmes que &os; + tente de résoudre. Dans cette environnement, + <quote>l'élégance n'est jamais + optionnelle</quote> <citation>Nor1993</citation>.</para> + </formalpara> + + <formalpara> + <title>La Vision à Long Terme</title> + + <para>Les origines de &os; remontent à presque vingt + ans dans le passé avec le travail effectué au + Groupe de Recherche en Science Informatique (CSRG) de + l'Université de Berkeley en Californie.<footnote> + <simpara>Le <ulink + url="http://cvsweb.freebsd.org/"> dépôt + des sources</ulink> de &os; contient l'historique du + projet depuis sa création, et il existe des + <ulink + url="http://www.mckusick.com/csrg/">CDROMs</ulink> qui + contiennent du code plus ancien en provenance du + CSRG.</simpara> + </footnote>Certains des développeurs originaux + du CSRG sont toujours associés au projet.</para> + </formalpara> + + <para>Le projet met l'accent sur les perspectives à long + terme <citation>Nor2001</citation>. Un acronyme + fréquemment rencontré au sein du projet est + <acronym>DTRT</acronym> qui signifie <quote>Do The Right + Thing</quote> (Faites les Choses Correctement).</para> + + <formalpara> + <title>Les Processus de Développement</title> + + <para>Les programmes informatiques sont des outils de + communication: à un certain niveau les programmeurs + communiquent leurs intentions, en utilisant une notation + précise, à un outil (un compilateur) qui + traduit ces instructions en code exécutable. + À un autre niveau, la même notation est + utilisée entre deux programmeurs pour communiquer + leurs intentions.</para> + </formalpara> + + <para>Les spécifications formelles et les documents + d'architecture sont rarement utilisés dans le projet. + Du code clair et bien écrit ainsi que des rapports de + changements (<xref linkend="fig-change-log">) eux aussi bien + écrits sont utilisés à la place. Le + développement de &os; commence par <quote>une + ébauche de consensus et en faisant tourner du + code</quote> <citation>Carp1996</citation>.</para> + + <figure id="fig-change-log"> + <title>Un example de rapport de modification</title> + + <programlisting> +bde 2005-10-29 16:34:50 UTC + + FreeBSD src repository + + Modified files: + lib/msun/src e_rem_pio2f.c + Log: + Use double precision to simplify and optimize arg reduction for small + and medium size args too: instead of conditionally subtracting a float + 17+24, 17+17+24 or 17+17+17+24 bit approximation to pi/2, always + subtract a double 33+53 bit one. The float version is now closer to + the double version than to old versions of itself — it uses the same + 33+53 bit approximation as the simplest cases in the double version, + and where the float version had to switch to the slow general case at + |x| == 2^7*pi/2, it now switches at |x| == 2^19*pi/2 the same as the + double version. + + This speeds up arg reduction by a factor of 2 for |x| between 3*pi/4 and + 2^7*pi/4, and by a factor of 7 for |x| between 2^7*pi/4 and 2^19*pi/4. + + Revision Changes Path + 1.14 +22 -97 src/lib/msun/src/e_rem_pio2f.c + </programlisting> + </figure> + + <simpara>La communication entre programmeurs est + facilitée par l'utilisation d'un standard commun + concernant le code &man.style.9;.</simpara> + + <formalpara> + <title>Les canaux de communication</title> + + <para>Les contributeurs &os; sont répartis dans le + monde entier. Le courrier électronique (et dans une + moindre mesure, l'IRC) est le moyen de communication + prépondérant au sein du projet.</para> + </formalpara> + </sect2> + + <sect2> + <title>Les meilleures pratiques pour collaborer avec le projet + &os;</title> + + <para>Nous nous intéressons maintenant à quelques + bonnes pratiques utiles pour tirer profit au maximum de + l'utilisation de &os; pour le développement de + produits.</para> + + <variablelist> + <varlistentry> + <term>Plan à long terme</term> + + <listitem> + <para>Mettre en place des processus qui simplifient le + suivi du développement de &os;. Par + example:</para> + + <formalpara> + <title>Suivre les changements dans le code source de + &os;</title> + + <para>Le projet rend la copie de son dépôt + CVS aisée grâce à l'utilisation de + <ulink url="&url.articles.cvsup-advanced;"><!-- + --><application>CVSup</application></ulink>. Avoir + l'historique complet des sources est utile lors du + déboguage de problèmes complexes et + offre des indications utiles sur les intentions des + développeurs. Utilisez un système de + contrôle de sources efficace qui vous permette + de facilement fusionner les changements entre le code + &os; et votre propre code.</para> + </formalpara> + + <para>La <xref linkend="fig-cvs-annotate"> montre une + partie d'un listing annoté du fichier dont le + rapport de changement de la <xref + linkend="fig-change-log"> fait référence. + L'origine de chacune des lignes du code source est + clairement affichée. Les listings annotés + montrant l'historique de chacun des fichiers faisant + partie de &os; sont <ulink + url="http://cvsweb.freebsd.org/">disponibles sur + Internet</ulink>.</para> + + <figure id="fig-cvs-annotate"> + <title>Un listing annoté + généré par <command>cvs + annotate</command></title> + + <programlisting> +#LINE #REV #WHO #DATE #TEXT + +62 1.1 (jkh 19-Aug-94): int32_t __ieee754_rem_pio2f(float x, float *y) +63 1.1 (jkh 19-Aug-94): { +64 1.14 (bde 29-Oct-05): double z,w,t,r,fn; +65 1.13 (bde 29-Oct-05): double tx[3]; +66 1.14 (bde 29-Oct-05): int32_t e0,i,nx,n,ix,hx; +67 1.1 (jkh 19-Aug-94): +68 1.1 (jkh 19-Aug-94): GET_FLOAT_WORD(hx,x); +69 1.1 (jkh 19-Aug-94): ix = hx&0x7fffffff; +70 1.1 (jkh 19-Aug-94): if(ix<=0x3f490fd8) /* |x| ~<= pi/4 , no need for reduction */ +71 1.1 (jkh 19-Aug-94): {y[0] = x; y[1] = 0; return 0;} +72 1.14 (bde 29-Oct-05): /* 33+53 bit pi is good enough for special and medium size cases */ +73 1.2 (bde 07-Apr-95): if(ix<0x4016cbe4) { /* |x| < 3pi/4, special case with n=+-1 */ +74 1.14 (bde 29-Oct-05): if(hx>0) { +75 1.15 (bde 06-Nov-05): z = x - pio2; +76 1.15 (bde 06-Nov-05): n = 1; +77 1.15 (bde 06-Nov-05): } else { +78 1.15 (bde 06-Nov-05): z = x + pio2; +79 1.15 (bde 06-Nov-05): n = 3; +80 1.9 (bde 08-Oct-05): } +81 1.15 (bde 06-Nov-05): y[0] = z; +82 1.15 (bde 06-Nov-05): y[1] = z - y[0]; +83 1.15 (bde 06-Nov-05): return n; +84 1.15 (bde 06-Nov-05): } +85 1.15 (bde 06-Nov-05): if(ix<0x407b53d1) { /* |x| < 5*pi/4, special case with n=+-2 */ + </programlisting> + </figure> + + <formalpara> + <title>Utilisez un observateur</title> + + <para>Nommez un <firstterm>observateur</firstterm> pour + surveiller les développements de &os;, pour + déceler les changements qui pourraient + potentiellement impacter vos produits.</para> + </formalpara> + + <formalpara> + <title>Remontez les bogues en amont</title> + + <para>Si vous détectez un bogue dans le code + &os; que vous utilisez, remplissez un <ulink + url="&url.base;/send-pr.html">rapport de + bogue</ulink>. Cette étape permet de faire en + sorte que vous n'ayez pas à corriger le + même bogue la prochaine fois que vous + récupérerez les sources en amont.</para> + </formalpara> + </listitem> + </varlistentry> + + <varlistentry> + <term>Tirez profit des efforts portés sur la gestion + des versions</term> + + <listitem> + <simpara>Utilisez du code d'une branche de + développement -STABLE de &os;. Ces branches de + développement sont officiellement + supportées par les équipes en charge des + versions et les équipes sécurité de + &os; et sont constituées de code testé. + </simpara> + </listitem> + </varlistentry> + + <varlistentry> + <term>Donnez du code pour réduire les + coûts</term> + + <listitem> + <simpara>La majeure partie des coûts associés + au développement est liée à la + maintenance. En donnant du code non critique au projet, + vous bénéficiez du fait que votre code + aura une diffusion bien plus importante que celle qu'il + aurait eu sans ça. Ceci amène à ce + que plus de bogues et de failles de + sécurité soient éliminés et + que les problèmes de performance soient + identifiés et résolus. + </simpara> + </listitem> + </varlistentry> + + <varlistentry> + <term>Recevez un soutien efficace</term> + + <listitem> + <simpara>Pour les produits avec des dates butoirs + rapprochées, il est recommandé d'embaucher + ou de s'attacher les services d'un développeur ou + d'une firme qui a de l'expérience avec &os;. La + &a.jobs est un canal de communication utile si vous + êtes à la recherche de talents dans le + domaine. Le projet &os; maintient une <ulink + url="&url.base;/commercial/consult_bycat.html"> liste + des consultants et des firmes de consulting</ulink> + assurant des travaux liés à &os;. Le + <ulink url="http://www.bsdcertification.org/">Groupe de + Certification &os;</ulink> propose des certifications + pour la majorité des systèmes + d'exploitation dérivés de BSD.</simpara> *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201208251951.q7PJp79A088037>