<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.dolibarr.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Raphaelb</id>
	<title>Dolibarr ERP CRM Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.dolibarr.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Raphaelb"/>
	<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php/Special:Contributions/Raphaelb"/>
	<updated>2026-10-30T21:38:18Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=FAQ_D%C3%A9veloppeur&amp;diff=1997</id>
		<title>FAQ Développeur</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=FAQ_D%C3%A9veloppeur&amp;diff=1997"/>
		<updated>2008-06-30T09:44:11Z</updated>

		<summary type="html">&lt;p&gt;Raphaelb: /* Récupérer/mettre à jour la version CVS développeur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Récupérer/mettre à jour la version CVS développeur ==&lt;br /&gt;
&#039;&#039;&#039;Effectuer une sauvegarde de ses données et de sa configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Utilisation du CVS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La première opération consiste à récupérer les dernières versions des sources CVS.&lt;br /&gt;
Pour cela, voir la [http://www.dolibarr.fr/component/option,com_docman/task,cat_view/gid,64/Itemid,36/lang,fr/ Version CVS du jour].&lt;br /&gt;
Les nouveaux fichiers doivent écraser les anciens.&lt;br /&gt;
&lt;br /&gt;
Pour récupérer la dernière version CVS, vous pouvez aussi directement utiliser [http://savannah.nongnu.org/cvs/?group=dolibarr le serveur CVS en mode anonyme], si vous disposez d&#039;un client CVS (commande cvs sous linux, ou TortoiseCVS par exemple sous windows)&lt;br /&gt;
La commande script permettant de récupérer un snapshot intégral (sans suivi cvs) dans le répertoire courrant est:&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
 export CVSROOT&lt;br /&gt;
 cvs -q export -r HEAD -d ./ dolibarr/&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
Pour récupérer uniquement les 3 dossiers principaux de Dolibarr:&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
 export CVSROOT&lt;br /&gt;
 cvs -q export -r HEAD -d ./htdocs dolibarr/htdocs&lt;br /&gt;
 cvs -q export -r HEAD -d ./mysql dolibarr/mysql&lt;br /&gt;
 cvs -q export -r HEAD -d ./external-libs dolibarr/external-libs&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La commande permettant de mettre à jour localement la copie de travail CVS :&lt;br /&gt;
&#039;&#039;Sous linux (script shell):&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
 export CVSROOT&lt;br /&gt;
 cvs -q update -P -d&lt;br /&gt;
Sous Windows avec Tortoise cvs&lt;br /&gt;
 &amp;quot;C:\Program Files\CVSNT\cvs.exe&amp;quot; -q update -P -d&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&#039;&#039;&lt;br /&gt;
Et pour remettre au propre votre copie locale en annulant vos modifications sur les fichiers intégrés au cvs:&lt;br /&gt;
 &amp;quot;C:\Program Files\CVSNT\cvs.exe&amp;quot; -q update -P -C -d&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
&lt;br /&gt;
Si besoin, modifiez les droits de propriétaire des dossiers, pour que le serveur y ait accès.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Restaurer sa configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Restaurer le fichier de configuration (./htdocs/conf/conf.php) d&#039;après sa sauvegarde si vous l&#039;avez écrasé.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mise a jour de la base&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La deuxième étape consiste à migrer la base. Pour celà, il suffit d&#039;appeler la page&lt;br /&gt;
http://maracinedolibarr/install/&lt;br /&gt;
et choisir l&#039;option &amp;quot;Mise à jour&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Cette procédure de migration/mise à jour est conçue pour fonctionner quel que soit l&#039;état de départ et peut être repassée plusieurs fois sans risque.&lt;br /&gt;
&lt;br /&gt;
== Démarrer le développement ==&lt;br /&gt;
&lt;br /&gt;
Consulter &#039;&#039;&#039;intégralement&#039;&#039;&#039; la [[Documentation Développeur]] pour assimiler toutes les règles et principes imposées aux développeurs.&lt;br /&gt;
Vous pouvez aussi consulter les FAQ suivantes.&lt;br /&gt;
&lt;br /&gt;
== Comment créer un nouveau theme ==&lt;br /&gt;
Voir pour cela la page [[Themes]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comment développer mon propre système de menu ==&lt;br /&gt;
Voir pour cela la page [[Système_de_menus]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comment développer mon propre module ==&lt;br /&gt;
Voir pour cela la page [[Developpement_module]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comment ajouter une traduction ==&lt;br /&gt;
Voir pour cela la page [[Documentation_traducteur]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changer mon système de numérotation des factures en cours de route ==&lt;br /&gt;
Si le nouveau système de numérotation n&#039;entre pas en conflit avec l&#039;ancien, il suffit d&#039;aller dans le menu Configuration - Modules - Configuration factures et prendre un nouveau modèle dans la liste.&lt;br /&gt;
Si le nouveau système rentre en conflit, il est nécessaire de renuméroter vos références existantes. Cela peut-être fait avec une requête SQL.&lt;br /&gt;
Par exemple, pour passer de Jupiter (FYYYYMM99) à Terre (FAYYMM-999), vous pouvez exécuter la requête suivante:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update llx_facture set facnumber=concat(&#039;FA&#039;,substr(facnumber,4,4),&#039;-&#039;,substr(facnumber,8))&lt;br /&gt;
where facnumber like &#039;F%&#039; and facnumber not like &#039;FA%&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par exemple, pour passer d&#039;un modele FAYYMM999 à Terre (FAYYMM-999), vous pouvez exécuter la requête suivante:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update llx_facture set facnumber=concat(&#039;FA&#039;,substr(facnumber,3,4),&#039;-&#039;,substr(CONCAT(&#039;0000&#039;,substr(facnumber,7)),-4))&lt;br /&gt;
where facnumber like &#039;FA%&#039; and facnumber not like &#039;%-%&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Soumettre un patch, amelioration ou participer au développement ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Avec accès CVS en écriture &#039;&#039;&#039;&lt;br /&gt;
A ce jour, les accès en écriture au CVS sont restreints (le nombre de commit étant déjà suffisamment dynamique). Il n&#039;est pas exclu d&#039;accueillir d&#039;autres développeurs en modification à d&#039;autres horizons. Si vous bénéficiez donc à l&#039;heure actuelle d&#039;un accès CVS en écriture, utilisez-le. Sinon, il est nécessaire de suivre la procédure qui suit (Modification du code, sans accès CVS en écriture)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sans accès CVS en écriture&#039;&#039;&#039;&lt;br /&gt;
Si vous n&#039;avez pas de compte développeur, il est nécessaire de fournir par mail, votre fichier patch. &lt;br /&gt;
&lt;br /&gt;
Sous tout OS:&lt;br /&gt;
&lt;br /&gt;
Voici la &#039;&#039;méthode Pro&#039;&#039; selon laquelle travailler pour pouvoir générer un tel fichier patch:&lt;br /&gt;
&lt;br /&gt;
- Avoir un répertoire qui contient la version de Dolibarr de référence (résultat de la mise à jour CVS ou bien tout simplement l&#039;arborescence résultant de la décompression d&#039;un snapshot tgz de Dolibarr). On appellera ce répertoire &#039;&#039;&#039;ancien_rep&#039;&#039;&#039;. Vous pouvez récupérer le snapshot de la version de dev en cours sur le  [http://www.dolibarr.org/component/option,com_docman/task,cat_view/gid,50/Itemid,36/lang,en/ site officiel de Dolibarr].&lt;br /&gt;
&lt;br /&gt;
- Avoir un autre répertoire qui contient l&#039;arborescence de Dolibarr mais dans laquelle vous faites ou avez fait vos modifications. On appellera ce répertoire &#039;&#039;&#039;nouveau_rep&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Pour générer le fichier patch, il suffit alors de lancer la commande &#039;&#039;&#039;diff&#039;&#039;&#039; (en standard sous Linux, fourni dans [http://www.cygwin.org cygwin] sous Windows) de la manière suivante:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -Naur --exclude=CVS --exclude=&amp;quot;.#*&amp;quot; --exclude=&amp;quot;*~&amp;quot; --exclude=&amp;quot;*.bak&amp;quot; --exclude=conf.php --exclude=documents  ancien_rep  nouveau_rep  &amp;gt; fichier.patch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Envoyer votre patch sur la ML.&lt;br /&gt;
L&#039;intégration de votre patch n&#039;est toutefois pas garantie, pas plus que le délai.&lt;br /&gt;
&lt;br /&gt;
Sous Windows:&lt;br /&gt;
&lt;br /&gt;
Si vous êtes sous Windows, une &#039;&#039;méthode moins Pro&#039;&#039; mais qui donne le même résultat est la suivante. Installer l&#039;excellent outil open source de comparaison Winmerge qui sait fabriquer des patchs au format &#039;&#039;diff -Naur&#039;&#039;. Pour cela, comparer avec Winmerge le fichier référence et le fichier modifié et choisir dans le menu &#039;&#039;&amp;quot;Tools - Generate patch&amp;quot;&#039;&#039; (&#039;&#039;Générer des retouches&#039;&#039; en version française). Saisir un nom de fichier comme &#039;&#039;&amp;quot;resultat.patch&amp;quot;&#039;&#039;, cocher la case &#039;&#039;&amp;quot;Append&amp;quot;&#039;&#039; et choisir l&#039;option &#039;&#039;&amp;quot;Format Unified&amp;quot;&#039;&#039; (&#039;&#039;Style : unifié&#039;&#039; en version française). Cliquer sur &#039;&#039;&amp;quot;Ok&amp;quot;&#039;&#039;.&lt;br /&gt;
Éventuellement recommencer pour chaque fichier modifié.&lt;br /&gt;
Au final, on obtient un beau fichier &#039;&#039;resultat.patch&#039;&#039; qui contient toutes les modifications au bon format.&lt;br /&gt;
&lt;br /&gt;
Au lieu de rechercher manuellement vos fichiers, si vous avez installé conjointement &#039;&#039;TortoiseCVS&#039;&#039; et &#039;&#039;Winmerge&#039;&#039;, vous pouvez vous contenter de votre version modifiée sur votre ordinateur, et de la version CVS en ligne. Sous l&#039;explorateur Windows, faites un clic droit sur le fichier qui doit être patché, et choisissez &amp;quot;CVS comparer&amp;quot; (pas WinMerge qui se trouve quelques lignes plus bas). Tortoise va lui-même lancer WinMerge. Puis reprenez la procédure décrite ci-dessus.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Appliquer un patch&#039;&#039;&#039;&lt;br /&gt;
Si votre patch n&#039;a pas encore été appliqué, mais que vous souhaitez de votre coté l&#039;appliquer sur votre serveur linux fraichement mis à jour depuis la CVS, cela est possible grace à l&#039;utilitaire patch. &lt;br /&gt;
En admettant que vous avez créé votre patch à partir du répertoire htdocs de votre copie locale du cvs modifiée par vos soins, et que vous avez envoyé votre patch (monfichier.patch) sur le serveur dans le dossier patchs situé au meme niveau que votre dossier htdocs distant, la commande suivante devrait faire l&#039;affaire (executée depuis le dossier patchs):&lt;br /&gt;
 patch -u -p0 -d ../htdocs &amp;lt; monfichier.patch&lt;br /&gt;
&amp;lt;nowiki&amp;gt;Pour information: -p0 permet d&#039;utiliser le chemin entier tel que mentionné dans le fichier de patch (-pn en retire les n premiers niveau de l&#039;arborescence)&lt;br /&gt;
-d permet de préciser le chemin relatif vers le dossier htdocs à patcher.&lt;br /&gt;
&amp;lt; permet de donner le chemin vers le fichier source à utiliser (le patch en mode unifié)&lt;br /&gt;
-u permet de préciser que le patch est en mode unifié&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comment devenir développeur officiel ==&lt;br /&gt;
&lt;br /&gt;
Ceci passe par plusieurs étapes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Membre de l&#039;alliance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Il faut d&#039;abord se familiariser avec les règles et normes de développements.&lt;br /&gt;
En lisant toute la documentation développeur, vous devenez ainsi membre de l&#039;alliance.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Chasseur de l&#039;alliance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
L&#039;étape suivante consiste à soumettre des patch, en commençant par des simples, sur la ML (voir chapitre précédent). A votre première soumission, vous entrez alors dans la famille des Chasseurs de l&#039;alliance.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jedi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ce n&#039;est qu&#039;au bout d&#039;un temps variable, qui peut être très long, et si la qualité des patch&lt;br /&gt;
qui ont été envoyée est satisfaisante que l&#039;équipe en place offrira un accès CVS direct.&lt;br /&gt;
Vous êtes devenu un Jedi. Ce titre ne se demande pas, il s&#039;obtient par proposition d&#039;un autre Jedi.&lt;br /&gt;
Ce privilège est toutefois exceptionnel. La qualité de Dolibarr ne pouvant être atteindre &lt;br /&gt;
que par un nombre de commiteur très réduit, ce qui n&#039;empêche pas d&#039;avoir un nombre de&lt;br /&gt;
développeur (chasseurs) très important (grâce au système de patch).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maitre Yoda&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Au nombre de 1 à 3, c&#039;est le role de chef de projet.&lt;/div&gt;</summary>
		<author><name>Raphaelb</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=FAQ_D%C3%A9veloppeur&amp;diff=1955</id>
		<title>FAQ Développeur</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=FAQ_D%C3%A9veloppeur&amp;diff=1955"/>
		<updated>2008-06-30T09:43:55Z</updated>

		<summary type="html">&lt;p&gt;Raphaelb: /* Récupérer/mettre à jour la version CVS développeur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Récupérer/mettre à jour la version CVS développeur ==&lt;br /&gt;
&#039;&#039;&#039;Effectuer une sauvegarde de ses données et de sa configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Utilisation du CVS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La première opération consiste à récupérer les dernières versions des sources CVS.&lt;br /&gt;
Pour cela, voir la [http://www.dolibarr.fr/component/option,com_docman/task,cat_view/gid,64/Itemid,36/lang,fr/ Version CVS du jour].&lt;br /&gt;
Les nouveaux fichiers doivent écraser les anciens.&lt;br /&gt;
&lt;br /&gt;
Pour récupérer la dernière version CVS, vous pouvez aussi directement utiliser [http://savannah.nongnu.org/cvs/?group=dolibarr le serveur CVS en mode anonyme], si vous disposez d&#039;un client CVS (commande cvs sous linux, ou TortoiseCVS par exemple sous windows)&lt;br /&gt;
La commande script permettant de récupérer un snapshot intégral (sans suivi cvs) dans le répertoire courrant est:&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
 export CVSROOT&lt;br /&gt;
 cvs -q export -r HEAD -d ./ dolibarr/&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
Pour récupérer uniquement les 3 dossiers principaux de Dolibarr:&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
 export CVSROOT&lt;br /&gt;
 cvs -q export -r HEAD -d ./htdocs dolibarr/htdocs&lt;br /&gt;
 cvs -q export -r HEAD -d ./mysql dolibarr/mysql&lt;br /&gt;
 cvs -q export -r HEAD -d ./external-libs dolibarr/external-libs&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La commande permettant de mettre à jour localement la copie de travail CVS :&lt;br /&gt;
&#039;&#039;Sous linux (script shell):&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
 export CVSROOT&lt;br /&gt;
 cvs -q update -P -d&lt;br /&gt;
Sous Windows avec Tortoise cvs&lt;br /&gt;
 &amp;quot;C:\Program Files\CVSNT\cvs.exe&amp;quot; -q update -P -d&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&#039;&#039;&lt;br /&gt;
Et pour remettre au propre votre copie locale en annulant vos modifications sur les fichiers intégrés au cvs:&lt;br /&gt;
 &amp;quot;C:\Program Files\CVSNT\cvs.exe&amp;quot; -q update -P -C -d&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
&lt;br /&gt;
Si besoin, modifiez les droits de propriétaire des dossiers, pour que le serveur y ait accès.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Restaurer sa configuration&#039;&#039;&#039;&lt;br /&gt;
Restaurer le fichier de configuration (./htdocs/conf/conf.php) d&#039;après sa sauvegarde si vous l&#039;avez écrasé.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mise a jour de la base&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La deuxième étape consiste à migrer la base. Pour celà, il suffit d&#039;appeler la page&lt;br /&gt;
http://maracinedolibarr/install/&lt;br /&gt;
et choisir l&#039;option &amp;quot;Mise à jour&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Cette procédure de migration/mise à jour est conçue pour fonctionner quel que soit l&#039;état de départ et peut être repassée plusieurs fois sans risque.&lt;br /&gt;
&lt;br /&gt;
== Démarrer le développement ==&lt;br /&gt;
&lt;br /&gt;
Consulter &#039;&#039;&#039;intégralement&#039;&#039;&#039; la [[Documentation Développeur]] pour assimiler toutes les règles et principes imposées aux développeurs.&lt;br /&gt;
Vous pouvez aussi consulter les FAQ suivantes.&lt;br /&gt;
&lt;br /&gt;
== Comment créer un nouveau theme ==&lt;br /&gt;
Voir pour cela la page [[Themes]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comment développer mon propre système de menu ==&lt;br /&gt;
Voir pour cela la page [[Système_de_menus]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comment développer mon propre module ==&lt;br /&gt;
Voir pour cela la page [[Developpement_module]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comment ajouter une traduction ==&lt;br /&gt;
Voir pour cela la page [[Documentation_traducteur]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changer mon système de numérotation des factures en cours de route ==&lt;br /&gt;
Si le nouveau système de numérotation n&#039;entre pas en conflit avec l&#039;ancien, il suffit d&#039;aller dans le menu Configuration - Modules - Configuration factures et prendre un nouveau modèle dans la liste.&lt;br /&gt;
Si le nouveau système rentre en conflit, il est nécessaire de renuméroter vos références existantes. Cela peut-être fait avec une requête SQL.&lt;br /&gt;
Par exemple, pour passer de Jupiter (FYYYYMM99) à Terre (FAYYMM-999), vous pouvez exécuter la requête suivante:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update llx_facture set facnumber=concat(&#039;FA&#039;,substr(facnumber,4,4),&#039;-&#039;,substr(facnumber,8))&lt;br /&gt;
where facnumber like &#039;F%&#039; and facnumber not like &#039;FA%&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par exemple, pour passer d&#039;un modele FAYYMM999 à Terre (FAYYMM-999), vous pouvez exécuter la requête suivante:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update llx_facture set facnumber=concat(&#039;FA&#039;,substr(facnumber,3,4),&#039;-&#039;,substr(CONCAT(&#039;0000&#039;,substr(facnumber,7)),-4))&lt;br /&gt;
where facnumber like &#039;FA%&#039; and facnumber not like &#039;%-%&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Soumettre un patch, amelioration ou participer au développement ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Avec accès CVS en écriture &#039;&#039;&#039;&lt;br /&gt;
A ce jour, les accès en écriture au CVS sont restreints (le nombre de commit étant déjà suffisamment dynamique). Il n&#039;est pas exclu d&#039;accueillir d&#039;autres développeurs en modification à d&#039;autres horizons. Si vous bénéficiez donc à l&#039;heure actuelle d&#039;un accès CVS en écriture, utilisez-le. Sinon, il est nécessaire de suivre la procédure qui suit (Modification du code, sans accès CVS en écriture)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sans accès CVS en écriture&#039;&#039;&#039;&lt;br /&gt;
Si vous n&#039;avez pas de compte développeur, il est nécessaire de fournir par mail, votre fichier patch. &lt;br /&gt;
&lt;br /&gt;
Sous tout OS:&lt;br /&gt;
&lt;br /&gt;
Voici la &#039;&#039;méthode Pro&#039;&#039; selon laquelle travailler pour pouvoir générer un tel fichier patch:&lt;br /&gt;
&lt;br /&gt;
- Avoir un répertoire qui contient la version de Dolibarr de référence (résultat de la mise à jour CVS ou bien tout simplement l&#039;arborescence résultant de la décompression d&#039;un snapshot tgz de Dolibarr). On appellera ce répertoire &#039;&#039;&#039;ancien_rep&#039;&#039;&#039;. Vous pouvez récupérer le snapshot de la version de dev en cours sur le  [http://www.dolibarr.org/component/option,com_docman/task,cat_view/gid,50/Itemid,36/lang,en/ site officiel de Dolibarr].&lt;br /&gt;
&lt;br /&gt;
- Avoir un autre répertoire qui contient l&#039;arborescence de Dolibarr mais dans laquelle vous faites ou avez fait vos modifications. On appellera ce répertoire &#039;&#039;&#039;nouveau_rep&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Pour générer le fichier patch, il suffit alors de lancer la commande &#039;&#039;&#039;diff&#039;&#039;&#039; (en standard sous Linux, fourni dans [http://www.cygwin.org cygwin] sous Windows) de la manière suivante:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -Naur --exclude=CVS --exclude=&amp;quot;.#*&amp;quot; --exclude=&amp;quot;*~&amp;quot; --exclude=&amp;quot;*.bak&amp;quot; --exclude=conf.php --exclude=documents  ancien_rep  nouveau_rep  &amp;gt; fichier.patch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Envoyer votre patch sur la ML.&lt;br /&gt;
L&#039;intégration de votre patch n&#039;est toutefois pas garantie, pas plus que le délai.&lt;br /&gt;
&lt;br /&gt;
Sous Windows:&lt;br /&gt;
&lt;br /&gt;
Si vous êtes sous Windows, une &#039;&#039;méthode moins Pro&#039;&#039; mais qui donne le même résultat est la suivante. Installer l&#039;excellent outil open source de comparaison Winmerge qui sait fabriquer des patchs au format &#039;&#039;diff -Naur&#039;&#039;. Pour cela, comparer avec Winmerge le fichier référence et le fichier modifié et choisir dans le menu &#039;&#039;&amp;quot;Tools - Generate patch&amp;quot;&#039;&#039; (&#039;&#039;Générer des retouches&#039;&#039; en version française). Saisir un nom de fichier comme &#039;&#039;&amp;quot;resultat.patch&amp;quot;&#039;&#039;, cocher la case &#039;&#039;&amp;quot;Append&amp;quot;&#039;&#039; et choisir l&#039;option &#039;&#039;&amp;quot;Format Unified&amp;quot;&#039;&#039; (&#039;&#039;Style : unifié&#039;&#039; en version française). Cliquer sur &#039;&#039;&amp;quot;Ok&amp;quot;&#039;&#039;.&lt;br /&gt;
Éventuellement recommencer pour chaque fichier modifié.&lt;br /&gt;
Au final, on obtient un beau fichier &#039;&#039;resultat.patch&#039;&#039; qui contient toutes les modifications au bon format.&lt;br /&gt;
&lt;br /&gt;
Au lieu de rechercher manuellement vos fichiers, si vous avez installé conjointement &#039;&#039;TortoiseCVS&#039;&#039; et &#039;&#039;Winmerge&#039;&#039;, vous pouvez vous contenter de votre version modifiée sur votre ordinateur, et de la version CVS en ligne. Sous l&#039;explorateur Windows, faites un clic droit sur le fichier qui doit être patché, et choisissez &amp;quot;CVS comparer&amp;quot; (pas WinMerge qui se trouve quelques lignes plus bas). Tortoise va lui-même lancer WinMerge. Puis reprenez la procédure décrite ci-dessus.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Appliquer un patch&#039;&#039;&#039;&lt;br /&gt;
Si votre patch n&#039;a pas encore été appliqué, mais que vous souhaitez de votre coté l&#039;appliquer sur votre serveur linux fraichement mis à jour depuis la CVS, cela est possible grace à l&#039;utilitaire patch. &lt;br /&gt;
En admettant que vous avez créé votre patch à partir du répertoire htdocs de votre copie locale du cvs modifiée par vos soins, et que vous avez envoyé votre patch (monfichier.patch) sur le serveur dans le dossier patchs situé au meme niveau que votre dossier htdocs distant, la commande suivante devrait faire l&#039;affaire (executée depuis le dossier patchs):&lt;br /&gt;
 patch -u -p0 -d ../htdocs &amp;lt; monfichier.patch&lt;br /&gt;
&amp;lt;nowiki&amp;gt;Pour information: -p0 permet d&#039;utiliser le chemin entier tel que mentionné dans le fichier de patch (-pn en retire les n premiers niveau de l&#039;arborescence)&lt;br /&gt;
-d permet de préciser le chemin relatif vers le dossier htdocs à patcher.&lt;br /&gt;
&amp;lt; permet de donner le chemin vers le fichier source à utiliser (le patch en mode unifié)&lt;br /&gt;
-u permet de préciser que le patch est en mode unifié&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comment devenir développeur officiel ==&lt;br /&gt;
&lt;br /&gt;
Ceci passe par plusieurs étapes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Membre de l&#039;alliance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Il faut d&#039;abord se familiariser avec les règles et normes de développements.&lt;br /&gt;
En lisant toute la documentation développeur, vous devenez ainsi membre de l&#039;alliance.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Chasseur de l&#039;alliance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
L&#039;étape suivante consiste à soumettre des patch, en commençant par des simples, sur la ML (voir chapitre précédent). A votre première soumission, vous entrez alors dans la famille des Chasseurs de l&#039;alliance.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jedi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ce n&#039;est qu&#039;au bout d&#039;un temps variable, qui peut être très long, et si la qualité des patch&lt;br /&gt;
qui ont été envoyée est satisfaisante que l&#039;équipe en place offrira un accès CVS direct.&lt;br /&gt;
Vous êtes devenu un Jedi. Ce titre ne se demande pas, il s&#039;obtient par proposition d&#039;un autre Jedi.&lt;br /&gt;
Ce privilège est toutefois exceptionnel. La qualité de Dolibarr ne pouvant être atteindre &lt;br /&gt;
que par un nombre de commiteur très réduit, ce qui n&#039;empêche pas d&#039;avoir un nombre de&lt;br /&gt;
développeur (chasseurs) très important (grâce au système de patch).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maitre Yoda&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Au nombre de 1 à 3, c&#039;est le role de chef de projet.&lt;/div&gt;</summary>
		<author><name>Raphaelb</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=FAQ_D%C3%A9veloppeur&amp;diff=1954</id>
		<title>FAQ Développeur</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=FAQ_D%C3%A9veloppeur&amp;diff=1954"/>
		<updated>2008-06-30T09:41:46Z</updated>

		<summary type="html">&lt;p&gt;Raphaelb: /* Récupérer/mettre à jour la version CVS développeur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Récupérer/mettre à jour la version CVS développeur ==&lt;br /&gt;
&#039;&#039;&#039;Effectuer une sauvegarde de ses données et de sa configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Utilisation du CVS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La première opération consiste à récupérer les dernières versions des sources CVS.&lt;br /&gt;
Pour cela, voir la [http://www.dolibarr.fr/component/option,com_docman/task,cat_view/gid,64/Itemid,36/lang,fr/ Version CVS du jour].&lt;br /&gt;
Les nouveaux fichiers doivent écraser les anciens.&lt;br /&gt;
&lt;br /&gt;
Pour récupérer la dernière version CVS, vous pouvez aussi directement utiliser [http://savannah.nongnu.org/cvs/?group=dolibarr le serveur CVS en mode anonyme], si vous disposez d&#039;un client CVS (commande cvs sous linux, ou TortoiseCVS par exemple sous windows)&lt;br /&gt;
La commande script permettant de récupérer un snapshot intégral (sans suivi cvs) dans le répertoire courrant est:&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
 export CVSROOT&lt;br /&gt;
 cvs -q export -r HEAD -d ./ dolibarr/&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
Pour récupérer uniquement les 3 dossiers principaux de Dolibarr:&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
 export CVSROOT&lt;br /&gt;
 cvs -q export -r HEAD -d ./htdocs dolibarr/htdocs&lt;br /&gt;
 cvs -q export -r HEAD -d ./mysql dolibarr/mysql&lt;br /&gt;
 cvs -q export -r HEAD -d ./external-libs dolibarr/external-libs&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La commande permettant de mettre à jour localement la copie de travail CVS :&lt;br /&gt;
&#039;&#039;Sous linux (script shell):&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
 export CVSROOT&lt;br /&gt;
 cvs -q update -P -d&lt;br /&gt;
Sous Windows avec Tortoise cvs&lt;br /&gt;
 &amp;quot;C:\Program Files\CVSNT\cvs.exe&amp;quot; -q update -P -d&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&#039;&#039;&lt;br /&gt;
Et pour remettre au propre votre copie locale en annulant vos modifications sur les fichiers intégrés au cvs:&lt;br /&gt;
 &amp;quot;C:\Program Files\CVSNT\cvs.exe&amp;quot; -q update -P -C -d&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Restaurer sa configuration&#039;&#039;&#039;&lt;br /&gt;
Restaurer le fichier de configuration (./htdocs/conf/conf.php) d&#039;après sa sauvegarde si vous l&#039;avez écrasé.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mise a jour de la base&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La deuxième étape consiste à migrer la base. Pour celà, il suffit d&#039;appeler la page&lt;br /&gt;
http://maracinedolibarr/install/&lt;br /&gt;
et choisir l&#039;option &amp;quot;Mise à jour&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Cette procédure de migration/mise à jour est conçue pour fonctionner quel que soit l&#039;état de départ et peut être repassée plusieurs fois sans risque.&lt;br /&gt;
&lt;br /&gt;
== Démarrer le développement ==&lt;br /&gt;
&lt;br /&gt;
Consulter &#039;&#039;&#039;intégralement&#039;&#039;&#039; la [[Documentation Développeur]] pour assimiler toutes les règles et principes imposées aux développeurs.&lt;br /&gt;
Vous pouvez aussi consulter les FAQ suivantes.&lt;br /&gt;
&lt;br /&gt;
== Comment créer un nouveau theme ==&lt;br /&gt;
Voir pour cela la page [[Themes]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comment développer mon propre système de menu ==&lt;br /&gt;
Voir pour cela la page [[Système_de_menus]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comment développer mon propre module ==&lt;br /&gt;
Voir pour cela la page [[Developpement_module]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comment ajouter une traduction ==&lt;br /&gt;
Voir pour cela la page [[Documentation_traducteur]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changer mon système de numérotation des factures en cours de route ==&lt;br /&gt;
Si le nouveau système de numérotation n&#039;entre pas en conflit avec l&#039;ancien, il suffit d&#039;aller dans le menu Configuration - Modules - Configuration factures et prendre un nouveau modèle dans la liste.&lt;br /&gt;
Si le nouveau système rentre en conflit, il est nécessaire de renuméroter vos références existantes. Cela peut-être fait avec une requête SQL.&lt;br /&gt;
Par exemple, pour passer de Jupiter (FYYYYMM99) à Terre (FAYYMM-999), vous pouvez exécuter la requête suivante:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update llx_facture set facnumber=concat(&#039;FA&#039;,substr(facnumber,4,4),&#039;-&#039;,substr(facnumber,8))&lt;br /&gt;
where facnumber like &#039;F%&#039; and facnumber not like &#039;FA%&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par exemple, pour passer d&#039;un modele FAYYMM999 à Terre (FAYYMM-999), vous pouvez exécuter la requête suivante:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update llx_facture set facnumber=concat(&#039;FA&#039;,substr(facnumber,3,4),&#039;-&#039;,substr(CONCAT(&#039;0000&#039;,substr(facnumber,7)),-4))&lt;br /&gt;
where facnumber like &#039;FA%&#039; and facnumber not like &#039;%-%&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Soumettre un patch, amelioration ou participer au développement ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Avec accès CVS en écriture &#039;&#039;&#039;&lt;br /&gt;
A ce jour, les accès en écriture au CVS sont restreints (le nombre de commit étant déjà suffisamment dynamique). Il n&#039;est pas exclu d&#039;accueillir d&#039;autres développeurs en modification à d&#039;autres horizons. Si vous bénéficiez donc à l&#039;heure actuelle d&#039;un accès CVS en écriture, utilisez-le. Sinon, il est nécessaire de suivre la procédure qui suit (Modification du code, sans accès CVS en écriture)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sans accès CVS en écriture&#039;&#039;&#039;&lt;br /&gt;
Si vous n&#039;avez pas de compte développeur, il est nécessaire de fournir par mail, votre fichier patch. &lt;br /&gt;
&lt;br /&gt;
Sous tout OS:&lt;br /&gt;
&lt;br /&gt;
Voici la &#039;&#039;méthode Pro&#039;&#039; selon laquelle travailler pour pouvoir générer un tel fichier patch:&lt;br /&gt;
&lt;br /&gt;
- Avoir un répertoire qui contient la version de Dolibarr de référence (résultat de la mise à jour CVS ou bien tout simplement l&#039;arborescence résultant de la décompression d&#039;un snapshot tgz de Dolibarr). On appellera ce répertoire &#039;&#039;&#039;ancien_rep&#039;&#039;&#039;. Vous pouvez récupérer le snapshot de la version de dev en cours sur le  [http://www.dolibarr.org/component/option,com_docman/task,cat_view/gid,50/Itemid,36/lang,en/ site officiel de Dolibarr].&lt;br /&gt;
&lt;br /&gt;
- Avoir un autre répertoire qui contient l&#039;arborescence de Dolibarr mais dans laquelle vous faites ou avez fait vos modifications. On appellera ce répertoire &#039;&#039;&#039;nouveau_rep&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Pour générer le fichier patch, il suffit alors de lancer la commande &#039;&#039;&#039;diff&#039;&#039;&#039; (en standard sous Linux, fourni dans [http://www.cygwin.org cygwin] sous Windows) de la manière suivante:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -Naur --exclude=CVS --exclude=&amp;quot;.#*&amp;quot; --exclude=&amp;quot;*~&amp;quot; --exclude=&amp;quot;*.bak&amp;quot; --exclude=conf.php --exclude=documents  ancien_rep  nouveau_rep  &amp;gt; fichier.patch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Envoyer votre patch sur la ML.&lt;br /&gt;
L&#039;intégration de votre patch n&#039;est toutefois pas garantie, pas plus que le délai.&lt;br /&gt;
&lt;br /&gt;
Sous Windows:&lt;br /&gt;
&lt;br /&gt;
Si vous êtes sous Windows, une &#039;&#039;méthode moins Pro&#039;&#039; mais qui donne le même résultat est la suivante. Installer l&#039;excellent outil open source de comparaison Winmerge qui sait fabriquer des patchs au format &#039;&#039;diff -Naur&#039;&#039;. Pour cela, comparer avec Winmerge le fichier référence et le fichier modifié et choisir dans le menu &#039;&#039;&amp;quot;Tools - Generate patch&amp;quot;&#039;&#039; (&#039;&#039;Générer des retouches&#039;&#039; en version française). Saisir un nom de fichier comme &#039;&#039;&amp;quot;resultat.patch&amp;quot;&#039;&#039;, cocher la case &#039;&#039;&amp;quot;Append&amp;quot;&#039;&#039; et choisir l&#039;option &#039;&#039;&amp;quot;Format Unified&amp;quot;&#039;&#039; (&#039;&#039;Style : unifié&#039;&#039; en version française). Cliquer sur &#039;&#039;&amp;quot;Ok&amp;quot;&#039;&#039;.&lt;br /&gt;
Éventuellement recommencer pour chaque fichier modifié.&lt;br /&gt;
Au final, on obtient un beau fichier &#039;&#039;resultat.patch&#039;&#039; qui contient toutes les modifications au bon format.&lt;br /&gt;
&lt;br /&gt;
Au lieu de rechercher manuellement vos fichiers, si vous avez installé conjointement &#039;&#039;TortoiseCVS&#039;&#039; et &#039;&#039;Winmerge&#039;&#039;, vous pouvez vous contenter de votre version modifiée sur votre ordinateur, et de la version CVS en ligne. Sous l&#039;explorateur Windows, faites un clic droit sur le fichier qui doit être patché, et choisissez &amp;quot;CVS comparer&amp;quot; (pas WinMerge qui se trouve quelques lignes plus bas). Tortoise va lui-même lancer WinMerge. Puis reprenez la procédure décrite ci-dessus.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Appliquer un patch&#039;&#039;&#039;&lt;br /&gt;
Si votre patch n&#039;a pas encore été appliqué, mais que vous souhaitez de votre coté l&#039;appliquer sur votre serveur linux fraichement mis à jour depuis la CVS, cela est possible grace à l&#039;utilitaire patch. &lt;br /&gt;
En admettant que vous avez créé votre patch à partir du répertoire htdocs de votre copie locale du cvs modifiée par vos soins, et que vous avez envoyé votre patch (monfichier.patch) sur le serveur dans le dossier patchs situé au meme niveau que votre dossier htdocs distant, la commande suivante devrait faire l&#039;affaire (executée depuis le dossier patchs):&lt;br /&gt;
 patch -u -p0 -d ../htdocs &amp;lt; monfichier.patch&lt;br /&gt;
&amp;lt;nowiki&amp;gt;Pour information: -p0 permet d&#039;utiliser le chemin entier tel que mentionné dans le fichier de patch (-pn en retire les n premiers niveau de l&#039;arborescence)&lt;br /&gt;
-d permet de préciser le chemin relatif vers le dossier htdocs à patcher.&lt;br /&gt;
&amp;lt; permet de donner le chemin vers le fichier source à utiliser (le patch en mode unifié)&lt;br /&gt;
-u permet de préciser que le patch est en mode unifié&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comment devenir développeur officiel ==&lt;br /&gt;
&lt;br /&gt;
Ceci passe par plusieurs étapes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Membre de l&#039;alliance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Il faut d&#039;abord se familiariser avec les règles et normes de développements.&lt;br /&gt;
En lisant toute la documentation développeur, vous devenez ainsi membre de l&#039;alliance.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Chasseur de l&#039;alliance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
L&#039;étape suivante consiste à soumettre des patch, en commençant par des simples, sur la ML (voir chapitre précédent). A votre première soumission, vous entrez alors dans la famille des Chasseurs de l&#039;alliance.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jedi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ce n&#039;est qu&#039;au bout d&#039;un temps variable, qui peut être très long, et si la qualité des patch&lt;br /&gt;
qui ont été envoyée est satisfaisante que l&#039;équipe en place offrira un accès CVS direct.&lt;br /&gt;
Vous êtes devenu un Jedi. Ce titre ne se demande pas, il s&#039;obtient par proposition d&#039;un autre Jedi.&lt;br /&gt;
Ce privilège est toutefois exceptionnel. La qualité de Dolibarr ne pouvant être atteindre &lt;br /&gt;
que par un nombre de commiteur très réduit, ce qui n&#039;empêche pas d&#039;avoir un nombre de&lt;br /&gt;
développeur (chasseurs) très important (grâce au système de patch).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maitre Yoda&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Au nombre de 1 à 3, c&#039;est le role de chef de projet.&lt;/div&gt;</summary>
		<author><name>Raphaelb</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=FAQ_D%C3%A9veloppeur&amp;diff=1953</id>
		<title>FAQ Développeur</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=FAQ_D%C3%A9veloppeur&amp;diff=1953"/>
		<updated>2008-06-30T07:51:47Z</updated>

		<summary type="html">&lt;p&gt;Raphaelb: /* Récupérer/mettre à jour la version CVS développeur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Récupérer/mettre à jour la version CVS développeur ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Utilisation du CVS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La première opération consiste à récupérer les dernières versions des sources CVS.&lt;br /&gt;
Pour cela, voir la [http://www.dolibarr.fr/component/option,com_docman/task,cat_view/gid,64/Itemid,36/lang,fr/ Version CVS du jour].&lt;br /&gt;
Les nouveaux fichiers doivent écraser les anciens.&lt;br /&gt;
&lt;br /&gt;
Pour récupérer la dernière version CVS, vous pouvez aussi directement utiliser [http://savannah.nongnu.org/cvs/?group=dolibarr le serveur CVS en mode anonyme], si vous disposez d&#039;un client CVS (commande cvs sous linux, ou TortoiseCVS par exemple sous windows)&lt;br /&gt;
La commande script permettant de récupérer un snapshot intégral (sans suivi cvs) dans le répertoire courrant est:&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
 export CVSROOT&lt;br /&gt;
 cvs -q export -r HEAD -d ./ dolibarr/&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
Pour récupérer uniquement les 3 dossiers principaux de Dolibarr:&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
 export CVSROOT&lt;br /&gt;
 cvs -q export -r HEAD -d ./htdocs dolibarr/htdocs&lt;br /&gt;
 cvs -q export -r HEAD -d ./mysql dolibarr/mysql&lt;br /&gt;
 cvs -q export -r HEAD -d ./external-libs dolibarr/external-libs&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La commande permettant de mettre à jour localement la copie de travail CVS :&lt;br /&gt;
&#039;&#039;Sous linux (script shell):&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
 export CVSROOT&lt;br /&gt;
 cvs -q update -P -d&lt;br /&gt;
Sous Windows avec Tortoise cvs&lt;br /&gt;
 &amp;quot;C:\Program Files\CVSNT\cvs.exe&amp;quot; -q update -P -d&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&#039;&#039;&lt;br /&gt;
Et pour remettre au propre votre copie locale en annulant vos modifications sur les fichiers intégrés au cvs:&lt;br /&gt;
 &amp;quot;C:\Program Files\CVSNT\cvs.exe&amp;quot; -q update -P -C -d&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mise a jour de la base&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La deuxième étape consiste à migrer la base. Pour celà, il suffit d&#039;appeler la page&lt;br /&gt;
http://maracinedolibarr/install/&lt;br /&gt;
et choisir l&#039;option &amp;quot;Mise à jour&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Cette procédure de migration/mise à jour est conçue pour fonctionner quel que soit l&#039;état de départ et peut être repassée plusieurs fois sans risque.&lt;br /&gt;
&lt;br /&gt;
== Démarrer le développement ==&lt;br /&gt;
&lt;br /&gt;
Consulter &#039;&#039;&#039;intégralement&#039;&#039;&#039; la [[Documentation Développeur]] pour assimiler toutes les règles et principes imposées aux développeurs.&lt;br /&gt;
Vous pouvez aussi consulter les FAQ suivantes.&lt;br /&gt;
&lt;br /&gt;
== Comment créer un nouveau theme ==&lt;br /&gt;
Voir pour cela la page [[Themes]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comment développer mon propre système de menu ==&lt;br /&gt;
Voir pour cela la page [[Système_de_menus]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comment développer mon propre module ==&lt;br /&gt;
Voir pour cela la page [[Developpement_module]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comment ajouter une traduction ==&lt;br /&gt;
Voir pour cela la page [[Documentation_traducteur]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changer mon système de numérotation des factures en cours de route ==&lt;br /&gt;
Si le nouveau système de numérotation n&#039;entre pas en conflit avec l&#039;ancien, il suffit d&#039;aller dans le menu Configuration - Modules - Configuration factures et prendre un nouveau modèle dans la liste.&lt;br /&gt;
Si le nouveau système rentre en conflit, il est nécessaire de renuméroter vos références existantes. Cela peut-être fait avec une requête SQL.&lt;br /&gt;
Par exemple, pour passer de Jupiter (FYYYYMM99) à Terre (FAYYMM-999), vous pouvez exécuter la requête suivante:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update llx_facture set facnumber=concat(&#039;FA&#039;,substr(facnumber,4,4),&#039;-&#039;,substr(facnumber,8))&lt;br /&gt;
where facnumber like &#039;F%&#039; and facnumber not like &#039;FA%&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par exemple, pour passer d&#039;un modele FAYYMM999 à Terre (FAYYMM-999), vous pouvez exécuter la requête suivante:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update llx_facture set facnumber=concat(&#039;FA&#039;,substr(facnumber,3,4),&#039;-&#039;,substr(CONCAT(&#039;0000&#039;,substr(facnumber,7)),-4))&lt;br /&gt;
where facnumber like &#039;FA%&#039; and facnumber not like &#039;%-%&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Soumettre un patch, amelioration ou participer au développement ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Avec accès CVS en écriture &#039;&#039;&#039;&lt;br /&gt;
A ce jour, les accès en écriture au CVS sont restreints (le nombre de commit étant déjà suffisamment dynamique). Il n&#039;est pas exclu d&#039;accueillir d&#039;autres développeurs en modification à d&#039;autres horizons. Si vous bénéficiez donc à l&#039;heure actuelle d&#039;un accès CVS en écriture, utilisez-le. Sinon, il est nécessaire de suivre la procédure qui suit (Modification du code, sans accès CVS en écriture)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sans accès CVS en écriture&#039;&#039;&#039;&lt;br /&gt;
Si vous n&#039;avez pas de compte développeur, il est nécessaire de fournir par mail, votre fichier patch. &lt;br /&gt;
&lt;br /&gt;
Sous tout OS:&lt;br /&gt;
&lt;br /&gt;
Voici la &#039;&#039;méthode Pro&#039;&#039; selon laquelle travailler pour pouvoir générer un tel fichier patch:&lt;br /&gt;
&lt;br /&gt;
- Avoir un répertoire qui contient la version de Dolibarr de référence (résultat de la mise à jour CVS ou bien tout simplement l&#039;arborescence résultant de la décompression d&#039;un snapshot tgz de Dolibarr). On appellera ce répertoire &#039;&#039;&#039;ancien_rep&#039;&#039;&#039;. Vous pouvez récupérer le snapshot de la version de dev en cours sur le  [http://www.dolibarr.org/component/option,com_docman/task,cat_view/gid,50/Itemid,36/lang,en/ site officiel de Dolibarr].&lt;br /&gt;
&lt;br /&gt;
- Avoir un autre répertoire qui contient l&#039;arborescence de Dolibarr mais dans laquelle vous faites ou avez fait vos modifications. On appellera ce répertoire &#039;&#039;&#039;nouveau_rep&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Pour générer le fichier patch, il suffit alors de lancer la commande &#039;&#039;&#039;diff&#039;&#039;&#039; (en standard sous Linux, fourni dans [http://www.cygwin.org cygwin] sous Windows) de la manière suivante:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -Naur --exclude=CVS --exclude=&amp;quot;.#*&amp;quot; --exclude=&amp;quot;*~&amp;quot; --exclude=&amp;quot;*.bak&amp;quot; --exclude=conf.php --exclude=documents  ancien_rep  nouveau_rep  &amp;gt; fichier.patch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Envoyer votre patch sur la ML.&lt;br /&gt;
L&#039;intégration de votre patch n&#039;est toutefois pas garantie, pas plus que le délai.&lt;br /&gt;
&lt;br /&gt;
Sous Windows:&lt;br /&gt;
&lt;br /&gt;
Si vous êtes sous Windows, une &#039;&#039;méthode moins Pro&#039;&#039; mais qui donne le même résultat est la suivante. Installer l&#039;excellent outil open source de comparaison Winmerge qui sait fabriquer des patchs au format &#039;&#039;diff -Naur&#039;&#039;. Pour cela, comparer avec Winmerge le fichier référence et le fichier modifié et choisir dans le menu &#039;&#039;&amp;quot;Tools - Generate patch&amp;quot;&#039;&#039; (&#039;&#039;Générer des retouches&#039;&#039; en version française). Saisir un nom de fichier comme &#039;&#039;&amp;quot;resultat.patch&amp;quot;&#039;&#039;, cocher la case &#039;&#039;&amp;quot;Append&amp;quot;&#039;&#039; et choisir l&#039;option &#039;&#039;&amp;quot;Format Unified&amp;quot;&#039;&#039; (&#039;&#039;Style : unifié&#039;&#039; en version française). Cliquer sur &#039;&#039;&amp;quot;Ok&amp;quot;&#039;&#039;.&lt;br /&gt;
Éventuellement recommencer pour chaque fichier modifié.&lt;br /&gt;
Au final, on obtient un beau fichier &#039;&#039;resultat.patch&#039;&#039; qui contient toutes les modifications au bon format.&lt;br /&gt;
&lt;br /&gt;
Au lieu de rechercher manuellement vos fichiers, si vous avez installé conjointement &#039;&#039;TortoiseCVS&#039;&#039; et &#039;&#039;Winmerge&#039;&#039;, vous pouvez vous contenter de votre version modifiée sur votre ordinateur, et de la version CVS en ligne. Sous l&#039;explorateur Windows, faites un clic droit sur le fichier qui doit être patché, et choisissez &amp;quot;CVS comparer&amp;quot; (pas WinMerge qui se trouve quelques lignes plus bas). Tortoise va lui-même lancer WinMerge. Puis reprenez la procédure décrite ci-dessus.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Appliquer un patch&#039;&#039;&#039;&lt;br /&gt;
Si votre patch n&#039;a pas encore été appliqué, mais que vous souhaitez de votre coté l&#039;appliquer sur votre serveur linux fraichement mis à jour depuis la CVS, cela est possible grace à l&#039;utilitaire patch. &lt;br /&gt;
En admettant que vous avez créé votre patch à partir du répertoire htdocs de votre copie locale du cvs modifiée par vos soins, et que vous avez envoyé votre patch (monfichier.patch) sur le serveur dans le dossier patchs situé au meme niveau que votre dossier htdocs distant, la commande suivante devrait faire l&#039;affaire (executée depuis le dossier patchs):&lt;br /&gt;
 patch -u -p0 -d ../htdocs &amp;lt; monfichier.patch&lt;br /&gt;
&amp;lt;nowiki&amp;gt;Pour information: -p0 permet d&#039;utiliser le chemin entier tel que mentionné dans le fichier de patch (-pn en retire les n premiers niveau de l&#039;arborescence)&lt;br /&gt;
-d permet de préciser le chemin relatif vers le dossier htdocs à patcher.&lt;br /&gt;
&amp;lt; permet de donner le chemin vers le fichier source à utiliser (le patch en mode unifié)&lt;br /&gt;
-u permet de préciser que le patch est en mode unifié&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comment devenir développeur officiel ==&lt;br /&gt;
&lt;br /&gt;
Ceci passe par plusieurs étapes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Membre de l&#039;alliance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Il faut d&#039;abord se familiariser avec les règles et normes de développements.&lt;br /&gt;
En lisant toute la documentation développeur, vous devenez ainsi membre de l&#039;alliance.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Chasseur de l&#039;alliance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
L&#039;étape suivante consiste à soumettre des patch, en commençant par des simples, sur la ML (voir chapitre précédent). A votre première soumission, vous entrez alors dans la famille des Chasseurs de l&#039;alliance.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jedi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ce n&#039;est qu&#039;au bout d&#039;un temps variable, qui peut être très long, et si la qualité des patch&lt;br /&gt;
qui ont été envoyée est satisfaisante que l&#039;équipe en place offrira un accès CVS direct.&lt;br /&gt;
Vous êtes devenu un Jedi. Ce titre ne se demande pas, il s&#039;obtient par proposition d&#039;un autre Jedi.&lt;br /&gt;
Ce privilège est toutefois exceptionnel. La qualité de Dolibarr ne pouvant être atteindre &lt;br /&gt;
que par un nombre de commiteur très réduit, ce qui n&#039;empêche pas d&#039;avoir un nombre de&lt;br /&gt;
développeur (chasseurs) très important (grâce au système de patch).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maitre Yoda&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Au nombre de 1 à 3, c&#039;est le role de chef de projet.&lt;/div&gt;</summary>
		<author><name>Raphaelb</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=FAQ_D%C3%A9veloppeur&amp;diff=1952</id>
		<title>FAQ Développeur</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=FAQ_D%C3%A9veloppeur&amp;diff=1952"/>
		<updated>2008-06-30T07:46:46Z</updated>

		<summary type="html">&lt;p&gt;Raphaelb: /* Soumettre un patch, amelioration ou participer au développement */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Récupérer/mettre à jour la version CVS développeur ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Utilisation du CVS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La première opération consiste à récupérer les dernières versions des sources CVS.&lt;br /&gt;
Pour cela, voir la [http://www.dolibarr.fr/component/option,com_docman/task,cat_view/gid,64/Itemid,36/lang,fr/ Version CVS du jour].&lt;br /&gt;
Les nouveaux fichiers doivent écraser les anciens.&lt;br /&gt;
&lt;br /&gt;
Pour récupérer la dernière version CVS, vous pouvez aussi directement utiliser [http://savannah.nongnu.org/cvs/?group=dolibarr le serveur CVS en mode anonyme], si vous disposez d&#039;un client CVS (commande cvs sous linux, ou TortoiseCVS par exemple sous windows)&lt;br /&gt;
La commande script permettant de récupérer un snapshot intégral (sans suivi cvs) dans le répertoire courrant est:&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
 export CVSROOT&lt;br /&gt;
 cvs -q export -r HEAD -d ./ dolibarr/&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
Pour récupérer uniquement les 3 dossiers principaux de Dolibarr:&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
 export CVSROOT&lt;br /&gt;
 cvs -q export -r HEAD -d ./htdocs dolibarr/htdocs&lt;br /&gt;
 cvs -q export -r HEAD -d ./mysql dolibarr/mysql&lt;br /&gt;
 cvs -q export -r HEAD -d ./external-libs dolibarr/external-libs&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La commande permettant de mettre à jour localement la copie de travail CVS :&lt;br /&gt;
&#039;&#039;Sous linux (script shell):&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
 export CVSROOT&lt;br /&gt;
 cvs -q update -P -d&lt;br /&gt;
Sous Windows avec Tortoise cvs&lt;br /&gt;
 &amp;quot;C:\Program Files\CVSNT\cvs.exe&amp;quot; -q update -P -d&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mise a jour de la base&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La deuxième étape consiste à migrer la base. Pour celà, il suffit d&#039;appeler la page&lt;br /&gt;
http://maracinedolibarr/install/&lt;br /&gt;
et choisir l&#039;option &amp;quot;Mise à jour&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Cette procédure de migration/mise à jour est conçue pour fonctionner quel que soit l&#039;état de départ et peut être repassée plusieurs fois sans risque.&lt;br /&gt;
&lt;br /&gt;
== Démarrer le développement ==&lt;br /&gt;
&lt;br /&gt;
Consulter &#039;&#039;&#039;intégralement&#039;&#039;&#039; la [[Documentation Développeur]] pour assimiler toutes les règles et principes imposées aux développeurs.&lt;br /&gt;
Vous pouvez aussi consulter les FAQ suivantes.&lt;br /&gt;
&lt;br /&gt;
== Comment créer un nouveau theme ==&lt;br /&gt;
Voir pour cela la page [[Themes]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comment développer mon propre système de menu ==&lt;br /&gt;
Voir pour cela la page [[Système_de_menus]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comment développer mon propre module ==&lt;br /&gt;
Voir pour cela la page [[Developpement_module]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comment ajouter une traduction ==&lt;br /&gt;
Voir pour cela la page [[Documentation_traducteur]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changer mon système de numérotation des factures en cours de route ==&lt;br /&gt;
Si le nouveau système de numérotation n&#039;entre pas en conflit avec l&#039;ancien, il suffit d&#039;aller dans le menu Configuration - Modules - Configuration factures et prendre un nouveau modèle dans la liste.&lt;br /&gt;
Si le nouveau système rentre en conflit, il est nécessaire de renuméroter vos références existantes. Cela peut-être fait avec une requête SQL.&lt;br /&gt;
Par exemple, pour passer de Jupiter (FYYYYMM99) à Terre (FAYYMM-999), vous pouvez exécuter la requête suivante:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update llx_facture set facnumber=concat(&#039;FA&#039;,substr(facnumber,4,4),&#039;-&#039;,substr(facnumber,8))&lt;br /&gt;
where facnumber like &#039;F%&#039; and facnumber not like &#039;FA%&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par exemple, pour passer d&#039;un modele FAYYMM999 à Terre (FAYYMM-999), vous pouvez exécuter la requête suivante:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update llx_facture set facnumber=concat(&#039;FA&#039;,substr(facnumber,3,4),&#039;-&#039;,substr(CONCAT(&#039;0000&#039;,substr(facnumber,7)),-4))&lt;br /&gt;
where facnumber like &#039;FA%&#039; and facnumber not like &#039;%-%&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Soumettre un patch, amelioration ou participer au développement ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Avec accès CVS en écriture &#039;&#039;&#039;&lt;br /&gt;
A ce jour, les accès en écriture au CVS sont restreints (le nombre de commit étant déjà suffisamment dynamique). Il n&#039;est pas exclu d&#039;accueillir d&#039;autres développeurs en modification à d&#039;autres horizons. Si vous bénéficiez donc à l&#039;heure actuelle d&#039;un accès CVS en écriture, utilisez-le. Sinon, il est nécessaire de suivre la procédure qui suit (Modification du code, sans accès CVS en écriture)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sans accès CVS en écriture&#039;&#039;&#039;&lt;br /&gt;
Si vous n&#039;avez pas de compte développeur, il est nécessaire de fournir par mail, votre fichier patch. &lt;br /&gt;
&lt;br /&gt;
Sous tout OS:&lt;br /&gt;
&lt;br /&gt;
Voici la &#039;&#039;méthode Pro&#039;&#039; selon laquelle travailler pour pouvoir générer un tel fichier patch:&lt;br /&gt;
&lt;br /&gt;
- Avoir un répertoire qui contient la version de Dolibarr de référence (résultat de la mise à jour CVS ou bien tout simplement l&#039;arborescence résultant de la décompression d&#039;un snapshot tgz de Dolibarr). On appellera ce répertoire &#039;&#039;&#039;ancien_rep&#039;&#039;&#039;. Vous pouvez récupérer le snapshot de la version de dev en cours sur le  [http://www.dolibarr.org/component/option,com_docman/task,cat_view/gid,50/Itemid,36/lang,en/ site officiel de Dolibarr].&lt;br /&gt;
&lt;br /&gt;
- Avoir un autre répertoire qui contient l&#039;arborescence de Dolibarr mais dans laquelle vous faites ou avez fait vos modifications. On appellera ce répertoire &#039;&#039;&#039;nouveau_rep&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Pour générer le fichier patch, il suffit alors de lancer la commande &#039;&#039;&#039;diff&#039;&#039;&#039; (en standard sous Linux, fourni dans [http://www.cygwin.org cygwin] sous Windows) de la manière suivante:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -Naur --exclude=CVS --exclude=&amp;quot;.#*&amp;quot; --exclude=&amp;quot;*~&amp;quot; --exclude=&amp;quot;*.bak&amp;quot; --exclude=conf.php --exclude=documents  ancien_rep  nouveau_rep  &amp;gt; fichier.patch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Envoyer votre patch sur la ML.&lt;br /&gt;
L&#039;intégration de votre patch n&#039;est toutefois pas garantie, pas plus que le délai.&lt;br /&gt;
&lt;br /&gt;
Sous Windows:&lt;br /&gt;
&lt;br /&gt;
Si vous êtes sous Windows, une &#039;&#039;méthode moins Pro&#039;&#039; mais qui donne le même résultat est la suivante. Installer l&#039;excellent outil open source de comparaison Winmerge qui sait fabriquer des patchs au format &#039;&#039;diff -Naur&#039;&#039;. Pour cela, comparer avec Winmerge le fichier référence et le fichier modifié et choisir dans le menu &#039;&#039;&amp;quot;Tools - Generate patch&amp;quot;&#039;&#039; (&#039;&#039;Générer des retouches&#039;&#039; en version française). Saisir un nom de fichier comme &#039;&#039;&amp;quot;resultat.patch&amp;quot;&#039;&#039;, cocher la case &#039;&#039;&amp;quot;Append&amp;quot;&#039;&#039; et choisir l&#039;option &#039;&#039;&amp;quot;Format Unified&amp;quot;&#039;&#039; (&#039;&#039;Style : unifié&#039;&#039; en version française). Cliquer sur &#039;&#039;&amp;quot;Ok&amp;quot;&#039;&#039;.&lt;br /&gt;
Éventuellement recommencer pour chaque fichier modifié.&lt;br /&gt;
Au final, on obtient un beau fichier &#039;&#039;resultat.patch&#039;&#039; qui contient toutes les modifications au bon format.&lt;br /&gt;
&lt;br /&gt;
Au lieu de rechercher manuellement vos fichiers, si vous avez installé conjointement &#039;&#039;TortoiseCVS&#039;&#039; et &#039;&#039;Winmerge&#039;&#039;, vous pouvez vous contenter de votre version modifiée sur votre ordinateur, et de la version CVS en ligne. Sous l&#039;explorateur Windows, faites un clic droit sur le fichier qui doit être patché, et choisissez &amp;quot;CVS comparer&amp;quot; (pas WinMerge qui se trouve quelques lignes plus bas). Tortoise va lui-même lancer WinMerge. Puis reprenez la procédure décrite ci-dessus.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Appliquer un patch&#039;&#039;&#039;&lt;br /&gt;
Si votre patch n&#039;a pas encore été appliqué, mais que vous souhaitez de votre coté l&#039;appliquer sur votre serveur linux fraichement mis à jour depuis la CVS, cela est possible grace à l&#039;utilitaire patch. &lt;br /&gt;
En admettant que vous avez créé votre patch à partir du répertoire htdocs de votre copie locale du cvs modifiée par vos soins, et que vous avez envoyé votre patch (monfichier.patch) sur le serveur dans le dossier patchs situé au meme niveau que votre dossier htdocs distant, la commande suivante devrait faire l&#039;affaire (executée depuis le dossier patchs):&lt;br /&gt;
 patch -u -p0 -d ../htdocs &amp;lt; monfichier.patch&lt;br /&gt;
&amp;lt;nowiki&amp;gt;Pour information: -p0 permet d&#039;utiliser le chemin entier tel que mentionné dans le fichier de patch (-pn en retire les n premiers niveau de l&#039;arborescence)&lt;br /&gt;
-d permet de préciser le chemin relatif vers le dossier htdocs à patcher.&lt;br /&gt;
&amp;lt; permet de donner le chemin vers le fichier source à utiliser (le patch en mode unifié)&lt;br /&gt;
-u permet de préciser que le patch est en mode unifié&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comment devenir développeur officiel ==&lt;br /&gt;
&lt;br /&gt;
Ceci passe par plusieurs étapes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Membre de l&#039;alliance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Il faut d&#039;abord se familiariser avec les règles et normes de développements.&lt;br /&gt;
En lisant toute la documentation développeur, vous devenez ainsi membre de l&#039;alliance.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Chasseur de l&#039;alliance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
L&#039;étape suivante consiste à soumettre des patch, en commençant par des simples, sur la ML (voir chapitre précédent). A votre première soumission, vous entrez alors dans la famille des Chasseurs de l&#039;alliance.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jedi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ce n&#039;est qu&#039;au bout d&#039;un temps variable, qui peut être très long, et si la qualité des patch&lt;br /&gt;
qui ont été envoyée est satisfaisante que l&#039;équipe en place offrira un accès CVS direct.&lt;br /&gt;
Vous êtes devenu un Jedi. Ce titre ne se demande pas, il s&#039;obtient par proposition d&#039;un autre Jedi.&lt;br /&gt;
Ce privilège est toutefois exceptionnel. La qualité de Dolibarr ne pouvant être atteindre &lt;br /&gt;
que par un nombre de commiteur très réduit, ce qui n&#039;empêche pas d&#039;avoir un nombre de&lt;br /&gt;
développeur (chasseurs) très important (grâce au système de patch).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maitre Yoda&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Au nombre de 1 à 3, c&#039;est le role de chef de projet.&lt;/div&gt;</summary>
		<author><name>Raphaelb</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=FAQ_D%C3%A9veloppeur&amp;diff=1951</id>
		<title>FAQ Développeur</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=FAQ_D%C3%A9veloppeur&amp;diff=1951"/>
		<updated>2008-06-30T07:34:18Z</updated>

		<summary type="html">&lt;p&gt;Raphaelb: /* Récupérer/mettre à jour la version CVS développeur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Récupérer/mettre à jour la version CVS développeur ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Utilisation du CVS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La première opération consiste à récupérer les dernières versions des sources CVS.&lt;br /&gt;
Pour cela, voir la [http://www.dolibarr.fr/component/option,com_docman/task,cat_view/gid,64/Itemid,36/lang,fr/ Version CVS du jour].&lt;br /&gt;
Les nouveaux fichiers doivent écraser les anciens.&lt;br /&gt;
&lt;br /&gt;
Pour récupérer la dernière version CVS, vous pouvez aussi directement utiliser [http://savannah.nongnu.org/cvs/?group=dolibarr le serveur CVS en mode anonyme], si vous disposez d&#039;un client CVS (commande cvs sous linux, ou TortoiseCVS par exemple sous windows)&lt;br /&gt;
La commande script permettant de récupérer un snapshot intégral (sans suivi cvs) dans le répertoire courrant est:&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
 export CVSROOT&lt;br /&gt;
 cvs -q export -r HEAD -d ./ dolibarr/&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
Pour récupérer uniquement les 3 dossiers principaux de Dolibarr:&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
 export CVSROOT&lt;br /&gt;
 cvs -q export -r HEAD -d ./htdocs dolibarr/htdocs&lt;br /&gt;
 cvs -q export -r HEAD -d ./mysql dolibarr/mysql&lt;br /&gt;
 cvs -q export -r HEAD -d ./external-libs dolibarr/external-libs&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La commande permettant de mettre à jour localement la copie de travail CVS :&lt;br /&gt;
&#039;&#039;Sous linux (script shell):&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
 export CVSROOT&lt;br /&gt;
 cvs -q update -P -d&lt;br /&gt;
Sous Windows avec Tortoise cvs&lt;br /&gt;
 &amp;quot;C:\Program Files\CVSNT\cvs.exe&amp;quot; -q update -P -d&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mise a jour de la base&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La deuxième étape consiste à migrer la base. Pour celà, il suffit d&#039;appeler la page&lt;br /&gt;
http://maracinedolibarr/install/&lt;br /&gt;
et choisir l&#039;option &amp;quot;Mise à jour&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Cette procédure de migration/mise à jour est conçue pour fonctionner quel que soit l&#039;état de départ et peut être repassée plusieurs fois sans risque.&lt;br /&gt;
&lt;br /&gt;
== Démarrer le développement ==&lt;br /&gt;
&lt;br /&gt;
Consulter &#039;&#039;&#039;intégralement&#039;&#039;&#039; la [[Documentation Développeur]] pour assimiler toutes les règles et principes imposées aux développeurs.&lt;br /&gt;
Vous pouvez aussi consulter les FAQ suivantes.&lt;br /&gt;
&lt;br /&gt;
== Comment créer un nouveau theme ==&lt;br /&gt;
Voir pour cela la page [[Themes]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comment développer mon propre système de menu ==&lt;br /&gt;
Voir pour cela la page [[Système_de_menus]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comment développer mon propre module ==&lt;br /&gt;
Voir pour cela la page [[Developpement_module]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comment ajouter une traduction ==&lt;br /&gt;
Voir pour cela la page [[Documentation_traducteur]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changer mon système de numérotation des factures en cours de route ==&lt;br /&gt;
Si le nouveau système de numérotation n&#039;entre pas en conflit avec l&#039;ancien, il suffit d&#039;aller dans le menu Configuration - Modules - Configuration factures et prendre un nouveau modèle dans la liste.&lt;br /&gt;
Si le nouveau système rentre en conflit, il est nécessaire de renuméroter vos références existantes. Cela peut-être fait avec une requête SQL.&lt;br /&gt;
Par exemple, pour passer de Jupiter (FYYYYMM99) à Terre (FAYYMM-999), vous pouvez exécuter la requête suivante:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update llx_facture set facnumber=concat(&#039;FA&#039;,substr(facnumber,4,4),&#039;-&#039;,substr(facnumber,8))&lt;br /&gt;
where facnumber like &#039;F%&#039; and facnumber not like &#039;FA%&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par exemple, pour passer d&#039;un modele FAYYMM999 à Terre (FAYYMM-999), vous pouvez exécuter la requête suivante:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update llx_facture set facnumber=concat(&#039;FA&#039;,substr(facnumber,3,4),&#039;-&#039;,substr(CONCAT(&#039;0000&#039;,substr(facnumber,7)),-4))&lt;br /&gt;
where facnumber like &#039;FA%&#039; and facnumber not like &#039;%-%&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Soumettre un patch, amelioration ou participer au développement ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Avec accès CVS en écriture &#039;&#039;&#039;&lt;br /&gt;
A ce jour, les accès en écriture au CVS sont restreints (le nombre de commit étant déjà suffisamment dynamique). Il n&#039;est pas exclu d&#039;accueillir d&#039;autres développeurs en modification à d&#039;autres horizons. Si vous bénéficiez donc à l&#039;heure actuelle d&#039;un accès CVS en écriture, utilisez-le. Sinon, il est nécessaire de suivre la procédure qui suit (Modification du code, sans accès CVS en écriture)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sans accès CVS en écriture&#039;&#039;&#039;&lt;br /&gt;
Si vous n&#039;avez pas de compte développeur, il est nécessaire de fournir par mail, votre fichier patch. &lt;br /&gt;
&lt;br /&gt;
Sous tout OS:&lt;br /&gt;
&lt;br /&gt;
Voici la &#039;&#039;méthode Pro&#039;&#039; selon laquelle travailler pour pouvoir générer un tel fichier patch:&lt;br /&gt;
&lt;br /&gt;
- Avoir un répertoire qui contient la version de Dolibarr de référence (résultat de la mise à jour CVS ou bien tout simplement l&#039;arborescence résultant de la décompression d&#039;un snapshot tgz de Dolibarr). On appellera ce répertoire &#039;&#039;&#039;ancien_rep&#039;&#039;&#039;. Vous pouvez récupérer le snapshot de la version de dev en cours sur le  [http://www.dolibarr.org/component/option,com_docman/task,cat_view/gid,50/Itemid,36/lang,en/ site officiel de Dolibarr].&lt;br /&gt;
&lt;br /&gt;
- Avoir un autre répertoire qui contient l&#039;arborescence de Dolibarr mais dans laquelle vous faites ou avez fait vos modifications. On appellera ce répertoire &#039;&#039;&#039;nouveau_rep&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Pour générer le fichier patch, il suffit alors de lancer la commande &#039;&#039;&#039;diff&#039;&#039;&#039; (en standard sous Linux, fourni dans [http://www.cygwin.org cygwin] sous Windows) de la manière suivante:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -Naur --exclude=CVS --exclude=&amp;quot;.#*&amp;quot; --exclude=&amp;quot;*~&amp;quot; --exclude=&amp;quot;*.bak&amp;quot; --exclude=conf.php --exclude=documents  ancien_rep  nouveau_rep  &amp;gt; fichier.patch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Envoyer votre patch sur la ML.&lt;br /&gt;
L&#039;intégration de votre patch n&#039;est toutefois pas garantie, pas plus que le délai.&lt;br /&gt;
&lt;br /&gt;
Sous Windows:&lt;br /&gt;
&lt;br /&gt;
Si vous êtes sous Windows, une &#039;&#039;méthode moins Pro&#039;&#039; mais qui donne le même résultat est la suivante. Installer l&#039;excellent outil open source de comparaison Winmerge qui sait fabriquer des patchs au format &#039;&#039;diff -Naur&#039;&#039;. Pour cela, comparer avec Winmerge le fichier référence et le fichier modifié et choisir dans le menu &#039;&#039;&amp;quot;Tools - Generate patch&amp;quot;&#039;&#039; (&#039;&#039;Générer des retouches&#039;&#039; en version française). Saisir un nom de fichier comme &#039;&#039;&amp;quot;resultat.patch&amp;quot;&#039;&#039;, cocher la case &#039;&#039;&amp;quot;Append&amp;quot;&#039;&#039; et choisir l&#039;option &#039;&#039;&amp;quot;Format Unified&amp;quot;&#039;&#039; (&#039;&#039;Style : unifié&#039;&#039; en version française). Cliquer sur &#039;&#039;&amp;quot;Ok&amp;quot;&#039;&#039;.&lt;br /&gt;
Éventuellement recommencer pour chaque fichier modifié.&lt;br /&gt;
Au final, on obtient un beau fichier &#039;&#039;resultat.patch&#039;&#039; qui contient toutes les modifications au bon format.&lt;br /&gt;
&lt;br /&gt;
Au lieu de rechercher manuellement vos fichiers, si vous avez installé conjointement &#039;&#039;TortoiseCVS&#039;&#039; et &#039;&#039;Winmerge&#039;&#039;, vous pouvez vous contenter de votre version modifiée sur votre ordinateur, et de la version CVS en ligne. Sous l&#039;explorateur Windows, faites un clic droit sur le fichier qui doit être patché, et choisissez &amp;quot;CVS comparer&amp;quot; (pas WinMerge qui se trouve quelques lignes plus bas). Tortoise va lui-même lancer WinMerge. Puis reprenez la procédure décrite ci-dessus.&lt;br /&gt;
&lt;br /&gt;
== Comment devenir développeur officiel ==&lt;br /&gt;
&lt;br /&gt;
Ceci passe par plusieurs étapes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Membre de l&#039;alliance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Il faut d&#039;abord se familiariser avec les règles et normes de développements.&lt;br /&gt;
En lisant toute la documentation développeur, vous devenez ainsi membre de l&#039;alliance.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Chasseur de l&#039;alliance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
L&#039;étape suivante consiste à soumettre des patch, en commençant par des simples, sur la ML (voir chapitre précédent). A votre première soumission, vous entrez alors dans la famille des Chasseurs de l&#039;alliance.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jedi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ce n&#039;est qu&#039;au bout d&#039;un temps variable, qui peut être très long, et si la qualité des patch&lt;br /&gt;
qui ont été envoyée est satisfaisante que l&#039;équipe en place offrira un accès CVS direct.&lt;br /&gt;
Vous êtes devenu un Jedi. Ce titre ne se demande pas, il s&#039;obtient par proposition d&#039;un autre Jedi.&lt;br /&gt;
Ce privilège est toutefois exceptionnel. La qualité de Dolibarr ne pouvant être atteindre &lt;br /&gt;
que par un nombre de commiteur très réduit, ce qui n&#039;empêche pas d&#039;avoir un nombre de&lt;br /&gt;
développeur (chasseurs) très important (grâce au système de patch).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maitre Yoda&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Au nombre de 1 à 3, c&#039;est le role de chef de projet.&lt;/div&gt;</summary>
		<author><name>Raphaelb</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=FAQ_D%C3%A9veloppeur&amp;diff=1950</id>
		<title>FAQ Développeur</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=FAQ_D%C3%A9veloppeur&amp;diff=1950"/>
		<updated>2008-06-30T07:34:03Z</updated>

		<summary type="html">&lt;p&gt;Raphaelb: /* Récupérer/mettre à jour la version CVS développeur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Récupérer/mettre à jour la version CVS développeur ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Utilisation du CVS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La première opération consiste à récupérer les dernières versions des sources CVS.&lt;br /&gt;
Pour cela, voir la [http://www.dolibarr.fr/component/option,com_docman/task,cat_view/gid,64/Itemid,36/lang,fr/ Version CVS du jour].&lt;br /&gt;
Les nouveaux fichiers doivent écraser les anciens.&lt;br /&gt;
&lt;br /&gt;
Pour récupérer la dernière version CVS, vous pouvez aussi directement utiliser [http://savannah.nongnu.org/cvs/?group=dolibarr le serveur CVS en mode anonyme], si vous disposez d&#039;un client CVS (commande cvs sous linux, ou TortoiseCVS par exemple sous windows)&lt;br /&gt;
La commande script permettant de récupérer un snapshot intégral (sans suivi cvs) dans le répertoire courrant est:&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
 export CVSROOT&lt;br /&gt;
 cvs -q export -r HEAD -d ./ dolibarr/&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
Pour récupérer uniquement les 3 dossiers principaux de Dolibarr:&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
 export CVSROOT&lt;br /&gt;
 cvs -q export -r HEAD -d ./htdocs dolibarr/htdocs&lt;br /&gt;
 cvs -q export -r HEAD -d ./mysql dolibarr/mysql&lt;br /&gt;
 cvs -q export -r HEAD -d ./external-libs dolibarr/external-libs&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La commande permettant de mettre à jour localement la copie de travail CVS :&lt;br /&gt;
&#039;&#039;Sous linux (script shell):&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
 export CVSROOT&lt;br /&gt;
 cvs -q update -P -d&lt;br /&gt;
 Sous Windows avec Tortoise cvs&lt;br /&gt;
 &amp;quot;C:\Program Files\CVSNT\cvs.exe&amp;quot; -q update -P -d&lt;br /&gt;
 CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mise a jour de la base&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La deuxième étape consiste à migrer la base. Pour celà, il suffit d&#039;appeler la page&lt;br /&gt;
http://maracinedolibarr/install/&lt;br /&gt;
et choisir l&#039;option &amp;quot;Mise à jour&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Cette procédure de migration/mise à jour est conçue pour fonctionner quel que soit l&#039;état de départ et peut être repassée plusieurs fois sans risque.&lt;br /&gt;
&lt;br /&gt;
== Démarrer le développement ==&lt;br /&gt;
&lt;br /&gt;
Consulter &#039;&#039;&#039;intégralement&#039;&#039;&#039; la [[Documentation Développeur]] pour assimiler toutes les règles et principes imposées aux développeurs.&lt;br /&gt;
Vous pouvez aussi consulter les FAQ suivantes.&lt;br /&gt;
&lt;br /&gt;
== Comment créer un nouveau theme ==&lt;br /&gt;
Voir pour cela la page [[Themes]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comment développer mon propre système de menu ==&lt;br /&gt;
Voir pour cela la page [[Système_de_menus]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comment développer mon propre module ==&lt;br /&gt;
Voir pour cela la page [[Developpement_module]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comment ajouter une traduction ==&lt;br /&gt;
Voir pour cela la page [[Documentation_traducteur]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changer mon système de numérotation des factures en cours de route ==&lt;br /&gt;
Si le nouveau système de numérotation n&#039;entre pas en conflit avec l&#039;ancien, il suffit d&#039;aller dans le menu Configuration - Modules - Configuration factures et prendre un nouveau modèle dans la liste.&lt;br /&gt;
Si le nouveau système rentre en conflit, il est nécessaire de renuméroter vos références existantes. Cela peut-être fait avec une requête SQL.&lt;br /&gt;
Par exemple, pour passer de Jupiter (FYYYYMM99) à Terre (FAYYMM-999), vous pouvez exécuter la requête suivante:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update llx_facture set facnumber=concat(&#039;FA&#039;,substr(facnumber,4,4),&#039;-&#039;,substr(facnumber,8))&lt;br /&gt;
where facnumber like &#039;F%&#039; and facnumber not like &#039;FA%&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par exemple, pour passer d&#039;un modele FAYYMM999 à Terre (FAYYMM-999), vous pouvez exécuter la requête suivante:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update llx_facture set facnumber=concat(&#039;FA&#039;,substr(facnumber,3,4),&#039;-&#039;,substr(CONCAT(&#039;0000&#039;,substr(facnumber,7)),-4))&lt;br /&gt;
where facnumber like &#039;FA%&#039; and facnumber not like &#039;%-%&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Soumettre un patch, amelioration ou participer au développement ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Avec accès CVS en écriture &#039;&#039;&#039;&lt;br /&gt;
A ce jour, les accès en écriture au CVS sont restreints (le nombre de commit étant déjà suffisamment dynamique). Il n&#039;est pas exclu d&#039;accueillir d&#039;autres développeurs en modification à d&#039;autres horizons. Si vous bénéficiez donc à l&#039;heure actuelle d&#039;un accès CVS en écriture, utilisez-le. Sinon, il est nécessaire de suivre la procédure qui suit (Modification du code, sans accès CVS en écriture)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sans accès CVS en écriture&#039;&#039;&#039;&lt;br /&gt;
Si vous n&#039;avez pas de compte développeur, il est nécessaire de fournir par mail, votre fichier patch. &lt;br /&gt;
&lt;br /&gt;
Sous tout OS:&lt;br /&gt;
&lt;br /&gt;
Voici la &#039;&#039;méthode Pro&#039;&#039; selon laquelle travailler pour pouvoir générer un tel fichier patch:&lt;br /&gt;
&lt;br /&gt;
- Avoir un répertoire qui contient la version de Dolibarr de référence (résultat de la mise à jour CVS ou bien tout simplement l&#039;arborescence résultant de la décompression d&#039;un snapshot tgz de Dolibarr). On appellera ce répertoire &#039;&#039;&#039;ancien_rep&#039;&#039;&#039;. Vous pouvez récupérer le snapshot de la version de dev en cours sur le  [http://www.dolibarr.org/component/option,com_docman/task,cat_view/gid,50/Itemid,36/lang,en/ site officiel de Dolibarr].&lt;br /&gt;
&lt;br /&gt;
- Avoir un autre répertoire qui contient l&#039;arborescence de Dolibarr mais dans laquelle vous faites ou avez fait vos modifications. On appellera ce répertoire &#039;&#039;&#039;nouveau_rep&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Pour générer le fichier patch, il suffit alors de lancer la commande &#039;&#039;&#039;diff&#039;&#039;&#039; (en standard sous Linux, fourni dans [http://www.cygwin.org cygwin] sous Windows) de la manière suivante:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -Naur --exclude=CVS --exclude=&amp;quot;.#*&amp;quot; --exclude=&amp;quot;*~&amp;quot; --exclude=&amp;quot;*.bak&amp;quot; --exclude=conf.php --exclude=documents  ancien_rep  nouveau_rep  &amp;gt; fichier.patch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Envoyer votre patch sur la ML.&lt;br /&gt;
L&#039;intégration de votre patch n&#039;est toutefois pas garantie, pas plus que le délai.&lt;br /&gt;
&lt;br /&gt;
Sous Windows:&lt;br /&gt;
&lt;br /&gt;
Si vous êtes sous Windows, une &#039;&#039;méthode moins Pro&#039;&#039; mais qui donne le même résultat est la suivante. Installer l&#039;excellent outil open source de comparaison Winmerge qui sait fabriquer des patchs au format &#039;&#039;diff -Naur&#039;&#039;. Pour cela, comparer avec Winmerge le fichier référence et le fichier modifié et choisir dans le menu &#039;&#039;&amp;quot;Tools - Generate patch&amp;quot;&#039;&#039; (&#039;&#039;Générer des retouches&#039;&#039; en version française). Saisir un nom de fichier comme &#039;&#039;&amp;quot;resultat.patch&amp;quot;&#039;&#039;, cocher la case &#039;&#039;&amp;quot;Append&amp;quot;&#039;&#039; et choisir l&#039;option &#039;&#039;&amp;quot;Format Unified&amp;quot;&#039;&#039; (&#039;&#039;Style : unifié&#039;&#039; en version française). Cliquer sur &#039;&#039;&amp;quot;Ok&amp;quot;&#039;&#039;.&lt;br /&gt;
Éventuellement recommencer pour chaque fichier modifié.&lt;br /&gt;
Au final, on obtient un beau fichier &#039;&#039;resultat.patch&#039;&#039; qui contient toutes les modifications au bon format.&lt;br /&gt;
&lt;br /&gt;
Au lieu de rechercher manuellement vos fichiers, si vous avez installé conjointement &#039;&#039;TortoiseCVS&#039;&#039; et &#039;&#039;Winmerge&#039;&#039;, vous pouvez vous contenter de votre version modifiée sur votre ordinateur, et de la version CVS en ligne. Sous l&#039;explorateur Windows, faites un clic droit sur le fichier qui doit être patché, et choisissez &amp;quot;CVS comparer&amp;quot; (pas WinMerge qui se trouve quelques lignes plus bas). Tortoise va lui-même lancer WinMerge. Puis reprenez la procédure décrite ci-dessus.&lt;br /&gt;
&lt;br /&gt;
== Comment devenir développeur officiel ==&lt;br /&gt;
&lt;br /&gt;
Ceci passe par plusieurs étapes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Membre de l&#039;alliance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Il faut d&#039;abord se familiariser avec les règles et normes de développements.&lt;br /&gt;
En lisant toute la documentation développeur, vous devenez ainsi membre de l&#039;alliance.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Chasseur de l&#039;alliance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
L&#039;étape suivante consiste à soumettre des patch, en commençant par des simples, sur la ML (voir chapitre précédent). A votre première soumission, vous entrez alors dans la famille des Chasseurs de l&#039;alliance.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jedi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ce n&#039;est qu&#039;au bout d&#039;un temps variable, qui peut être très long, et si la qualité des patch&lt;br /&gt;
qui ont été envoyée est satisfaisante que l&#039;équipe en place offrira un accès CVS direct.&lt;br /&gt;
Vous êtes devenu un Jedi. Ce titre ne se demande pas, il s&#039;obtient par proposition d&#039;un autre Jedi.&lt;br /&gt;
Ce privilège est toutefois exceptionnel. La qualité de Dolibarr ne pouvant être atteindre &lt;br /&gt;
que par un nombre de commiteur très réduit, ce qui n&#039;empêche pas d&#039;avoir un nombre de&lt;br /&gt;
développeur (chasseurs) très important (grâce au système de patch).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maitre Yoda&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Au nombre de 1 à 3, c&#039;est le role de chef de projet.&lt;/div&gt;</summary>
		<author><name>Raphaelb</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=FAQ_D%C3%A9veloppeur&amp;diff=1949</id>
		<title>FAQ Développeur</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=FAQ_D%C3%A9veloppeur&amp;diff=1949"/>
		<updated>2008-06-30T07:30:18Z</updated>

		<summary type="html">&lt;p&gt;Raphaelb: /* Récupérer/mettre à jour la version CVS développeur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Récupérer/mettre à jour la version CVS développeur ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Utilisation du CVS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La première opération consiste à récupérer les dernières versions des sources CVS.&lt;br /&gt;
Pour cela, voir la [http://www.dolibarr.fr/component/option,com_docman/task,cat_view/gid,64/Itemid,36/lang,fr/ Version CVS du jour].&lt;br /&gt;
Les nouveaux fichiers doivent écraser les anciens.&lt;br /&gt;
&lt;br /&gt;
Pour récupérer la dernière version CVS, vous pouvez aussi directement utiliser [http://savannah.nongnu.org/cvs/?group=dolibarr le serveur CVS en mode anonyme], si vous disposez d&#039;un client CVS (commande cvs sous linux, ou TortoiseCVS par exemple sous windows)&lt;br /&gt;
La commande script permettant de récupérer un snapshot intégral (sans suivi cvs) dans le répertoire courrant est:&lt;br /&gt;
&#039;&#039;&amp;lt;nowiki&amp;gt;CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
export CVSROOT&lt;br /&gt;
cvs -q export -r HEAD -d ./ dolibarr/&amp;lt;/nowiki&amp;gt;&#039;&#039;&lt;br /&gt;
Pour récupérer uniquement les 3 dossiers principaux de Dolibarr:&lt;br /&gt;
&#039;&#039;&amp;lt;nowiki&amp;gt;CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
export CVSROOT&lt;br /&gt;
cvs -q export -r HEAD -d ./htdocs dolibarr/htdocs&lt;br /&gt;
cvs -q export -r HEAD -d ./mysql dolibarr/mysql&lt;br /&gt;
cvs -q export -r HEAD -d ./external-libs dolibarr/external-libs&amp;lt;/nowiki&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La commande permettant de mettre à jour localement la copie de travail CVS :&lt;br /&gt;
&#039;&#039;Sous linux (script shell):&lt;br /&gt;
&amp;lt;nowiki&amp;gt;CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&lt;br /&gt;
export CVSROOT&lt;br /&gt;
cvs -q update -P -d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Sous Windows avec Tortoise cvs&lt;br /&gt;
&amp;quot;C:\Program Files\CVSNT\cvs.exe&amp;quot; -q update -P -d&lt;br /&gt;
CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/dolibarr&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mise a jour de la base&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La deuxième étape consiste à migrer la base. Pour celà, il suffit d&#039;appeler la page&lt;br /&gt;
http://maracinedolibarr/install/&lt;br /&gt;
et choisir l&#039;option &amp;quot;Mise à jour&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Cette procédure de migration/mise à jour est conçue pour fonctionner quel que soit l&#039;état de départ et peut être repassée plusieurs fois sans risque.&lt;br /&gt;
&lt;br /&gt;
== Démarrer le développement ==&lt;br /&gt;
&lt;br /&gt;
Consulter &#039;&#039;&#039;intégralement&#039;&#039;&#039; la [[Documentation Développeur]] pour assimiler toutes les règles et principes imposées aux développeurs.&lt;br /&gt;
Vous pouvez aussi consulter les FAQ suivantes.&lt;br /&gt;
&lt;br /&gt;
== Comment créer un nouveau theme ==&lt;br /&gt;
Voir pour cela la page [[Themes]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comment développer mon propre système de menu ==&lt;br /&gt;
Voir pour cela la page [[Système_de_menus]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comment développer mon propre module ==&lt;br /&gt;
Voir pour cela la page [[Developpement_module]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comment ajouter une traduction ==&lt;br /&gt;
Voir pour cela la page [[Documentation_traducteur]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changer mon système de numérotation des factures en cours de route ==&lt;br /&gt;
Si le nouveau système de numérotation n&#039;entre pas en conflit avec l&#039;ancien, il suffit d&#039;aller dans le menu Configuration - Modules - Configuration factures et prendre un nouveau modèle dans la liste.&lt;br /&gt;
Si le nouveau système rentre en conflit, il est nécessaire de renuméroter vos références existantes. Cela peut-être fait avec une requête SQL.&lt;br /&gt;
Par exemple, pour passer de Jupiter (FYYYYMM99) à Terre (FAYYMM-999), vous pouvez exécuter la requête suivante:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update llx_facture set facnumber=concat(&#039;FA&#039;,substr(facnumber,4,4),&#039;-&#039;,substr(facnumber,8))&lt;br /&gt;
where facnumber like &#039;F%&#039; and facnumber not like &#039;FA%&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par exemple, pour passer d&#039;un modele FAYYMM999 à Terre (FAYYMM-999), vous pouvez exécuter la requête suivante:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update llx_facture set facnumber=concat(&#039;FA&#039;,substr(facnumber,3,4),&#039;-&#039;,substr(CONCAT(&#039;0000&#039;,substr(facnumber,7)),-4))&lt;br /&gt;
where facnumber like &#039;FA%&#039; and facnumber not like &#039;%-%&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Soumettre un patch, amelioration ou participer au développement ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Avec accès CVS en écriture &#039;&#039;&#039;&lt;br /&gt;
A ce jour, les accès en écriture au CVS sont restreints (le nombre de commit étant déjà suffisamment dynamique). Il n&#039;est pas exclu d&#039;accueillir d&#039;autres développeurs en modification à d&#039;autres horizons. Si vous bénéficiez donc à l&#039;heure actuelle d&#039;un accès CVS en écriture, utilisez-le. Sinon, il est nécessaire de suivre la procédure qui suit (Modification du code, sans accès CVS en écriture)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sans accès CVS en écriture&#039;&#039;&#039;&lt;br /&gt;
Si vous n&#039;avez pas de compte développeur, il est nécessaire de fournir par mail, votre fichier patch. &lt;br /&gt;
&lt;br /&gt;
Sous tout OS:&lt;br /&gt;
&lt;br /&gt;
Voici la &#039;&#039;méthode Pro&#039;&#039; selon laquelle travailler pour pouvoir générer un tel fichier patch:&lt;br /&gt;
&lt;br /&gt;
- Avoir un répertoire qui contient la version de Dolibarr de référence (résultat de la mise à jour CVS ou bien tout simplement l&#039;arborescence résultant de la décompression d&#039;un snapshot tgz de Dolibarr). On appellera ce répertoire &#039;&#039;&#039;ancien_rep&#039;&#039;&#039;. Vous pouvez récupérer le snapshot de la version de dev en cours sur le  [http://www.dolibarr.org/component/option,com_docman/task,cat_view/gid,50/Itemid,36/lang,en/ site officiel de Dolibarr].&lt;br /&gt;
&lt;br /&gt;
- Avoir un autre répertoire qui contient l&#039;arborescence de Dolibarr mais dans laquelle vous faites ou avez fait vos modifications. On appellera ce répertoire &#039;&#039;&#039;nouveau_rep&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Pour générer le fichier patch, il suffit alors de lancer la commande &#039;&#039;&#039;diff&#039;&#039;&#039; (en standard sous Linux, fourni dans [http://www.cygwin.org cygwin] sous Windows) de la manière suivante:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -Naur --exclude=CVS --exclude=&amp;quot;.#*&amp;quot; --exclude=&amp;quot;*~&amp;quot; --exclude=&amp;quot;*.bak&amp;quot; --exclude=conf.php --exclude=documents  ancien_rep  nouveau_rep  &amp;gt; fichier.patch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Envoyer votre patch sur la ML.&lt;br /&gt;
L&#039;intégration de votre patch n&#039;est toutefois pas garantie, pas plus que le délai.&lt;br /&gt;
&lt;br /&gt;
Sous Windows:&lt;br /&gt;
&lt;br /&gt;
Si vous êtes sous Windows, une &#039;&#039;méthode moins Pro&#039;&#039; mais qui donne le même résultat est la suivante. Installer l&#039;excellent outil open source de comparaison Winmerge qui sait fabriquer des patchs au format &#039;&#039;diff -Naur&#039;&#039;. Pour cela, comparer avec Winmerge le fichier référence et le fichier modifié et choisir dans le menu &#039;&#039;&amp;quot;Tools - Generate patch&amp;quot;&#039;&#039; (&#039;&#039;Générer des retouches&#039;&#039; en version française). Saisir un nom de fichier comme &#039;&#039;&amp;quot;resultat.patch&amp;quot;&#039;&#039;, cocher la case &#039;&#039;&amp;quot;Append&amp;quot;&#039;&#039; et choisir l&#039;option &#039;&#039;&amp;quot;Format Unified&amp;quot;&#039;&#039; (&#039;&#039;Style : unifié&#039;&#039; en version française). Cliquer sur &#039;&#039;&amp;quot;Ok&amp;quot;&#039;&#039;.&lt;br /&gt;
Éventuellement recommencer pour chaque fichier modifié.&lt;br /&gt;
Au final, on obtient un beau fichier &#039;&#039;resultat.patch&#039;&#039; qui contient toutes les modifications au bon format.&lt;br /&gt;
&lt;br /&gt;
Au lieu de rechercher manuellement vos fichiers, si vous avez installé conjointement &#039;&#039;TortoiseCVS&#039;&#039; et &#039;&#039;Winmerge&#039;&#039;, vous pouvez vous contenter de votre version modifiée sur votre ordinateur, et de la version CVS en ligne. Sous l&#039;explorateur Windows, faites un clic droit sur le fichier qui doit être patché, et choisissez &amp;quot;CVS comparer&amp;quot; (pas WinMerge qui se trouve quelques lignes plus bas). Tortoise va lui-même lancer WinMerge. Puis reprenez la procédure décrite ci-dessus.&lt;br /&gt;
&lt;br /&gt;
== Comment devenir développeur officiel ==&lt;br /&gt;
&lt;br /&gt;
Ceci passe par plusieurs étapes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Membre de l&#039;alliance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Il faut d&#039;abord se familiariser avec les règles et normes de développements.&lt;br /&gt;
En lisant toute la documentation développeur, vous devenez ainsi membre de l&#039;alliance.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Chasseur de l&#039;alliance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
L&#039;étape suivante consiste à soumettre des patch, en commençant par des simples, sur la ML (voir chapitre précédent). A votre première soumission, vous entrez alors dans la famille des Chasseurs de l&#039;alliance.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jedi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ce n&#039;est qu&#039;au bout d&#039;un temps variable, qui peut être très long, et si la qualité des patch&lt;br /&gt;
qui ont été envoyée est satisfaisante que l&#039;équipe en place offrira un accès CVS direct.&lt;br /&gt;
Vous êtes devenu un Jedi. Ce titre ne se demande pas, il s&#039;obtient par proposition d&#039;un autre Jedi.&lt;br /&gt;
Ce privilège est toutefois exceptionnel. La qualité de Dolibarr ne pouvant être atteindre &lt;br /&gt;
que par un nombre de commiteur très réduit, ce qui n&#039;empêche pas d&#039;avoir un nombre de&lt;br /&gt;
développeur (chasseurs) très important (grâce au système de patch).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maitre Yoda&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Au nombre de 1 à 3, c&#039;est le role de chef de projet.&lt;/div&gt;</summary>
		<author><name>Raphaelb</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=FAQ_Utilisateur&amp;diff=4377</id>
		<title>FAQ Utilisateur</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=FAQ_Utilisateur&amp;diff=4377"/>
		<updated>2008-05-14T07:09:47Z</updated>

		<summary type="html">&lt;p&gt;Raphaelb: /* FAQ sur le Forum */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== FAQ sur le Forum ==&lt;br /&gt;
De nombreuses Questions-Réponses sont disponibles sur le forum Dolibarr&lt;br /&gt;
&lt;br /&gt;
[http://www.dolibarr.fr/component/option,com_fireboard/Itemid,32/ Forum Dolibarr]&lt;br /&gt;
&lt;br /&gt;
== FAQ sur ce Wiki ==&lt;br /&gt;
&lt;br /&gt;
D&#039;autres sont recensées ici. N&#039;hésitez pas à compléter.&lt;br /&gt;
 &lt;br /&gt;
* &#039;&#039;&#039;Je saisis mes montants avec des centimes mais ils n&#039;apparaissent pas dans les factures ou ecrans&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[FAQ_Montants]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Les dates ne s&#039;affichent pas dans la bonne langue&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[FAQ_Langue]]&lt;/div&gt;</summary>
		<author><name>Raphaelb</name></author>
	</entry>
</feed>