<?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=Bfaliere</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=Bfaliere"/>
	<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php/Special:Contributions/Bfaliere"/>
	<updated>2026-11-12T01:12:36Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Dolibarr_suppliers_France&amp;diff=65229</id>
		<title>Dolibarr suppliers France</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Dolibarr_suppliers_France&amp;diff=65229"/>
		<updated>2026-01-21T08:17:37Z</updated>

		<summary type="html">&lt;p&gt;Bfaliere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dolibarr_suppliers}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=1fonet Services|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Integrations and open source development&lt;br /&gt;
Specialist software open source.Dolibarr, Joomla! Prestashop, Cahiers des charges ERP/CRM, Ecommerce, site web, gratuits. Complementary development of the module, component or application needs. Based in the PACA region work throughout France.|&lt;br /&gt;
web=http://www.1fonet.fr|&lt;br /&gt;
email=mailto:contact@1fonet.fr|&lt;br /&gt;
zip=13530|&lt;br /&gt;
town=Trets|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=2A2C Conseil|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=CRM et Solutions e-commerce opensource pour TPM et PME, VoIP et Hosting en marque blanche, maintenance informatique, WordPress, Dolibarr, Prestashop, Formation utilisateur|&lt;br /&gt;
web=|&lt;br /&gt;
email=mailto:info@2a2c-conseil.fr|&lt;br /&gt;
zip=75012|&lt;br /&gt;
town=PARIS|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=A3SYS : MON-DOLIBARR|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=52456658500021 (SIRET)|&lt;br /&gt;
desc=Intégration, assistance et développement.&lt;br /&gt;
Notre société forte de plus de 25 ans d&#039;expérience dans l&#039;intégration de divers ERP propose ses services aux entreprises souhaitant mettre en place l&#039;ERP Dolibarr. Une plateforme dédiée est mise en place pour proposer des services de qualité à moindre coût.|&lt;br /&gt;
web=http://www.mon-dolibarr.fr|&lt;br /&gt;
email=http://www.mon-dolibarr.fr/contact/|&lt;br /&gt;
zip=59310|&lt;br /&gt;
town=Orchies (Nord - France)|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=logo_mon-dolibarr.jpg&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=A6TM - SOLUTIONS|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=A6TM SOLUTIONS, est une entreprise maîtrisant les technologies de l&#039;informatique, et spécialisée dans les solutions informatiques et notamment les services tels que l&#039;infogérance, installations et déploiements, dépannages, maintenance et réseaux informatique. Installation et maintenance CMS(Joomla, Wordpress...), Progiciel ERP/CRM (Dolibarr...)|&lt;br /&gt;
web=http://www.a6tm-solutions.fr|&lt;br /&gt;
email=mailto:contact@a6tm-solutions.fr|&lt;br /&gt;
zip=44|&lt;br /&gt;
town=Nantes et son département|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=ACN - Atelier de Création Numérique|&lt;br /&gt;
profid=808 725 212 00019|&lt;br /&gt;
desc=ACN (Atelier de Création Numérique), Maîtres d’œuvres en Informatique, Nous sommes spécialisés dans le conseil, la création et l’intégration de solutions professionnelles pour les bureaux d&#039;études. Nos solutions vont de l’intégration d’outils Open Source et de logiciels libres à la mise en place des meilleurs produits de grands éditeurs du marché.|&lt;br /&gt;
web=http://ateliercreationnumerique.com/|&lt;br /&gt;
email=mailto:contact@atlcreanum.com|&lt;br /&gt;
zip=44|&lt;br /&gt;
town=Nantes et Grand Ouest|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=acn.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Apio systems|&lt;br /&gt;
profid=529 919 540 00029|&lt;br /&gt;
desc=Apio systems vous accompagne dans tous vos projets Open Source. Apio systems prend en charge l&#039;hébergement, l&#039;installation et l&#039;infogérance de vos applications Open Source desservant votre entreprise, tel qu&#039;un environnement web/e-commerce avec WP/PS ou autre au besoin, la partie ERP avec Dolibarr, la partie messagerie collaborative avec Kopano, la partie partage de gros fichier avec NextCloud, etc.|&lt;br /&gt;
web=https://apio.systems/|&lt;br /&gt;
email=mailto:ping@apio.systems|&lt;br /&gt;
zip=13105|&lt;br /&gt;
town=Mimet|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo-apio-systems.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Aplose|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=534906698|&lt;br /&gt;
desc=&lt;br /&gt;
APLOSE est une entreprise de services numériques spécialisée dans les logiciels libres, l’ERP/CRM Dolibarr et le développement informatique complexe. Nous accompagnons les entreprises de toutes tailles dans leurs projets de transformation digitale, en leur apportant notre expertise et nos solutions innovantes.|&lt;br /&gt;
web=http://www.aplose.fr|&lt;br /&gt;
email=[mailto:contact@aplose.fr?subject=Contact%20from%20Dolibarr%20Suppliers%20France20page contact@aplose.fr]|&lt;br /&gt;
zip=34990|&lt;br /&gt;
town=Juvignac|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=Logo_Aplose.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Artaban Communication|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=400 396 388 00037|&lt;br /&gt;
desc=Artaban Communication est une SSLL. Spécialistes du CMS SPIP, nous concevons et réalisons des sites web à forte composante éditoriale. Nous prenons également en charge le webmastering et la création de contenu. Notre expertise s&#039;étend à un certain nombre de logiciels, choisis pour leur qualité et leur intérêt, et avec lesquels nous aimons travailler et notamment Dolibarr. Artaban Communication est membre de l&#039;April.|&lt;br /&gt;
web=http://www.artaban.fr|&lt;br /&gt;
email=mailto:contact@artaban.fr|&lt;br /&gt;
zip=94340|&lt;br /&gt;
town=Joinville-le-Pont|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Artaban_logo.png‎|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=ATM Consulting|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=753 447 481 00015|&lt;br /&gt;
desc=Consulting company dedicated to small and medium enterprises information system optimization, we provide to our customers open-source based solutions to improve their information system efficiency. We offer hosting and support solutions and we are Dolibarr contributor, developer and integrator. &amp;quot;Open-source. Custom. Freedom&amp;quot;|&lt;br /&gt;
web=http://www.atm-consulting.fr|&lt;br /&gt;
email=mailto:contact@atm-consulting.fr|&lt;br /&gt;
zip=26000|&lt;br /&gt;
town=Valence|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=AB2L|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Un Alsacien à votre service. Installation et configuration de l&#039;ERP/CRM Dolibarr dans votre entreprise ou sur notre serveur. Nous vous accompagnons pour un démarrage rapide et serein. Nous sommes une société de service en logiciel libre fournissant un équivalent open source au logiciel propriétaire de tout type. |&lt;br /&gt;
web=http://www.ab2l.eu|&lt;br /&gt;
email=mailto:contact@ab2l.eu|&lt;br /&gt;
zip=67000|&lt;br /&gt;
town=Strasbourg|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Axopen IT Services|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=L&#039;entreprise Axopen propose toute une gamme de produits et services informatiques allant du conseil en système d&#039;informations, développement de solutions sur mesure et intégration de solutions Open Source ou propriétaires. Nous sommes spécialisé en particulier dans l&#039;intégration de solutions de gestion de la relation client Open Source telles que Dolibarr, SugarCRM ou VTiger... |&lt;br /&gt;
web=http://www.axopen.com|&lt;br /&gt;
email=mailto:contact@axopen.com|&lt;br /&gt;
zip=69001|&lt;br /&gt;
town=Lyon|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=AKILIS|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=AKILIS est une société éditrice de logiciels de gestion qui a fait le pari d’utiliser les nouvelles méthodes de travail pour développer des solutions clairs et efficaces. Notre mission est de vous proposer des solutions simples d&#039;utilisation, ne demandant aucun entretien de votre part, ni aucune connaissance technique particulière. Notre outil est celui que VOUS utilisez quotidiennement : le Web.&lt;br /&gt;
AKILIS, c’est une équipe toujours disponible pour vous guider et vous écouter. Nous développons et améliorons sans cesse nos logiciels afin que ceux-ci répondent au mieux à votre activité et vos besoins.&lt;br /&gt;
AKILIS peut également, dans le cadre de besoin partculier, étudier avec vous un développement sur mesure. |&lt;br /&gt;
web=http://www.akilis.fr|&lt;br /&gt;
email=mailto:contact@akilis.fr|&lt;br /&gt;
zip=69200|&lt;br /&gt;
town=Vénissieux|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Altairis|&lt;br /&gt;
profid=488020108|&lt;br /&gt;
partner=yes|&lt;br /&gt;
desc=Développements spécifiques, Installation, Formation, Accompagnement à la mise en oeuvre, Support, Intégration. Spéclialiste solution de gestion des locations de produits avec Dolibarr.|&lt;br /&gt;
web=http://www.altairis.fr|&lt;br /&gt;
email=contact@altairis.fr|&lt;br /&gt;
zip=18270|&lt;br /&gt;
town=Culan|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Atoo.Net|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Installation et configuration de l&#039;ERP/CRM Dolibarr soit sur nos serveurs, soit en local dans votre entreprise. Aide à la prise en main et formation.|&lt;br /&gt;
web=http://www.atoo-net.com/|&lt;br /&gt;
email=contact@atoo-net.com|&lt;br /&gt;
zip=45160|&lt;br /&gt;
town=Olivet|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Bee-Smart.online|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=15 ans d&#039;expérience aux services des PME &amp;amp; grands groupes, Bee-Smart vous propose un accompagnement sur mesure , adapté à vos besoins métiers et votre budget.N&#039;hésitez pas, Bee-Smart.online, le partenaire de vos projets réussis.|&lt;br /&gt;
web=https://bee-smart.online|&lt;br /&gt;
email=contact@bee-smart.online|&lt;br /&gt;
zip=25|&lt;br /&gt;
town=Montbéliard|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Faliere.com|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Installation, configuration, hébergement de Dolibarr ERP/CRM. Développement de modules et interventions ponctuelles.|&lt;br /&gt;
web=https://www.faliere.com|&lt;br /&gt;
email=contact@faliere.com|&lt;br /&gt;
zip=71700|&lt;br /&gt;
town=Farges-lès-Mâcon|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=Faliere.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Blue-Click Informatique|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Nous proposons l&#039;installation et la configuration de l&#039;ERP/CRM Dolibarr dans votre entreprise ou sur votre hébergement Internet. De plus nous assurons la formation pour la prise en main de cet outil adapté aux TPE et PME.|&lt;br /&gt;
web=http://www.blue-click.fr|&lt;br /&gt;
email=|&lt;br /&gt;
zip=92,78|&lt;br /&gt;
town=Nanterre,Plaisir|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=CAP-REL|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Après avoir contribué au code de dolibarr dans les années 2004-2005 et l&#039;avoir utilisé en interne pour de nombreux projets depuis cette époque je propose maintenant un service autour de Dolibarr (adaptation, accompagnement, utilisation etc.).|&lt;br /&gt;
web=https://www.cap-rel.fr|&lt;br /&gt;
email=eric.doli@cap-rel.fr|&lt;br /&gt;
zip=30|&lt;br /&gt;
town=Département du Gard|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_cap-rel.png‎|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=I-Faktur.eu|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Proche de nos clients depuis 2009 nous sommes prestataire informatique avec une expérience de 30 ans de métier. Nous vous conseillons et vous accompagnons pour la gestion de votre Dolibarr et proposons l&#039;hébergement en ligne|&lt;br /&gt;
web=https://i-faktur.eu|&lt;br /&gt;
email=contact@i-faktur.eu|&lt;br /&gt;
zip=67680|&lt;br /&gt;
town=Epfig|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=I-faktur_dark-fr.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Caribbean Consult CCC|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Installation, configuration de l&#039;ERP/CRM Dolibarr en ligne, ou en local pour votre entreprise ou association. Migration de données vers Dolibarr. Prise en main, support et formation.|&lt;br /&gt;
web=https://dolibarr.ccc.gp|&lt;br /&gt;
email=support@caribbeanconsult.com|&lt;br /&gt;
zip=97180|&lt;br /&gt;
town=Sainte Anne (Guadeloupe et Martinique) Antilles Guyane|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_CCC.png‎|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=CCB Informatique|&lt;br /&gt;
profid=907 715 031|&lt;br /&gt;
desc=Expert en solutions informatiques pour les entreprises et particuliers.&amp;lt;br&amp;gt;&lt;br /&gt;
Spécialiste solutions informatiques en Essonne, administration, maintenance, développement et dépannage sur mesure pour entreprises et particuliers.|&lt;br /&gt;
web=https://ccbinformatique.fr|&lt;br /&gt;
email=mailto:contact@ccbinformatique.fr|&lt;br /&gt;
zip=91170|&lt;br /&gt;
town=Viry-Châtillon|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo-ccbinformatique.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Cergy Internet|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Cergy Internet est spécialisé dans l’informatique et plus spécifiquement dans l’internet pour les PMI/PME. Nous maitrisons les technologies digitales du simple site web jusqu’au portail complète de pilotage d’entreprise. Grâce à Dolibarr nous pouvons vous donner une vision unique sur vos clients, vos produits et même votre trésorerie. Nous lions Dolibarr avec Wordpress et sur Smartphones pour créer des portails pour vos clients. Notre directeur, Thomas Carter, a fait son MBA à MIT aux USA et a géré des entreprises de plus de 100 personnes. Il met cette expérience à votre disposition. Chez Cergy Internet nous maitrisons la technologie de boute en boute. Nous avons notre propre équipe de jeunes codeurs qui baignent dans tous qui est réseaux sociaux, applications iPhone etc. ainsi qu’une plateforme de 30 serveurs pour héberger vos sites. |&lt;br /&gt;
web=www.cergy-internet.fr|&lt;br /&gt;
email=mailto:thomas.carter@cergy-internet.fr|&lt;br /&gt;
zip=95300|&lt;br /&gt;
town=Cergy-Pontoise|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Code 42|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=793 600 735 00021|&lt;br /&gt;
desc=Nous vous accompagnons dans l’installation  et le développement de votre outil informatique. Code 42, c’est avant tout une démarche qualité et de conseil pour une relation durable. Vous avez la vision de votre entreprise, nous avons les moyens.|&lt;br /&gt;
web=www.code42.fr|&lt;br /&gt;
email=mailto:lareponse@code42.fr|&lt;br /&gt;
zip=44100|&lt;br /&gt;
town=NANTES|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=D-BOG|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=IT services company located in Beaune (21), moved around Dolibarr:&lt;br /&gt;
Installation, setup, configuration on the internal server or hosted;&lt;br /&gt;
Training agreement;&lt;br /&gt;
Outsourcing, on-site maintenance and remote.|&lt;br /&gt;
web=http://www.d-bog.com/|&lt;br /&gt;
email=|&lt;br /&gt;
zip=|&lt;br /&gt;
town=Beaune|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=DiVA-Cloud|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=DiVA-Cloud propose des applications OpenSource de gestion de la communication et de l&#039;information pour les entreprises. Notre logithèque contient des applications de WebConference, ERP, CRM, CMS, GED, et bien d&#039;autres... Toutes ces applications pré-configurés sont mises à disposition sur un environnement privé. |&lt;br /&gt;
web=www.diva-cloud.com |&lt;br /&gt;
email=mailto:contact@diva-cloud.com |&lt;br /&gt;
zip=81100|&lt;br /&gt;
town=Castres|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=DoliCloud|&lt;br /&gt;
partner=yes|&lt;br /&gt;
desc=DoliCloud is one of the most important contributor on Dolibarr and can host for you a Dolibarr instance in a SaaS (Software As A Service) mode.|&lt;br /&gt;
profid=493 861 496 00021|&lt;br /&gt;
web=https://www.dolicloud.com|&lt;br /&gt;
email=|&lt;br /&gt;
zip=33600|&lt;br /&gt;
town=Pessac (Bordeaux)|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes (https://www.dolicloud.com)|&lt;br /&gt;
service_onlinesupport=only for DoliCloud.com customers|&lt;br /&gt;
service_emailsupport=only for DoliCloud.com customers|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=no|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=logo_dolicloud.png}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Dzprod|&lt;br /&gt;
desc=Développement de solutions avancées et innovantes répondant aux besoins métiers exprimés par les utilisateurs de Dolibarr|&lt;br /&gt;
profid=831 363 726 00017|&lt;br /&gt;
web=https://www.dzprod.net|&lt;br /&gt;
email=mailto:contact@dzprod.net|&lt;br /&gt;
zip=64100|&lt;br /&gt;
town=Bayonne|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=no|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=Logo_dzprod.png}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Elonet|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=SIRET:52511620800022|&lt;br /&gt;
desc=Elonet est intégrateur et développeur de solutions pour Dolibarr.|&lt;br /&gt;
web=https://elonet.fr/dolibarr.php|&lt;br /&gt;
email=mailto:contact@elonet.fr|&lt;br /&gt;
zip=59000|&lt;br /&gt;
town=LILLE|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=ElonetNew.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=EXIG|&lt;br /&gt;
profid=SIRET:91208951300010|&lt;br /&gt;
desc=EXIG est une entreprise de proximité qui propose différents services liés au domaine de l’informatique : en particulier, le développement et deployement de solutions web. Notre objectif est de fournir un outil adapté à votre activité et de vous accompagner dans son utilisation. &lt;br /&gt;
Nous sommes une équipe de développeurs au sein d’une entreprise d’informatique. Nous pouvons vous accompagner de A à Z lors dans la mise en place et utilisation de vos outils : du logiciel au matériel (en achat ou location) tout en prenant en compte l’aspect sécurité de l’infrastructure.|&lt;br /&gt;
email=|&lt;br /&gt;
web=https://exig.fr/logiciel-de-caisse-connecte/|&lt;br /&gt;
zip=35137|&lt;br /&gt;
town=BÉDÉE|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo-exig.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=FUTUR TECH|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Prestataire de services pour artisans, TPE, PME :&lt;br /&gt;
Solutions open source, Internet, Sécurité, Sauvegarde, Antivirus, Gestion d&#039;entreprise, Conseil, Formation, Installation et Paramétrage&lt;br /&gt;
Intervention sur site client. Situé entre Bordeaux et Libourne|&lt;br /&gt;
web=http://www.futur-tech.com|&lt;br /&gt;
email=mailto:info@futur-tech.com|&lt;br /&gt;
zip=33450|&lt;br /&gt;
town=IZON|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Groupe KM|&lt;br /&gt;
profid=790 885 388 00013|&lt;br /&gt;
desc=Intégrateur,développeur et hébergeur de solutions Open Source: Progiciel ERP/CRM (Dolibarr),CMS(Joomla)et e-commerce(Prestashop).&amp;lt;br&amp;gt;Nous déployons aussi des solutions Téléphonie (VOIP, PABX...) et Accés Internet (ADSL/VDSL, SDSL...).&amp;lt;br&amp;gt;&lt;br /&gt;
Secteur Cannes, Antibes, Sophia-Antipolis, Carros, Nice et plus généralement toutes les Alpes-Maritimes.&amp;lt;br&amp;gt;&lt;br /&gt;
Notre objectif : Vous satisfaire!|&lt;br /&gt;
web=https://www.groupe-km.com|&lt;br /&gt;
email=mailto:contact@groupe-km.com|&lt;br /&gt;
zip=06220|&lt;br /&gt;
town=Vallauris|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=GWARED|&lt;br /&gt;
profid=804 659 027 00036|&lt;br /&gt;
desc=La société GWARED, est une équipe diplômée dans le domaine de l’informatique, de plus de 10 ans d’expériences dans diverses structures telles que de grandes administrations, sociétés privées mais aussi au service des particuliers. Nous sommes à l’écoute pour vous accompagner dans vos projets.&lt;br /&gt;
&lt;br /&gt;
Professionnel ou particulier, nous vous proposons de nombreux services informatiques et domotiques adaptés à votre configuration et vos besoins. Nos prestations concernent la réparation et la maintenance de votre ordinateur ou de votre parc informatique, l&#039;installation réseau (Local informatique, Internet, intranet, Wifi, CPL, etc.), l&#039;installation d’alarmes et vidéo-surveillance, sur site, à distance ou à domicile.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notre société se distingue en trois branches :&lt;br /&gt;
&lt;br /&gt;
- L’informatique (GWARED)&lt;br /&gt;
- La sécurité (alarme, vidéosurveillance et protection numérique) (GWARDSECURITY)&lt;br /&gt;
- Les jeux vidéo (concepteur de console de jeux) (GWARDBOX)&lt;br /&gt;
&lt;br /&gt;
Nous pourrons répondre à tous vos besoins dans le domaine de l’informatique.|&lt;br /&gt;
web=http://www.gwared.fr|&lt;br /&gt;
email=[mailto:support@gwared.fr?subject=Contact%20de%20Dolibarr%20Suppliers%20France support@gwared.fr]|&lt;br /&gt;
zip=77500|&lt;br /&gt;
town=Chelles et Île de France|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_Gwared.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=HELIUM TECHNOLOGIES|&lt;br /&gt;
profid=494 895 360 00027|&lt;br /&gt;
partner=yes|&lt;br /&gt;
desc=&lt;br /&gt;
Mise en place de solutions ERP Dolibarr sur nos serveurs ou dans votre entreprise avec assistance téléphonique, support technique, développement de modules spécifiques et formation.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;SSII basée en Guadeloupe, Martinique et Guyane&#039;&#039;&#039;, nous proposons également des solutions libres comme GLPI, Prestashop, Joomla, Odoo, Zimbra, BlueMind, Centreon, ...|&lt;br /&gt;
web=http://|&lt;br /&gt;
email=[mailto:contact@helium-technologies.com?subject=Contact%20from%20Dolibarr%20Suppliers%20France20page contact@helium-technologies.com]|&lt;br /&gt;
zip=97122|&lt;br /&gt;
town=BAIE-MAHAULT (GUADELOUPE)|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_HeliumTechnologies.jpg&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=IABAI SaS|&lt;br /&gt;
profid= FR27913974648|&lt;br /&gt;
desc= SaaS Company specialised in IT operations, Automation, Business Management, Artificial Intelligence and more |&lt;br /&gt;
web=https://www.iab.ai|&lt;br /&gt;
email=mailto:info@iab.ai|&lt;br /&gt;
zip=13006|&lt;br /&gt;
town=Marseille|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=iabai_logo_small.png|&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Infonel.net|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=administrateur système open source indépendant:&lt;br /&gt;
Installation, paramétrage, configuration et sécurisation de dolibarr sur site client|&lt;br /&gt;
web=http://www.infonel.net|&lt;br /&gt;
email=|&lt;br /&gt;
zip=11100|&lt;br /&gt;
town=Narbonne|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=iNodbox|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Développeur indépendant d&#039;application web, paramétrage et installation de Dolibarr, développement de modules spécifique. Basé dans l&#039;Ain à Bourg en Bresse (30min de Mâcon, 1h de Chalon sur Saône, 1h de Lyon), je contribue depuis de nombreuses années au développement de Dolibarr.|&lt;br /&gt;
web=https://www.inodbox.com/|&lt;br /&gt;
email=regis.houssin@inodbox.com|&lt;br /&gt;
zip=01000|&lt;br /&gt;
town=Bourg en Bresse|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=(https://www.inodbox.com)|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Inovea Conseil|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=797 613 072 00017|&lt;br /&gt;
desc=Développeur, Intégrateur, Hébergeur et Formateur de Dolibarr pour TPE - PME | &lt;br /&gt;
web=https://www.inovea-conseil.com/ |&lt;br /&gt;
email=https://www.inovea-conseil.com/contact/ |&lt;br /&gt;
zip=88,54,75|&lt;br /&gt;
town=Nancy|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Inoveaconseil.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=i.d &amp;amp; l|&lt;br /&gt;
profid=521 749 994 00013|&lt;br /&gt;
desc=Conseil et intégration de solutions logicielles libres, dont Dolibarr, pour artisans, TPE, indépendants, commerçants, PME, associations...|&lt;br /&gt;
web=https://idl-mp.com|&lt;br /&gt;
email=https://idl-mp.com/contact/|&lt;br /&gt;
zip=31,32,09,82,81|&lt;br /&gt;
town=Région toulousaine|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=iouston informatique|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=792 353 005 00046|&lt;br /&gt;
desc=iouston informatique, situé à proximité de Nancy, Metz, Lunéville, est spécialisée auprès des associations, des TPE et des artisans commerçants. Nous installons et configurons dolibarr pour vous et nous formons vos équipes à son utilisation quotidienne. Nous proposons de nombreux autres services, associés ou non à dolibarr. Nous travaillons avec dolibarr depuis plus de 6 ans et éditons des modules supplémentaires pour dolibarr, [https://www.dolistore.com/fr/recherche?controller=search&amp;amp;orderby=position&amp;amp;orderway=desc&amp;amp;search_query=iouston&amp;amp;submit_search= disponibles sur dolistore]|&lt;br /&gt;
web=https://www.iouston.com|&lt;br /&gt;
email=allo@iouston.com|&lt;br /&gt;
zip=54370|&lt;br /&gt;
town=Einville au Jard|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=ISYNUX|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Société de services en réseaux et sytèmes. ISYNUX vous propose un suivi complet pour DOLIBARR : installation, hébergement, personnalisation de vos modèles de document, formation à la carte. |&lt;br /&gt;
web=http://www.isynux.fr|&lt;br /&gt;
email=mailto:formation@isynux.fr|&lt;br /&gt;
zip=626100|&lt;br /&gt;
town=Ardres|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Jeffinfo (ZenDSI)|&lt;br /&gt;
profid=429 625 973|&lt;br /&gt;
partner=yes|&lt;br /&gt;
desc=Jeffinfo est une société de services en informatique qui vous sert depuis plus de 15 ans dont 10 ans dans le domaine de Dolibarr. Implanté dans le nord à Ennetières en Weppes. Nous sommes à vos services pour vous proposer tous les services autour de votre ERP préféré.&lt;br /&gt;
web=https://shop.zendsi.com|&lt;br /&gt;
email=mailto:contact@zendsi.com|&lt;br /&gt;
zip=59320|&lt;br /&gt;
town=Ennetières en Weppes|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=KONTAVA|&lt;br /&gt;
profid=931 528 822 R.C.S. Toulouse|&lt;br /&gt;
desc= Une nouvelle solution en ligne, simplifiée avec des widgets graphiques pour suivre son activité. Que tu sois artisan, indépendant ou libéral, que tu gères une TPE ou une association, découvre notre solution de gestion adaptée à tes besoins. Région Toulousaine.|&lt;br /&gt;
web=https://kontava.fr|&lt;br /&gt;
email=mailto:contact@kontava.fr|&lt;br /&gt;
zip=31170|&lt;br /&gt;
town=Tournefeuille|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes (https://kontava.fr)|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=no|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=LogoKontava.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=KJR online|&lt;br /&gt;
profid=818 889 644 00014|&lt;br /&gt;
desc=Conseils et Services Informatiques. Installation, formation et personnalisation de Dolibarr. Région Toulousaine.|&lt;br /&gt;
web=http://www.kjr-online.fr|&lt;br /&gt;
email=mailto:eric.picabia@kjr-online.fr|&lt;br /&gt;
zip=31210|&lt;br /&gt;
town=Clarac|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Kreiz IT|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=	752 505 131 00017|&lt;br /&gt;
desc={{Flag_fr}}Conseils en organisation et sécurité informatique pour les TPE / PME. Dolibarr fait partie des outils informatiques structurants pour les TPE/PME proposé par Kreiz IT.&lt;br /&gt;
&lt;br /&gt;
{{Flag_en}}IT management and security consultant for small to medium business. Dolibarr is part of IT&#039;s structuring tools for business used by Kreiz IT. |&lt;br /&gt;
web=http://www.kreiz-it.fr |&lt;br /&gt;
email=mailto:contact@kreiz-it.fr |&lt;br /&gt;
zip=56600|&lt;br /&gt;
town=Lanester|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=LogoKIT.jpg&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=LIBRE EXPERT|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=48879200300045|&lt;br /&gt;
desc={{Flag_fr}}Intégrateur et développeur Dolibarr, auteur de plusieurs modules complémentaires, spécialiste également de l&#039;administration Linux.&lt;br /&gt;
&lt;br /&gt;
{{Flag_en}}&lt;br /&gt;
Integrator and Dolibarr developer, author of several complementary modules, also specialist in Linux administration. |&lt;br /&gt;
web=http://www.libre-expert.com|&lt;br /&gt;
email=mailto:contact@libre-expert.com |&lt;br /&gt;
zip=63100|&lt;br /&gt;
town=Clermont-Ferrand|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Libre Master|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc={{Flag_fr}}Aux entreprises qui recherchent une expertise senior pour héberger leur Dolibarr. L&#039;hébergement est clé en main, dédié et spécialisé, associé à de vrais méthodes d&#039;ingénierie avancée, maintenu à jour, sécurisé et sauvegardé dans un bunker. Ce service ne s&#039;adresse pas aux entreprises qui se contentent d&#039;un hébergement web amateur.&lt;br /&gt;
&lt;br /&gt;
{{Flag_en}}For companies looking for senior expertise to host their Dolibarr. The hosting is turnkey, dedicated and specialized, associated with real advanced engineering methods, kept up to date, secure and backed up in a bunker. This service is not for companies that are satisfied with amateur web hosting.&lt;br /&gt;
&lt;br /&gt;
{{Flag_sp}}A empresas que buscan experiencia senior para alojar su Dolibarr. El hosting es llave en mano, dedicado y especializado, combinado con métodos de ingeniería realmente avanzados, actualizado, seguro y respaldado en un búnker. Este servicio no está dirigido a empresas que se contentan con el alojamiento web para aficionados.|&lt;br /&gt;
web=https://libremaster.com/dolibarr-en-ligne/|&lt;br /&gt;
email=https://libremaster.com/contact/ |&lt;br /&gt;
zip=75017|&lt;br /&gt;
town=PARIS|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=no|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=Libremaster-v5-logo-fg-dark-50px.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Librethic|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=83334801400014|&lt;br /&gt;
desc={{Flag_fr}}Librethic est une Société de Services en Informatique et Technologies Libres, tournée vers les entreprises et les associations. Créée en 2017, elle est portée par des professionnels aguerris aux technologies libres et open source. &lt;br /&gt;
L&#039;environnement Dolibarr fait partie du cœur de compétences de Librethic (développement de modules complémentaires, hébergement SaaS, hébergement sur site, passerelle e-commerce).&lt;br /&gt;
{{Flag_en}}&lt;br /&gt;
Librethic is an IT Provider aiming at businesses and organizations, offering services in free/libre and open source software (FLOSS) and open design technologies. &lt;br /&gt;
Founded in 2017, Librethic is driven by libre and open source technologies seasoned professionals. Dolibarr&#039;s environment is one of Librethic&#039;s core skills (Addons and plugins development, SaaS hosting, on-premise hosting, e-commerce gateway).&lt;br /&gt;
web=https:/librethic.io/|&lt;br /&gt;
email=mailto:hello+dolibarr@librethic.io|&lt;br /&gt;
zip=34070|&lt;br /&gt;
town=Montpellier|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=logo-librethic.png&lt;br /&gt;
}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=LOGOTYP|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=Siret 38397720400031|&lt;br /&gt;
desc={{Flag_fr}}Intégration et formation dans l&#039;entreprise. Support, installation, sécurisation et plus.&lt;br /&gt;
&lt;br /&gt;
{{Flag_de}}&lt;br /&gt;
Integration und Schulung für Unternehmen &amp;amp; Mitarbeiter. Support, Installation, Sicherung und mehr.|&lt;br /&gt;
web=http://www.logotyp.fr|&lt;br /&gt;
email=mailto:jacobs@logotyp.fr |&lt;br /&gt;
zip=03200|&lt;br /&gt;
town=Vichy|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=LVS Informatique|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Development Specialist php, mysql. Creation, enhancement, customization of modules and components ...&lt;br /&gt;
Nos modifs/nos modules :&lt;br /&gt;
-cashdesk : prix en ttc, possibilité de modification du prix, du libellé...&lt;br /&gt;
-interfaçage avec GoogleAgenda (toutes les actions apparaissent dans GoogleAgenda)&lt;br /&gt;
-Mails/Télécopies reçus : apparaissent dans un onglet spécifique sur le tiers en question&lt;br /&gt;
-qualification Tiers&lt;br /&gt;
-Adresse Tiers vu dans GoogleMap&lt;br /&gt;
-creation de nbreux template excel/pdf&lt;br /&gt;
|&lt;br /&gt;
web=http://www.lvsinformatique.com|&lt;br /&gt;
email=|&lt;br /&gt;
zip=83860|&lt;br /&gt;
town=NANS LES PINS|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=MEDIALTA|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Installation, configuration de Dolibarr sur nos serveurs, ou dans l&#039;entreprise (Nancy, Metz, Lorraine, Grand Est). Formation, prise en main. Développement de modules sur mesure.|&lt;br /&gt;
web=www.medialta.com|&lt;br /&gt;
email=|&lt;br /&gt;
zip=54340|&lt;br /&gt;
town=Pompey|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Mephivio|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Services company with a computer located in Montpellier agglo, specializing in computer graphics, secretariat, Joomla web sites, client, opensource (Dolibarr, glpi, voip Elastix / Trixbox / PIAF etc ...)|&lt;br /&gt;
web=http://www.mephivio.fr/|&lt;br /&gt;
email=|&lt;br /&gt;
zip=|&lt;br /&gt;
town=|&lt;br /&gt;
country=fr|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=MEZIANT|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=MEZIANT propose aux PME, TPE, artisans, commerçants et associations de l&#039;Ouest son expertise en informatique issue d&#039;une expérience de plus de 15 ans en Audit de Système d&#039;Informations,  Site internet, Formation et Choix de logiciel de gestion (ERP) comme &#039;&#039;&#039;DOLIBARR&#039;&#039;&#039; dont elle peut assurer l’installation, la formation ou encore le développement de modules spécifiques sur site client.&lt;br /&gt;
web=http://www.meziant.fr |&lt;br /&gt;
email=mailto:contact@meziant.fr |&lt;br /&gt;
zip=22940|&lt;br /&gt;
town=PLAINTEL (Bretagne - France)|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Modulaweb : Technologies modulables orientées web.|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Développement d&#039;applicatifs web, hébergement d&#039;applications web, serveurs de fichiers et de sauvegarde, sites internet/intranet et intégration web, espaces clients, communication via internet (VoIP, messagerie instantanée), travail collaboratif. Spécialiste solutions libres pour l&#039;entreprise (Zimbra, Dolibarr, Thaïs...) Région Languedoc-Rouissillon et voisines |&lt;br /&gt;
web=http://www.modulaweb.fr|&lt;br /&gt;
email=http://www.modulaweb.fr/portail/contact/|&lt;br /&gt;
zip=34000|&lt;br /&gt;
town=Montpellier|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Net Logic|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=SIRET: 477 583 264 00023|&lt;br /&gt;
desc=Installation et configuration de l&#039;ERP/CRM Dolibarr sur nos serveurs, ou en local dans votre entreprise. Paramétrage, personnalisation, reporting spécifique, assistance.|&lt;br /&gt;
web=http://www.netlogic.fr/|&lt;br /&gt;
email=info@netlogic.fr|&lt;br /&gt;
zip=93160|&lt;br /&gt;
town=Noisy-le-Grand|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=NordCode|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=SIRET:99521905200017|&lt;br /&gt;
desc=Développement spécifique, corrections de bugs, migrations, paramétrage et support technique.|&lt;br /&gt;
web=https://nordcode.pro/|&lt;br /&gt;
email=mailto:julien@nordcode.pro|&lt;br /&gt;
zip=59163|&lt;br /&gt;
town=Condé-sur-l&#039;Escaut|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=NORD ERP CRM|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=83184221600010 (SIRET)|&lt;br /&gt;
desc=Intégration, assistance, formation, développements spécifiques et hébergement de solutions Dolibarr. NORD ERP CRM est certifié QUALIOPI ce qui permet la prise en charge des formations par les organismes de financement. Nous nous adaptons à vos spécificités métiers.|&lt;br /&gt;
web=https://www.nord-erp-crm.fr/|&lt;br /&gt;
email=mailto:contact@nord-erp-crm.fr|&lt;br /&gt;
zip=59100|&lt;br /&gt;
town=Roubaix|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=NS-INFO|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=79392284000020(SIRET)|&lt;br /&gt;
desc=Intégration, assistance, formation, développements spécifiques et hébergement de solutions Dolibarr|&lt;br /&gt;
web=https://www.ns-info.fr/|&lt;br /&gt;
email=mailto:contact@ns-info.fr|&lt;br /&gt;
zip=90360|&lt;br /&gt;
town=Lachapelle-sous-rougemont|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=LOGO NS-INFO90.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=NUM&#039;X|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=82465583100017(SIRET)|&lt;br /&gt;
desc=NUM&#039;X est une entreprise de services numériques (ESN) intervenant notamment pour les TPE PME et proposant des services autour du PGI Dolibarr|&lt;br /&gt;
web=https://www.numx-sets.eu/dolibarr.html|&lt;br /&gt;
email=mailto:contact@numx-sets.eu|&lt;br /&gt;
zip=44590|&lt;br /&gt;
town=SION-LES-MINES|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=LOGO numx-sets.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=OAS-SERVICES|&lt;br /&gt;
profid=829767904|&lt;br /&gt;
partner=no|&lt;br /&gt;
desc=&lt;br /&gt;
OAS-SERVICES est une société de service spécialisés dans la mise en place de logiciels libres sous forme de services cloud, notamment de Ma Gestion Cloud (Dolibarr, viger), la mise en place de site internet et boutique en lignes, le développement d&#039;application et de modules en PHP (Dolibarr, Wordpress, Prestashop), mais aussi en Java (JEE, Webservices, JPA), la mise en place de systèmes d&#039;exploitation (linux), la gestion de projet en agilité - Montpellier, Sète|&lt;br /&gt;
web=https://www.ma-gestion-cloud.fr|&lt;br /&gt;
email=[mailto:contact@oas-services.fr?subject=Contact%20from%20Dolibarr%20Suppliers%20France20page contact@oas-services.fr]|&lt;br /&gt;
zip=34200|&lt;br /&gt;
town=SETE|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=logo-oas-services.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=OPEN-DSI Easya Solutions|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=SIRET:75130522800015|&lt;br /&gt;
desc=Easya Solutions travaille à l&#039;optimisation de votre productivité. Forts de notre savoir-faire, nous proposons une approche éditeur de Dolibarr.&lt;br /&gt;
Bénéficiez d&#039;un outil couvrant l’ensemble de vos besoins, processus et spécificités. Gagnez du temps dans vos missions quotidiennes. Optez pour la solution Easya ERP/CRM :&lt;br /&gt;
&lt;br /&gt;
Un Dolibarr stable sur le long terme (5 ans) ;&lt;br /&gt;
&lt;br /&gt;
Le maintien en conditions opérationnelles du package : la correction des bugs fonctionnels est incluse dans votre forfait ;&lt;br /&gt;
&lt;br /&gt;
Une sélection de modules complémentaires installés et pré-paramétrés ;&lt;br /&gt;
&lt;br /&gt;
L&#039;hébergement en France pour le mode SaaS ; ou On-Premise.|&lt;br /&gt;
web=https://www.open-dsi.fr|&lt;br /&gt;
email=mailto:infos@open-dsi.fr|&lt;br /&gt;
zip=69,38,01,42|&lt;br /&gt;
town=LYON|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=LOGO-Easya_Solutions-carre.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Opens|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=SIRET:888 706 280 00011|&lt;br /&gt;
desc=Opens est spécialisée dans l&#039;accompagnement Digital, RH et Qualité. Nous croyons que ces trois pôles sont intimement liés et œuvrons pour la souveraineté numérique de nos clients. Nous intervenons principalement dans l&#039;Hérault et l&#039;Occitanie.|&lt;br /&gt;
web=https://solutions.open-s.fr|&lt;br /&gt;
email=mailto:contact@open-s|&lt;br /&gt;
zip=34000|&lt;br /&gt;
town=MONTPELLIER|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_opens_solutions.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Run Innovation|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=SIRET:39217453800059|&lt;br /&gt;
desc=Utilisateur de Dolibarr depuis 2004, Run Innovation est un intégrateur spécialisé dans l’implémentation de l’ERP/CRM Dolibarr en entreprise.|&lt;br /&gt;
web=https://runinnovation.tech|&lt;br /&gt;
email=mailto:contact@runinnovation.tech|&lt;br /&gt;
zip=64100|&lt;br /&gt;
town=Bayonne|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Cabecera-runinnovation-1.0.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=OIS - Open IT Store|&lt;br /&gt;
profid=822 430 419 00017|&lt;br /&gt;
desc=OIS (Open IT Store), We provide opensource instances located in Europe or North America.|&lt;br /&gt;
web=https://openitstore.com/dolibarr|&lt;br /&gt;
email=mailto:contact@openitstore.com|&lt;br /&gt;
zip=|&lt;br /&gt;
town=|&lt;br /&gt;
country=|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=no|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Oscss Shop|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=SIRET:810 421 339 00013|&lt;br /&gt;
desc=Développement de modules sur mesure, interconnexions  et hébergements.|&lt;br /&gt;
web=http://oscss-shop.fr|&lt;br /&gt;
email=mailto:support@oscss-shop.fr|&lt;br /&gt;
zip=28,45,41,72,61,27,75,69,38,01,73,74|&lt;br /&gt;
town=LA LOUPE|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Pascal Sené|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Logiciels libres et photographie.|&lt;br /&gt;
web=http://www.pascalsene.com|&lt;br /&gt;
email=contact@pascalsene.com|&lt;br /&gt;
zip=22,29,35,56|&lt;br /&gt;
town=Lannion|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Patas-Monkey|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Conseil, formation, développement et modules| &lt;br /&gt;
web=http://www.patas-monkey.com|&lt;br /&gt;
email=r.deschamps@patas-monkey.com|&lt;br /&gt;
zip=69,42,38,01,83|&lt;br /&gt;
town=Lyon|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Patasmonkey.jpg&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Pragma-tech|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=842 325 268 00014|&lt;br /&gt;
desc=Intégrateur, Hébergeur et Formateur de Dolibarr pour TPE - PME | &lt;br /&gt;
web=https://www.pragma-tech.fr/ |&lt;br /&gt;
email=contact@pragma-tech.fr|&lt;br /&gt;
zip=|&lt;br /&gt;
town=PAU|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=pragma-tech.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=ProbeSys|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Créée en 2003 par des passionnés du logiciel libre, [http://probesys.com ProbeSys] est une entreprise coopérative à l&#039;image du secteur des nouvelles technologies : dynamique, réactive et participative. |&lt;br /&gt;
web=http://www.probesys.com|&lt;br /&gt;
email=mailto:contact@probesys.com|&lt;br /&gt;
zip=38600|&lt;br /&gt;
town=Fontaine|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=PRODUCTIVIX sarl|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Productivix fourni aux PMI des solutions complètes de traçabilité code-barre / rfid et développe des applications mobiles sur mesure offline (connexions intermitentes) de scan et d&#039;impression mobiles liées à des ERP, elle travaille avec Dolibarr via ses API, paramètre les modules et fourni si nécessaire l&#039;hébergement et les modifications ou création de modules nécessaires dans Dolibarr; Productivix founi les licences mobiles en location, et à l&#039;achat les imprimantes et terminaux durcis avec scanner intégré- développements et installations à distance tous pays|&lt;br /&gt;
web=https://www.productivix.com/mot62.html|&lt;br /&gt;
email=https://www.productivix.com/article239.html|&lt;br /&gt;
zip=38|&lt;br /&gt;
town=Bourgoin-Jallieu|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Pro IP|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Mise en place de solutions ERP comme Dolibarr sur nos serveurs ou dans votre entreprise, assistance et formation|&lt;br /&gt;
web=http://wwww.proip.fr|&lt;br /&gt;
email=mailto:contact@proip.fr|&lt;br /&gt;
zip=62129|&lt;br /&gt;
town=Clarques|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Proxy-Media|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Services Informatiques aux artisans et independants|&lt;br /&gt;
email=mailto:contact@proxy-media.fr|&lt;br /&gt;
zip=17340|&lt;br /&gt;
town=Chatelaillon|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=PTMSoft SARL|&lt;br /&gt;
profid=520 618 646 00019|&lt;br /&gt;
desc=Société de services et de développement logiciel. Installation Dolibarr sur nos serveurs ou dans votre entreprise, assistance et configuration.|&lt;br /&gt;
web=http://www.ptmsoft.fr|&lt;br /&gt;
email=[mailto:contact@ptmsoft.fr?subject=Contact%20de%20la%20page%20Dolibarr%20Suppliers%20France contact@ptmsoft.fr]|&lt;br /&gt;
zip=68890|&lt;br /&gt;
town=Mulhouse, Colmar|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=Logo PTMSoft.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=SIMICAR|&lt;br /&gt;
profid=832 284 616 00014|&lt;br /&gt;
desc=Société de services et de développement logiciel. Faire de Dolibarr Vote Dolibarr.|&lt;br /&gt;
web=http://www.simicar.fr|&lt;br /&gt;
email=[mailto:contact@simicar.fr]|&lt;br /&gt;
zip=29290|&lt;br /&gt;
town=Saint-Renan|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo v2.svg.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Syllene|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=We install and configure the software Dolibarr to suit your needs and train your users. We can also provide hosting and maintenance of your application.|&lt;br /&gt;
web=http://www.syllene.net/|&lt;br /&gt;
email=|&lt;br /&gt;
zip=|&lt;br /&gt;
town=|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Tiaris|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Solutions and services for small businesses and merchants: e-commerce, maintenance, ERP/CRM Dolibarr, development telecommuting. ecommerce - dolibarr webservice based interface. Saas Offer Dolibarr + ecommerce connection for open source caddies (OsCommerce, Zencart, Crelaoded, Prestashop and others...)|&lt;br /&gt;
web=http://www.tiaris.fr/|&lt;br /&gt;
email=http://www.tiaris.fr/spip.php?page=contact|&lt;br /&gt;
zip=57870|&lt;br /&gt;
town=WALSCHEID|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=UTOPSYS -  L&#039;Informatique, Professionnelle.|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Maintenance, dépannage, conseil, audits, Green IT, solutions open-source de travail collaboratif, installation et maintenance Dolibarr. Bordeaux, CUB, Libourne.|&lt;br /&gt;
web=http://www.utopsys.fr|&lt;br /&gt;
email=|&lt;br /&gt;
zip=|&lt;br /&gt;
town=Libourne|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=YON - Your Own Net|&lt;br /&gt;
profid=822 430 419 00017|&lt;br /&gt;
desc=YON (Your Own Net), Fournisseur de solution numérique, Nous sommes spécialisés dans la fourniture de solutions informatiques pour les professionnelles et les particuliers. Nos solutions vont de l’intégration d’outils Open Source et de logiciels libres à l&#039;hébergement de logiciels.|&lt;br /&gt;
web=http://yourownnet.net/|&lt;br /&gt;
email=mailto:contact@yourownnet.net|&lt;br /&gt;
zip=79|&lt;br /&gt;
town=Niort et Grand Ouest|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Weedoo Digital|&lt;br /&gt;
profid=831 555 008 000 18 (SIRET)|&lt;br /&gt;
desc=Weedoo Digital est un fournisseur de solutions cloud et digitales pour entreprises. Nos services s’étendent de l’hébergement CLOUD aux solutions de gestion pour entreprises, en passant par le développement web et le E-marketing.|&lt;br /&gt;
web=https://weedoo.digital/|&lt;br /&gt;
email=https://weedoo.digital/contactez-nous|&lt;br /&gt;
zip=69|&lt;br /&gt;
town=Ain et Rhône-Alpes|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=WEBINFOPRO|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Society Computers and Internet service for small businesses located in the suburbs west of Paris. One of the main activities is the integration of open source software.|&lt;br /&gt;
web=http://www.webinfopro.fr/|&lt;br /&gt;
email=|&lt;br /&gt;
zip=|&lt;br /&gt;
town=|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Z-Application|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Développement personnalisé et assistance à la installation-migration. Support sur site possible dans le département Manche (50).|&lt;br /&gt;
web=https://www.z-application.com/|&lt;br /&gt;
email=|&lt;br /&gt;
zip=50250|&lt;br /&gt;
town=Coutances - Cherbourg - Saint-Lô|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Swendra Willy|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Développeur de modules Dolibarr, intégrateur de solution ERP prêt à l&#039;emploi|&lt;br /&gt;
web=http://www.wdeve.fr|&lt;br /&gt;
email=mailto:hello@wdeve.fr|&lt;br /&gt;
zip=06600|&lt;br /&gt;
town=Antibes|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Syncae|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Syncae est une solution d’hébergement haut de gamme pour Dolibarr, pensée pour les PME : rapide, sécurisé, clé en main.|&lt;br /&gt;
web=https://syncae.fr|&lt;br /&gt;
email=mailto:contact@syncae.fr|&lt;br /&gt;
zip=69300|&lt;br /&gt;
town=Lyon|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Bfaliere</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Dolibarr_suppliers_France&amp;diff=65228</id>
		<title>Dolibarr suppliers France</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Dolibarr_suppliers_France&amp;diff=65228"/>
		<updated>2026-01-21T08:17:06Z</updated>

		<summary type="html">&lt;p&gt;Bfaliere: Ajout logo Faliere.com&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dolibarr_suppliers}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=1fonet Services|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Integrations and open source development&lt;br /&gt;
Specialist software open source.Dolibarr, Joomla! Prestashop, Cahiers des charges ERP/CRM, Ecommerce, site web, gratuits. Complementary development of the module, component or application needs. Based in the PACA region work throughout France.|&lt;br /&gt;
web=http://www.1fonet.fr|&lt;br /&gt;
email=mailto:contact@1fonet.fr|&lt;br /&gt;
zip=13530|&lt;br /&gt;
town=Trets|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=2A2C Conseil|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=CRM et Solutions e-commerce opensource pour TPM et PME, VoIP et Hosting en marque blanche, maintenance informatique, WordPress, Dolibarr, Prestashop, Formation utilisateur|&lt;br /&gt;
web=|&lt;br /&gt;
email=mailto:info@2a2c-conseil.fr|&lt;br /&gt;
zip=75012|&lt;br /&gt;
town=PARIS|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=A3SYS : MON-DOLIBARR|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=52456658500021 (SIRET)|&lt;br /&gt;
desc=Intégration, assistance et développement.&lt;br /&gt;
Notre société forte de plus de 25 ans d&#039;expérience dans l&#039;intégration de divers ERP propose ses services aux entreprises souhaitant mettre en place l&#039;ERP Dolibarr. Une plateforme dédiée est mise en place pour proposer des services de qualité à moindre coût.|&lt;br /&gt;
web=http://www.mon-dolibarr.fr|&lt;br /&gt;
email=http://www.mon-dolibarr.fr/contact/|&lt;br /&gt;
zip=59310|&lt;br /&gt;
town=Orchies (Nord - France)|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=logo_mon-dolibarr.jpg&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=A6TM - SOLUTIONS|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=A6TM SOLUTIONS, est une entreprise maîtrisant les technologies de l&#039;informatique, et spécialisée dans les solutions informatiques et notamment les services tels que l&#039;infogérance, installations et déploiements, dépannages, maintenance et réseaux informatique. Installation et maintenance CMS(Joomla, Wordpress...), Progiciel ERP/CRM (Dolibarr...)|&lt;br /&gt;
web=http://www.a6tm-solutions.fr|&lt;br /&gt;
email=mailto:contact@a6tm-solutions.fr|&lt;br /&gt;
zip=44|&lt;br /&gt;
town=Nantes et son département|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=ACN - Atelier de Création Numérique|&lt;br /&gt;
profid=808 725 212 00019|&lt;br /&gt;
desc=ACN (Atelier de Création Numérique), Maîtres d’œuvres en Informatique, Nous sommes spécialisés dans le conseil, la création et l’intégration de solutions professionnelles pour les bureaux d&#039;études. Nos solutions vont de l’intégration d’outils Open Source et de logiciels libres à la mise en place des meilleurs produits de grands éditeurs du marché.|&lt;br /&gt;
web=http://ateliercreationnumerique.com/|&lt;br /&gt;
email=mailto:contact@atlcreanum.com|&lt;br /&gt;
zip=44|&lt;br /&gt;
town=Nantes et Grand Ouest|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=acn.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Apio systems|&lt;br /&gt;
profid=529 919 540 00029|&lt;br /&gt;
desc=Apio systems vous accompagne dans tous vos projets Open Source. Apio systems prend en charge l&#039;hébergement, l&#039;installation et l&#039;infogérance de vos applications Open Source desservant votre entreprise, tel qu&#039;un environnement web/e-commerce avec WP/PS ou autre au besoin, la partie ERP avec Dolibarr, la partie messagerie collaborative avec Kopano, la partie partage de gros fichier avec NextCloud, etc.|&lt;br /&gt;
web=https://apio.systems/|&lt;br /&gt;
email=mailto:ping@apio.systems|&lt;br /&gt;
zip=13105|&lt;br /&gt;
town=Mimet|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo-apio-systems.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Aplose|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=534906698|&lt;br /&gt;
desc=&lt;br /&gt;
APLOSE est une entreprise de services numériques spécialisée dans les logiciels libres, l’ERP/CRM Dolibarr et le développement informatique complexe. Nous accompagnons les entreprises de toutes tailles dans leurs projets de transformation digitale, en leur apportant notre expertise et nos solutions innovantes.|&lt;br /&gt;
web=http://www.aplose.fr|&lt;br /&gt;
email=[mailto:contact@aplose.fr?subject=Contact%20from%20Dolibarr%20Suppliers%20France20page contact@aplose.fr]|&lt;br /&gt;
zip=34990|&lt;br /&gt;
town=Juvignac|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=Logo_Aplose.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Artaban Communication|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=400 396 388 00037|&lt;br /&gt;
desc=Artaban Communication est une SSLL. Spécialistes du CMS SPIP, nous concevons et réalisons des sites web à forte composante éditoriale. Nous prenons également en charge le webmastering et la création de contenu. Notre expertise s&#039;étend à un certain nombre de logiciels, choisis pour leur qualité et leur intérêt, et avec lesquels nous aimons travailler et notamment Dolibarr. Artaban Communication est membre de l&#039;April.|&lt;br /&gt;
web=http://www.artaban.fr|&lt;br /&gt;
email=mailto:contact@artaban.fr|&lt;br /&gt;
zip=94340|&lt;br /&gt;
town=Joinville-le-Pont|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Artaban_logo.png‎|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=ATM Consulting|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=753 447 481 00015|&lt;br /&gt;
desc=Consulting company dedicated to small and medium enterprises information system optimization, we provide to our customers open-source based solutions to improve their information system efficiency. We offer hosting and support solutions and we are Dolibarr contributor, developer and integrator. &amp;quot;Open-source. Custom. Freedom&amp;quot;|&lt;br /&gt;
web=http://www.atm-consulting.fr|&lt;br /&gt;
email=mailto:contact@atm-consulting.fr|&lt;br /&gt;
zip=26000|&lt;br /&gt;
town=Valence|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=AB2L|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Un Alsacien à votre service. Installation et configuration de l&#039;ERP/CRM Dolibarr dans votre entreprise ou sur notre serveur. Nous vous accompagnons pour un démarrage rapide et serein. Nous sommes une société de service en logiciel libre fournissant un équivalent open source au logiciel propriétaire de tout type. |&lt;br /&gt;
web=http://www.ab2l.eu|&lt;br /&gt;
email=mailto:contact@ab2l.eu|&lt;br /&gt;
zip=67000|&lt;br /&gt;
town=Strasbourg|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Axopen IT Services|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=L&#039;entreprise Axopen propose toute une gamme de produits et services informatiques allant du conseil en système d&#039;informations, développement de solutions sur mesure et intégration de solutions Open Source ou propriétaires. Nous sommes spécialisé en particulier dans l&#039;intégration de solutions de gestion de la relation client Open Source telles que Dolibarr, SugarCRM ou VTiger... |&lt;br /&gt;
web=http://www.axopen.com|&lt;br /&gt;
email=mailto:contact@axopen.com|&lt;br /&gt;
zip=69001|&lt;br /&gt;
town=Lyon|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=AKILIS|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=AKILIS est une société éditrice de logiciels de gestion qui a fait le pari d’utiliser les nouvelles méthodes de travail pour développer des solutions clairs et efficaces. Notre mission est de vous proposer des solutions simples d&#039;utilisation, ne demandant aucun entretien de votre part, ni aucune connaissance technique particulière. Notre outil est celui que VOUS utilisez quotidiennement : le Web.&lt;br /&gt;
AKILIS, c’est une équipe toujours disponible pour vous guider et vous écouter. Nous développons et améliorons sans cesse nos logiciels afin que ceux-ci répondent au mieux à votre activité et vos besoins.&lt;br /&gt;
AKILIS peut également, dans le cadre de besoin partculier, étudier avec vous un développement sur mesure. |&lt;br /&gt;
web=http://www.akilis.fr|&lt;br /&gt;
email=mailto:contact@akilis.fr|&lt;br /&gt;
zip=69200|&lt;br /&gt;
town=Vénissieux|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Altairis|&lt;br /&gt;
profid=488020108|&lt;br /&gt;
partner=yes|&lt;br /&gt;
desc=Développements spécifiques, Installation, Formation, Accompagnement à la mise en oeuvre, Support, Intégration. Spéclialiste solution de gestion des locations de produits avec Dolibarr.|&lt;br /&gt;
web=http://www.altairis.fr|&lt;br /&gt;
email=contact@altairis.fr|&lt;br /&gt;
zip=18270|&lt;br /&gt;
town=Culan|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Atoo.Net|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Installation et configuration de l&#039;ERP/CRM Dolibarr soit sur nos serveurs, soit en local dans votre entreprise. Aide à la prise en main et formation.|&lt;br /&gt;
web=http://www.atoo-net.com/|&lt;br /&gt;
email=contact@atoo-net.com|&lt;br /&gt;
zip=45160|&lt;br /&gt;
town=Olivet|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Bee-Smart.online|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=15 ans d&#039;expérience aux services des PME &amp;amp; grands groupes, Bee-Smart vous propose un accompagnement sur mesure , adapté à vos besoins métiers et votre budget.N&#039;hésitez pas, Bee-Smart.online, le partenaire de vos projets réussis.|&lt;br /&gt;
web=https://bee-smart.online|&lt;br /&gt;
email=contact@bee-smart.online|&lt;br /&gt;
zip=25|&lt;br /&gt;
town=Montbéliard|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Faliere.com|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Installation, configuration, hébergement de Dolibarr ERP/CRM. Développement de modules et interventions ponctuelles.|&lt;br /&gt;
web=https://www.faliere.com|&lt;br /&gt;
email=contact@faliere.com|&lt;br /&gt;
zip=71700|&lt;br /&gt;
town=Farges-lès-Mâcon|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=[[File:Faliere.png|alt=Logo Faliere.com|thumb]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Blue-Click Informatique|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Nous proposons l&#039;installation et la configuration de l&#039;ERP/CRM Dolibarr dans votre entreprise ou sur votre hébergement Internet. De plus nous assurons la formation pour la prise en main de cet outil adapté aux TPE et PME.|&lt;br /&gt;
web=http://www.blue-click.fr|&lt;br /&gt;
email=|&lt;br /&gt;
zip=92,78|&lt;br /&gt;
town=Nanterre,Plaisir|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=CAP-REL|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Après avoir contribué au code de dolibarr dans les années 2004-2005 et l&#039;avoir utilisé en interne pour de nombreux projets depuis cette époque je propose maintenant un service autour de Dolibarr (adaptation, accompagnement, utilisation etc.).|&lt;br /&gt;
web=https://www.cap-rel.fr|&lt;br /&gt;
email=eric.doli@cap-rel.fr|&lt;br /&gt;
zip=30|&lt;br /&gt;
town=Département du Gard|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_cap-rel.png‎|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=I-Faktur.eu|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Proche de nos clients depuis 2009 nous sommes prestataire informatique avec une expérience de 30 ans de métier. Nous vous conseillons et vous accompagnons pour la gestion de votre Dolibarr et proposons l&#039;hébergement en ligne|&lt;br /&gt;
web=https://i-faktur.eu|&lt;br /&gt;
email=contact@i-faktur.eu|&lt;br /&gt;
zip=67680|&lt;br /&gt;
town=Epfig|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=I-faktur_dark-fr.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Caribbean Consult CCC|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Installation, configuration de l&#039;ERP/CRM Dolibarr en ligne, ou en local pour votre entreprise ou association. Migration de données vers Dolibarr. Prise en main, support et formation.|&lt;br /&gt;
web=https://dolibarr.ccc.gp|&lt;br /&gt;
email=support@caribbeanconsult.com|&lt;br /&gt;
zip=97180|&lt;br /&gt;
town=Sainte Anne (Guadeloupe et Martinique) Antilles Guyane|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_CCC.png‎|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=CCB Informatique|&lt;br /&gt;
profid=907 715 031|&lt;br /&gt;
desc=Expert en solutions informatiques pour les entreprises et particuliers.&amp;lt;br&amp;gt;&lt;br /&gt;
Spécialiste solutions informatiques en Essonne, administration, maintenance, développement et dépannage sur mesure pour entreprises et particuliers.|&lt;br /&gt;
web=https://ccbinformatique.fr|&lt;br /&gt;
email=mailto:contact@ccbinformatique.fr|&lt;br /&gt;
zip=91170|&lt;br /&gt;
town=Viry-Châtillon|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo-ccbinformatique.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Cergy Internet|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Cergy Internet est spécialisé dans l’informatique et plus spécifiquement dans l’internet pour les PMI/PME. Nous maitrisons les technologies digitales du simple site web jusqu’au portail complète de pilotage d’entreprise. Grâce à Dolibarr nous pouvons vous donner une vision unique sur vos clients, vos produits et même votre trésorerie. Nous lions Dolibarr avec Wordpress et sur Smartphones pour créer des portails pour vos clients. Notre directeur, Thomas Carter, a fait son MBA à MIT aux USA et a géré des entreprises de plus de 100 personnes. Il met cette expérience à votre disposition. Chez Cergy Internet nous maitrisons la technologie de boute en boute. Nous avons notre propre équipe de jeunes codeurs qui baignent dans tous qui est réseaux sociaux, applications iPhone etc. ainsi qu’une plateforme de 30 serveurs pour héberger vos sites. |&lt;br /&gt;
web=www.cergy-internet.fr|&lt;br /&gt;
email=mailto:thomas.carter@cergy-internet.fr|&lt;br /&gt;
zip=95300|&lt;br /&gt;
town=Cergy-Pontoise|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Code 42|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=793 600 735 00021|&lt;br /&gt;
desc=Nous vous accompagnons dans l’installation  et le développement de votre outil informatique. Code 42, c’est avant tout une démarche qualité et de conseil pour une relation durable. Vous avez la vision de votre entreprise, nous avons les moyens.|&lt;br /&gt;
web=www.code42.fr|&lt;br /&gt;
email=mailto:lareponse@code42.fr|&lt;br /&gt;
zip=44100|&lt;br /&gt;
town=NANTES|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=D-BOG|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=IT services company located in Beaune (21), moved around Dolibarr:&lt;br /&gt;
Installation, setup, configuration on the internal server or hosted;&lt;br /&gt;
Training agreement;&lt;br /&gt;
Outsourcing, on-site maintenance and remote.|&lt;br /&gt;
web=http://www.d-bog.com/|&lt;br /&gt;
email=|&lt;br /&gt;
zip=|&lt;br /&gt;
town=Beaune|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=DiVA-Cloud|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=DiVA-Cloud propose des applications OpenSource de gestion de la communication et de l&#039;information pour les entreprises. Notre logithèque contient des applications de WebConference, ERP, CRM, CMS, GED, et bien d&#039;autres... Toutes ces applications pré-configurés sont mises à disposition sur un environnement privé. |&lt;br /&gt;
web=www.diva-cloud.com |&lt;br /&gt;
email=mailto:contact@diva-cloud.com |&lt;br /&gt;
zip=81100|&lt;br /&gt;
town=Castres|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=DoliCloud|&lt;br /&gt;
partner=yes|&lt;br /&gt;
desc=DoliCloud is one of the most important contributor on Dolibarr and can host for you a Dolibarr instance in a SaaS (Software As A Service) mode.|&lt;br /&gt;
profid=493 861 496 00021|&lt;br /&gt;
web=https://www.dolicloud.com|&lt;br /&gt;
email=|&lt;br /&gt;
zip=33600|&lt;br /&gt;
town=Pessac (Bordeaux)|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes (https://www.dolicloud.com)|&lt;br /&gt;
service_onlinesupport=only for DoliCloud.com customers|&lt;br /&gt;
service_emailsupport=only for DoliCloud.com customers|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=no|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=logo_dolicloud.png}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Dzprod|&lt;br /&gt;
desc=Développement de solutions avancées et innovantes répondant aux besoins métiers exprimés par les utilisateurs de Dolibarr|&lt;br /&gt;
profid=831 363 726 00017|&lt;br /&gt;
web=https://www.dzprod.net|&lt;br /&gt;
email=mailto:contact@dzprod.net|&lt;br /&gt;
zip=64100|&lt;br /&gt;
town=Bayonne|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=no|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=Logo_dzprod.png}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Elonet|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=SIRET:52511620800022|&lt;br /&gt;
desc=Elonet est intégrateur et développeur de solutions pour Dolibarr.|&lt;br /&gt;
web=https://elonet.fr/dolibarr.php|&lt;br /&gt;
email=mailto:contact@elonet.fr|&lt;br /&gt;
zip=59000|&lt;br /&gt;
town=LILLE|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=ElonetNew.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=EXIG|&lt;br /&gt;
profid=SIRET:91208951300010|&lt;br /&gt;
desc=EXIG est une entreprise de proximité qui propose différents services liés au domaine de l’informatique : en particulier, le développement et deployement de solutions web. Notre objectif est de fournir un outil adapté à votre activité et de vous accompagner dans son utilisation. &lt;br /&gt;
Nous sommes une équipe de développeurs au sein d’une entreprise d’informatique. Nous pouvons vous accompagner de A à Z lors dans la mise en place et utilisation de vos outils : du logiciel au matériel (en achat ou location) tout en prenant en compte l’aspect sécurité de l’infrastructure.|&lt;br /&gt;
email=|&lt;br /&gt;
web=https://exig.fr/logiciel-de-caisse-connecte/|&lt;br /&gt;
zip=35137|&lt;br /&gt;
town=BÉDÉE|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo-exig.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=FUTUR TECH|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Prestataire de services pour artisans, TPE, PME :&lt;br /&gt;
Solutions open source, Internet, Sécurité, Sauvegarde, Antivirus, Gestion d&#039;entreprise, Conseil, Formation, Installation et Paramétrage&lt;br /&gt;
Intervention sur site client. Situé entre Bordeaux et Libourne|&lt;br /&gt;
web=http://www.futur-tech.com|&lt;br /&gt;
email=mailto:info@futur-tech.com|&lt;br /&gt;
zip=33450|&lt;br /&gt;
town=IZON|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Groupe KM|&lt;br /&gt;
profid=790 885 388 00013|&lt;br /&gt;
desc=Intégrateur,développeur et hébergeur de solutions Open Source: Progiciel ERP/CRM (Dolibarr),CMS(Joomla)et e-commerce(Prestashop).&amp;lt;br&amp;gt;Nous déployons aussi des solutions Téléphonie (VOIP, PABX...) et Accés Internet (ADSL/VDSL, SDSL...).&amp;lt;br&amp;gt;&lt;br /&gt;
Secteur Cannes, Antibes, Sophia-Antipolis, Carros, Nice et plus généralement toutes les Alpes-Maritimes.&amp;lt;br&amp;gt;&lt;br /&gt;
Notre objectif : Vous satisfaire!|&lt;br /&gt;
web=https://www.groupe-km.com|&lt;br /&gt;
email=mailto:contact@groupe-km.com|&lt;br /&gt;
zip=06220|&lt;br /&gt;
town=Vallauris|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=GWARED|&lt;br /&gt;
profid=804 659 027 00036|&lt;br /&gt;
desc=La société GWARED, est une équipe diplômée dans le domaine de l’informatique, de plus de 10 ans d’expériences dans diverses structures telles que de grandes administrations, sociétés privées mais aussi au service des particuliers. Nous sommes à l’écoute pour vous accompagner dans vos projets.&lt;br /&gt;
&lt;br /&gt;
Professionnel ou particulier, nous vous proposons de nombreux services informatiques et domotiques adaptés à votre configuration et vos besoins. Nos prestations concernent la réparation et la maintenance de votre ordinateur ou de votre parc informatique, l&#039;installation réseau (Local informatique, Internet, intranet, Wifi, CPL, etc.), l&#039;installation d’alarmes et vidéo-surveillance, sur site, à distance ou à domicile.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notre société se distingue en trois branches :&lt;br /&gt;
&lt;br /&gt;
- L’informatique (GWARED)&lt;br /&gt;
- La sécurité (alarme, vidéosurveillance et protection numérique) (GWARDSECURITY)&lt;br /&gt;
- Les jeux vidéo (concepteur de console de jeux) (GWARDBOX)&lt;br /&gt;
&lt;br /&gt;
Nous pourrons répondre à tous vos besoins dans le domaine de l’informatique.|&lt;br /&gt;
web=http://www.gwared.fr|&lt;br /&gt;
email=[mailto:support@gwared.fr?subject=Contact%20de%20Dolibarr%20Suppliers%20France support@gwared.fr]|&lt;br /&gt;
zip=77500|&lt;br /&gt;
town=Chelles et Île de France|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_Gwared.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=HELIUM TECHNOLOGIES|&lt;br /&gt;
profid=494 895 360 00027|&lt;br /&gt;
partner=yes|&lt;br /&gt;
desc=&lt;br /&gt;
Mise en place de solutions ERP Dolibarr sur nos serveurs ou dans votre entreprise avec assistance téléphonique, support technique, développement de modules spécifiques et formation.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;SSII basée en Guadeloupe, Martinique et Guyane&#039;&#039;&#039;, nous proposons également des solutions libres comme GLPI, Prestashop, Joomla, Odoo, Zimbra, BlueMind, Centreon, ...|&lt;br /&gt;
web=http://|&lt;br /&gt;
email=[mailto:contact@helium-technologies.com?subject=Contact%20from%20Dolibarr%20Suppliers%20France20page contact@helium-technologies.com]|&lt;br /&gt;
zip=97122|&lt;br /&gt;
town=BAIE-MAHAULT (GUADELOUPE)|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_HeliumTechnologies.jpg&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=IABAI SaS|&lt;br /&gt;
profid= FR27913974648|&lt;br /&gt;
desc= SaaS Company specialised in IT operations, Automation, Business Management, Artificial Intelligence and more |&lt;br /&gt;
web=https://www.iab.ai|&lt;br /&gt;
email=mailto:info@iab.ai|&lt;br /&gt;
zip=13006|&lt;br /&gt;
town=Marseille|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=iabai_logo_small.png|&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Infonel.net|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=administrateur système open source indépendant:&lt;br /&gt;
Installation, paramétrage, configuration et sécurisation de dolibarr sur site client|&lt;br /&gt;
web=http://www.infonel.net|&lt;br /&gt;
email=|&lt;br /&gt;
zip=11100|&lt;br /&gt;
town=Narbonne|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=iNodbox|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Développeur indépendant d&#039;application web, paramétrage et installation de Dolibarr, développement de modules spécifique. Basé dans l&#039;Ain à Bourg en Bresse (30min de Mâcon, 1h de Chalon sur Saône, 1h de Lyon), je contribue depuis de nombreuses années au développement de Dolibarr.|&lt;br /&gt;
web=https://www.inodbox.com/|&lt;br /&gt;
email=regis.houssin@inodbox.com|&lt;br /&gt;
zip=01000|&lt;br /&gt;
town=Bourg en Bresse|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=(https://www.inodbox.com)|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Inovea Conseil|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=797 613 072 00017|&lt;br /&gt;
desc=Développeur, Intégrateur, Hébergeur et Formateur de Dolibarr pour TPE - PME | &lt;br /&gt;
web=https://www.inovea-conseil.com/ |&lt;br /&gt;
email=https://www.inovea-conseil.com/contact/ |&lt;br /&gt;
zip=88,54,75|&lt;br /&gt;
town=Nancy|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Inoveaconseil.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=i.d &amp;amp; l|&lt;br /&gt;
profid=521 749 994 00013|&lt;br /&gt;
desc=Conseil et intégration de solutions logicielles libres, dont Dolibarr, pour artisans, TPE, indépendants, commerçants, PME, associations...|&lt;br /&gt;
web=https://idl-mp.com|&lt;br /&gt;
email=https://idl-mp.com/contact/|&lt;br /&gt;
zip=31,32,09,82,81|&lt;br /&gt;
town=Région toulousaine|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=iouston informatique|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=792 353 005 00046|&lt;br /&gt;
desc=iouston informatique, situé à proximité de Nancy, Metz, Lunéville, est spécialisée auprès des associations, des TPE et des artisans commerçants. Nous installons et configurons dolibarr pour vous et nous formons vos équipes à son utilisation quotidienne. Nous proposons de nombreux autres services, associés ou non à dolibarr. Nous travaillons avec dolibarr depuis plus de 6 ans et éditons des modules supplémentaires pour dolibarr, [https://www.dolistore.com/fr/recherche?controller=search&amp;amp;orderby=position&amp;amp;orderway=desc&amp;amp;search_query=iouston&amp;amp;submit_search= disponibles sur dolistore]|&lt;br /&gt;
web=https://www.iouston.com|&lt;br /&gt;
email=allo@iouston.com|&lt;br /&gt;
zip=54370|&lt;br /&gt;
town=Einville au Jard|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=ISYNUX|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Société de services en réseaux et sytèmes. ISYNUX vous propose un suivi complet pour DOLIBARR : installation, hébergement, personnalisation de vos modèles de document, formation à la carte. |&lt;br /&gt;
web=http://www.isynux.fr|&lt;br /&gt;
email=mailto:formation@isynux.fr|&lt;br /&gt;
zip=626100|&lt;br /&gt;
town=Ardres|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Jeffinfo (ZenDSI)|&lt;br /&gt;
profid=429 625 973|&lt;br /&gt;
partner=yes|&lt;br /&gt;
desc=Jeffinfo est une société de services en informatique qui vous sert depuis plus de 15 ans dont 10 ans dans le domaine de Dolibarr. Implanté dans le nord à Ennetières en Weppes. Nous sommes à vos services pour vous proposer tous les services autour de votre ERP préféré.&lt;br /&gt;
web=https://shop.zendsi.com|&lt;br /&gt;
email=mailto:contact@zendsi.com|&lt;br /&gt;
zip=59320|&lt;br /&gt;
town=Ennetières en Weppes|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=KONTAVA|&lt;br /&gt;
profid=931 528 822 R.C.S. Toulouse|&lt;br /&gt;
desc= Une nouvelle solution en ligne, simplifiée avec des widgets graphiques pour suivre son activité. Que tu sois artisan, indépendant ou libéral, que tu gères une TPE ou une association, découvre notre solution de gestion adaptée à tes besoins. Région Toulousaine.|&lt;br /&gt;
web=https://kontava.fr|&lt;br /&gt;
email=mailto:contact@kontava.fr|&lt;br /&gt;
zip=31170|&lt;br /&gt;
town=Tournefeuille|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes (https://kontava.fr)|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=no|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=LogoKontava.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=KJR online|&lt;br /&gt;
profid=818 889 644 00014|&lt;br /&gt;
desc=Conseils et Services Informatiques. Installation, formation et personnalisation de Dolibarr. Région Toulousaine.|&lt;br /&gt;
web=http://www.kjr-online.fr|&lt;br /&gt;
email=mailto:eric.picabia@kjr-online.fr|&lt;br /&gt;
zip=31210|&lt;br /&gt;
town=Clarac|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Kreiz IT|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=	752 505 131 00017|&lt;br /&gt;
desc={{Flag_fr}}Conseils en organisation et sécurité informatique pour les TPE / PME. Dolibarr fait partie des outils informatiques structurants pour les TPE/PME proposé par Kreiz IT.&lt;br /&gt;
&lt;br /&gt;
{{Flag_en}}IT management and security consultant for small to medium business. Dolibarr is part of IT&#039;s structuring tools for business used by Kreiz IT. |&lt;br /&gt;
web=http://www.kreiz-it.fr |&lt;br /&gt;
email=mailto:contact@kreiz-it.fr |&lt;br /&gt;
zip=56600|&lt;br /&gt;
town=Lanester|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=LogoKIT.jpg&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=LIBRE EXPERT|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=48879200300045|&lt;br /&gt;
desc={{Flag_fr}}Intégrateur et développeur Dolibarr, auteur de plusieurs modules complémentaires, spécialiste également de l&#039;administration Linux.&lt;br /&gt;
&lt;br /&gt;
{{Flag_en}}&lt;br /&gt;
Integrator and Dolibarr developer, author of several complementary modules, also specialist in Linux administration. |&lt;br /&gt;
web=http://www.libre-expert.com|&lt;br /&gt;
email=mailto:contact@libre-expert.com |&lt;br /&gt;
zip=63100|&lt;br /&gt;
town=Clermont-Ferrand|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Libre Master|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc={{Flag_fr}}Aux entreprises qui recherchent une expertise senior pour héberger leur Dolibarr. L&#039;hébergement est clé en main, dédié et spécialisé, associé à de vrais méthodes d&#039;ingénierie avancée, maintenu à jour, sécurisé et sauvegardé dans un bunker. Ce service ne s&#039;adresse pas aux entreprises qui se contentent d&#039;un hébergement web amateur.&lt;br /&gt;
&lt;br /&gt;
{{Flag_en}}For companies looking for senior expertise to host their Dolibarr. The hosting is turnkey, dedicated and specialized, associated with real advanced engineering methods, kept up to date, secure and backed up in a bunker. This service is not for companies that are satisfied with amateur web hosting.&lt;br /&gt;
&lt;br /&gt;
{{Flag_sp}}A empresas que buscan experiencia senior para alojar su Dolibarr. El hosting es llave en mano, dedicado y especializado, combinado con métodos de ingeniería realmente avanzados, actualizado, seguro y respaldado en un búnker. Este servicio no está dirigido a empresas que se contentan con el alojamiento web para aficionados.|&lt;br /&gt;
web=https://libremaster.com/dolibarr-en-ligne/|&lt;br /&gt;
email=https://libremaster.com/contact/ |&lt;br /&gt;
zip=75017|&lt;br /&gt;
town=PARIS|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=no|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=Libremaster-v5-logo-fg-dark-50px.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Librethic|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=83334801400014|&lt;br /&gt;
desc={{Flag_fr}}Librethic est une Société de Services en Informatique et Technologies Libres, tournée vers les entreprises et les associations. Créée en 2017, elle est portée par des professionnels aguerris aux technologies libres et open source. &lt;br /&gt;
L&#039;environnement Dolibarr fait partie du cœur de compétences de Librethic (développement de modules complémentaires, hébergement SaaS, hébergement sur site, passerelle e-commerce).&lt;br /&gt;
{{Flag_en}}&lt;br /&gt;
Librethic is an IT Provider aiming at businesses and organizations, offering services in free/libre and open source software (FLOSS) and open design technologies. &lt;br /&gt;
Founded in 2017, Librethic is driven by libre and open source technologies seasoned professionals. Dolibarr&#039;s environment is one of Librethic&#039;s core skills (Addons and plugins development, SaaS hosting, on-premise hosting, e-commerce gateway).&lt;br /&gt;
web=https:/librethic.io/|&lt;br /&gt;
email=mailto:hello+dolibarr@librethic.io|&lt;br /&gt;
zip=34070|&lt;br /&gt;
town=Montpellier|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=logo-librethic.png&lt;br /&gt;
}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=LOGOTYP|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=Siret 38397720400031|&lt;br /&gt;
desc={{Flag_fr}}Intégration et formation dans l&#039;entreprise. Support, installation, sécurisation et plus.&lt;br /&gt;
&lt;br /&gt;
{{Flag_de}}&lt;br /&gt;
Integration und Schulung für Unternehmen &amp;amp; Mitarbeiter. Support, Installation, Sicherung und mehr.|&lt;br /&gt;
web=http://www.logotyp.fr|&lt;br /&gt;
email=mailto:jacobs@logotyp.fr |&lt;br /&gt;
zip=03200|&lt;br /&gt;
town=Vichy|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=LVS Informatique|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Development Specialist php, mysql. Creation, enhancement, customization of modules and components ...&lt;br /&gt;
Nos modifs/nos modules :&lt;br /&gt;
-cashdesk : prix en ttc, possibilité de modification du prix, du libellé...&lt;br /&gt;
-interfaçage avec GoogleAgenda (toutes les actions apparaissent dans GoogleAgenda)&lt;br /&gt;
-Mails/Télécopies reçus : apparaissent dans un onglet spécifique sur le tiers en question&lt;br /&gt;
-qualification Tiers&lt;br /&gt;
-Adresse Tiers vu dans GoogleMap&lt;br /&gt;
-creation de nbreux template excel/pdf&lt;br /&gt;
|&lt;br /&gt;
web=http://www.lvsinformatique.com|&lt;br /&gt;
email=|&lt;br /&gt;
zip=83860|&lt;br /&gt;
town=NANS LES PINS|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=MEDIALTA|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Installation, configuration de Dolibarr sur nos serveurs, ou dans l&#039;entreprise (Nancy, Metz, Lorraine, Grand Est). Formation, prise en main. Développement de modules sur mesure.|&lt;br /&gt;
web=www.medialta.com|&lt;br /&gt;
email=|&lt;br /&gt;
zip=54340|&lt;br /&gt;
town=Pompey|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Mephivio|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Services company with a computer located in Montpellier agglo, specializing in computer graphics, secretariat, Joomla web sites, client, opensource (Dolibarr, glpi, voip Elastix / Trixbox / PIAF etc ...)|&lt;br /&gt;
web=http://www.mephivio.fr/|&lt;br /&gt;
email=|&lt;br /&gt;
zip=|&lt;br /&gt;
town=|&lt;br /&gt;
country=fr|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=MEZIANT|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=MEZIANT propose aux PME, TPE, artisans, commerçants et associations de l&#039;Ouest son expertise en informatique issue d&#039;une expérience de plus de 15 ans en Audit de Système d&#039;Informations,  Site internet, Formation et Choix de logiciel de gestion (ERP) comme &#039;&#039;&#039;DOLIBARR&#039;&#039;&#039; dont elle peut assurer l’installation, la formation ou encore le développement de modules spécifiques sur site client.&lt;br /&gt;
web=http://www.meziant.fr |&lt;br /&gt;
email=mailto:contact@meziant.fr |&lt;br /&gt;
zip=22940|&lt;br /&gt;
town=PLAINTEL (Bretagne - France)|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Modulaweb : Technologies modulables orientées web.|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Développement d&#039;applicatifs web, hébergement d&#039;applications web, serveurs de fichiers et de sauvegarde, sites internet/intranet et intégration web, espaces clients, communication via internet (VoIP, messagerie instantanée), travail collaboratif. Spécialiste solutions libres pour l&#039;entreprise (Zimbra, Dolibarr, Thaïs...) Région Languedoc-Rouissillon et voisines |&lt;br /&gt;
web=http://www.modulaweb.fr|&lt;br /&gt;
email=http://www.modulaweb.fr/portail/contact/|&lt;br /&gt;
zip=34000|&lt;br /&gt;
town=Montpellier|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Net Logic|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=SIRET: 477 583 264 00023|&lt;br /&gt;
desc=Installation et configuration de l&#039;ERP/CRM Dolibarr sur nos serveurs, ou en local dans votre entreprise. Paramétrage, personnalisation, reporting spécifique, assistance.|&lt;br /&gt;
web=http://www.netlogic.fr/|&lt;br /&gt;
email=info@netlogic.fr|&lt;br /&gt;
zip=93160|&lt;br /&gt;
town=Noisy-le-Grand|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=NordCode|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=SIRET:99521905200017|&lt;br /&gt;
desc=Développement spécifique, corrections de bugs, migrations, paramétrage et support technique.|&lt;br /&gt;
web=https://nordcode.pro/|&lt;br /&gt;
email=mailto:julien@nordcode.pro|&lt;br /&gt;
zip=59163|&lt;br /&gt;
town=Condé-sur-l&#039;Escaut|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=NORD ERP CRM|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=83184221600010 (SIRET)|&lt;br /&gt;
desc=Intégration, assistance, formation, développements spécifiques et hébergement de solutions Dolibarr. NORD ERP CRM est certifié QUALIOPI ce qui permet la prise en charge des formations par les organismes de financement. Nous nous adaptons à vos spécificités métiers.|&lt;br /&gt;
web=https://www.nord-erp-crm.fr/|&lt;br /&gt;
email=mailto:contact@nord-erp-crm.fr|&lt;br /&gt;
zip=59100|&lt;br /&gt;
town=Roubaix|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=NS-INFO|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=79392284000020(SIRET)|&lt;br /&gt;
desc=Intégration, assistance, formation, développements spécifiques et hébergement de solutions Dolibarr|&lt;br /&gt;
web=https://www.ns-info.fr/|&lt;br /&gt;
email=mailto:contact@ns-info.fr|&lt;br /&gt;
zip=90360|&lt;br /&gt;
town=Lachapelle-sous-rougemont|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=LOGO NS-INFO90.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=NUM&#039;X|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=82465583100017(SIRET)|&lt;br /&gt;
desc=NUM&#039;X est une entreprise de services numériques (ESN) intervenant notamment pour les TPE PME et proposant des services autour du PGI Dolibarr|&lt;br /&gt;
web=https://www.numx-sets.eu/dolibarr.html|&lt;br /&gt;
email=mailto:contact@numx-sets.eu|&lt;br /&gt;
zip=44590|&lt;br /&gt;
town=SION-LES-MINES|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=LOGO numx-sets.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=OAS-SERVICES|&lt;br /&gt;
profid=829767904|&lt;br /&gt;
partner=no|&lt;br /&gt;
desc=&lt;br /&gt;
OAS-SERVICES est une société de service spécialisés dans la mise en place de logiciels libres sous forme de services cloud, notamment de Ma Gestion Cloud (Dolibarr, viger), la mise en place de site internet et boutique en lignes, le développement d&#039;application et de modules en PHP (Dolibarr, Wordpress, Prestashop), mais aussi en Java (JEE, Webservices, JPA), la mise en place de systèmes d&#039;exploitation (linux), la gestion de projet en agilité - Montpellier, Sète|&lt;br /&gt;
web=https://www.ma-gestion-cloud.fr|&lt;br /&gt;
email=[mailto:contact@oas-services.fr?subject=Contact%20from%20Dolibarr%20Suppliers%20France20page contact@oas-services.fr]|&lt;br /&gt;
zip=34200|&lt;br /&gt;
town=SETE|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=logo-oas-services.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=OPEN-DSI Easya Solutions|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=SIRET:75130522800015|&lt;br /&gt;
desc=Easya Solutions travaille à l&#039;optimisation de votre productivité. Forts de notre savoir-faire, nous proposons une approche éditeur de Dolibarr.&lt;br /&gt;
Bénéficiez d&#039;un outil couvrant l’ensemble de vos besoins, processus et spécificités. Gagnez du temps dans vos missions quotidiennes. Optez pour la solution Easya ERP/CRM :&lt;br /&gt;
&lt;br /&gt;
Un Dolibarr stable sur le long terme (5 ans) ;&lt;br /&gt;
&lt;br /&gt;
Le maintien en conditions opérationnelles du package : la correction des bugs fonctionnels est incluse dans votre forfait ;&lt;br /&gt;
&lt;br /&gt;
Une sélection de modules complémentaires installés et pré-paramétrés ;&lt;br /&gt;
&lt;br /&gt;
L&#039;hébergement en France pour le mode SaaS ; ou On-Premise.|&lt;br /&gt;
web=https://www.open-dsi.fr|&lt;br /&gt;
email=mailto:infos@open-dsi.fr|&lt;br /&gt;
zip=69,38,01,42|&lt;br /&gt;
town=LYON|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=LOGO-Easya_Solutions-carre.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Opens|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=SIRET:888 706 280 00011|&lt;br /&gt;
desc=Opens est spécialisée dans l&#039;accompagnement Digital, RH et Qualité. Nous croyons que ces trois pôles sont intimement liés et œuvrons pour la souveraineté numérique de nos clients. Nous intervenons principalement dans l&#039;Hérault et l&#039;Occitanie.|&lt;br /&gt;
web=https://solutions.open-s.fr|&lt;br /&gt;
email=mailto:contact@open-s|&lt;br /&gt;
zip=34000|&lt;br /&gt;
town=MONTPELLIER|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_opens_solutions.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Run Innovation|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=SIRET:39217453800059|&lt;br /&gt;
desc=Utilisateur de Dolibarr depuis 2004, Run Innovation est un intégrateur spécialisé dans l’implémentation de l’ERP/CRM Dolibarr en entreprise.|&lt;br /&gt;
web=https://runinnovation.tech|&lt;br /&gt;
email=mailto:contact@runinnovation.tech|&lt;br /&gt;
zip=64100|&lt;br /&gt;
town=Bayonne|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Cabecera-runinnovation-1.0.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=OIS - Open IT Store|&lt;br /&gt;
profid=822 430 419 00017|&lt;br /&gt;
desc=OIS (Open IT Store), We provide opensource instances located in Europe or North America.|&lt;br /&gt;
web=https://openitstore.com/dolibarr|&lt;br /&gt;
email=mailto:contact@openitstore.com|&lt;br /&gt;
zip=|&lt;br /&gt;
town=|&lt;br /&gt;
country=|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=no|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Oscss Shop|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=SIRET:810 421 339 00013|&lt;br /&gt;
desc=Développement de modules sur mesure, interconnexions  et hébergements.|&lt;br /&gt;
web=http://oscss-shop.fr|&lt;br /&gt;
email=mailto:support@oscss-shop.fr|&lt;br /&gt;
zip=28,45,41,72,61,27,75,69,38,01,73,74|&lt;br /&gt;
town=LA LOUPE|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Pascal Sené|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Logiciels libres et photographie.|&lt;br /&gt;
web=http://www.pascalsene.com|&lt;br /&gt;
email=contact@pascalsene.com|&lt;br /&gt;
zip=22,29,35,56|&lt;br /&gt;
town=Lannion|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Patas-Monkey|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Conseil, formation, développement et modules| &lt;br /&gt;
web=http://www.patas-monkey.com|&lt;br /&gt;
email=r.deschamps@patas-monkey.com|&lt;br /&gt;
zip=69,42,38,01,83|&lt;br /&gt;
town=Lyon|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Patasmonkey.jpg&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Pragma-tech|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=842 325 268 00014|&lt;br /&gt;
desc=Intégrateur, Hébergeur et Formateur de Dolibarr pour TPE - PME | &lt;br /&gt;
web=https://www.pragma-tech.fr/ |&lt;br /&gt;
email=contact@pragma-tech.fr|&lt;br /&gt;
zip=|&lt;br /&gt;
town=PAU|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=pragma-tech.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=ProbeSys|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Créée en 2003 par des passionnés du logiciel libre, [http://probesys.com ProbeSys] est une entreprise coopérative à l&#039;image du secteur des nouvelles technologies : dynamique, réactive et participative. |&lt;br /&gt;
web=http://www.probesys.com|&lt;br /&gt;
email=mailto:contact@probesys.com|&lt;br /&gt;
zip=38600|&lt;br /&gt;
town=Fontaine|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=PRODUCTIVIX sarl|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Productivix fourni aux PMI des solutions complètes de traçabilité code-barre / rfid et développe des applications mobiles sur mesure offline (connexions intermitentes) de scan et d&#039;impression mobiles liées à des ERP, elle travaille avec Dolibarr via ses API, paramètre les modules et fourni si nécessaire l&#039;hébergement et les modifications ou création de modules nécessaires dans Dolibarr; Productivix founi les licences mobiles en location, et à l&#039;achat les imprimantes et terminaux durcis avec scanner intégré- développements et installations à distance tous pays|&lt;br /&gt;
web=https://www.productivix.com/mot62.html|&lt;br /&gt;
email=https://www.productivix.com/article239.html|&lt;br /&gt;
zip=38|&lt;br /&gt;
town=Bourgoin-Jallieu|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Pro IP|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Mise en place de solutions ERP comme Dolibarr sur nos serveurs ou dans votre entreprise, assistance et formation|&lt;br /&gt;
web=http://wwww.proip.fr|&lt;br /&gt;
email=mailto:contact@proip.fr|&lt;br /&gt;
zip=62129|&lt;br /&gt;
town=Clarques|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Proxy-Media|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Services Informatiques aux artisans et independants|&lt;br /&gt;
email=mailto:contact@proxy-media.fr|&lt;br /&gt;
zip=17340|&lt;br /&gt;
town=Chatelaillon|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=PTMSoft SARL|&lt;br /&gt;
profid=520 618 646 00019|&lt;br /&gt;
desc=Société de services et de développement logiciel. Installation Dolibarr sur nos serveurs ou dans votre entreprise, assistance et configuration.|&lt;br /&gt;
web=http://www.ptmsoft.fr|&lt;br /&gt;
email=[mailto:contact@ptmsoft.fr?subject=Contact%20de%20la%20page%20Dolibarr%20Suppliers%20France contact@ptmsoft.fr]|&lt;br /&gt;
zip=68890|&lt;br /&gt;
town=Mulhouse, Colmar|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=Logo PTMSoft.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=SIMICAR|&lt;br /&gt;
profid=832 284 616 00014|&lt;br /&gt;
desc=Société de services et de développement logiciel. Faire de Dolibarr Vote Dolibarr.|&lt;br /&gt;
web=http://www.simicar.fr|&lt;br /&gt;
email=[mailto:contact@simicar.fr]|&lt;br /&gt;
zip=29290|&lt;br /&gt;
town=Saint-Renan|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo v2.svg.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Syllene|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=We install and configure the software Dolibarr to suit your needs and train your users. We can also provide hosting and maintenance of your application.|&lt;br /&gt;
web=http://www.syllene.net/|&lt;br /&gt;
email=|&lt;br /&gt;
zip=|&lt;br /&gt;
town=|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Tiaris|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Solutions and services for small businesses and merchants: e-commerce, maintenance, ERP/CRM Dolibarr, development telecommuting. ecommerce - dolibarr webservice based interface. Saas Offer Dolibarr + ecommerce connection for open source caddies (OsCommerce, Zencart, Crelaoded, Prestashop and others...)|&lt;br /&gt;
web=http://www.tiaris.fr/|&lt;br /&gt;
email=http://www.tiaris.fr/spip.php?page=contact|&lt;br /&gt;
zip=57870|&lt;br /&gt;
town=WALSCHEID|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=UTOPSYS -  L&#039;Informatique, Professionnelle.|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Maintenance, dépannage, conseil, audits, Green IT, solutions open-source de travail collaboratif, installation et maintenance Dolibarr. Bordeaux, CUB, Libourne.|&lt;br /&gt;
web=http://www.utopsys.fr|&lt;br /&gt;
email=|&lt;br /&gt;
zip=|&lt;br /&gt;
town=Libourne|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=YON - Your Own Net|&lt;br /&gt;
profid=822 430 419 00017|&lt;br /&gt;
desc=YON (Your Own Net), Fournisseur de solution numérique, Nous sommes spécialisés dans la fourniture de solutions informatiques pour les professionnelles et les particuliers. Nos solutions vont de l’intégration d’outils Open Source et de logiciels libres à l&#039;hébergement de logiciels.|&lt;br /&gt;
web=http://yourownnet.net/|&lt;br /&gt;
email=mailto:contact@yourownnet.net|&lt;br /&gt;
zip=79|&lt;br /&gt;
town=Niort et Grand Ouest|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Weedoo Digital|&lt;br /&gt;
profid=831 555 008 000 18 (SIRET)|&lt;br /&gt;
desc=Weedoo Digital est un fournisseur de solutions cloud et digitales pour entreprises. Nos services s’étendent de l’hébergement CLOUD aux solutions de gestion pour entreprises, en passant par le développement web et le E-marketing.|&lt;br /&gt;
web=https://weedoo.digital/|&lt;br /&gt;
email=https://weedoo.digital/contactez-nous|&lt;br /&gt;
zip=69|&lt;br /&gt;
town=Ain et Rhône-Alpes|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=WEBINFOPRO|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Society Computers and Internet service for small businesses located in the suburbs west of Paris. One of the main activities is the integration of open source software.|&lt;br /&gt;
web=http://www.webinfopro.fr/|&lt;br /&gt;
email=|&lt;br /&gt;
zip=|&lt;br /&gt;
town=|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Z-Application|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Développement personnalisé et assistance à la installation-migration. Support sur site possible dans le département Manche (50).|&lt;br /&gt;
web=https://www.z-application.com/|&lt;br /&gt;
email=|&lt;br /&gt;
zip=50250|&lt;br /&gt;
town=Coutances - Cherbourg - Saint-Lô|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Swendra Willy|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Développeur de modules Dolibarr, intégrateur de solution ERP prêt à l&#039;emploi|&lt;br /&gt;
web=http://www.wdeve.fr|&lt;br /&gt;
email=mailto:hello@wdeve.fr|&lt;br /&gt;
zip=06600|&lt;br /&gt;
town=Antibes|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Syncae|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Syncae est une solution d’hébergement haut de gamme pour Dolibarr, pensée pour les PME : rapide, sécurisé, clé en main.|&lt;br /&gt;
web=https://syncae.fr|&lt;br /&gt;
email=mailto:contact@syncae.fr|&lt;br /&gt;
zip=69300|&lt;br /&gt;
town=Lyon|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Bfaliere</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=File:Faliere.png&amp;diff=65227</id>
		<title>File:Faliere.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=File:Faliere.png&amp;diff=65227"/>
		<updated>2026-01-21T08:16:29Z</updated>

		<summary type="html">&lt;p&gt;Bfaliere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logo Faliere.com&lt;/div&gt;</summary>
		<author><name>Bfaliere</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Dolibarr_suppliers_France&amp;diff=65226</id>
		<title>Dolibarr suppliers France</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Dolibarr_suppliers_France&amp;diff=65226"/>
		<updated>2026-01-21T08:13:54Z</updated>

		<summary type="html">&lt;p&gt;Bfaliere: Update Faliere.com&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dolibarr_suppliers}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=1fonet Services|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Integrations and open source development&lt;br /&gt;
Specialist software open source.Dolibarr, Joomla! Prestashop, Cahiers des charges ERP/CRM, Ecommerce, site web, gratuits. Complementary development of the module, component or application needs. Based in the PACA region work throughout France.|&lt;br /&gt;
web=http://www.1fonet.fr|&lt;br /&gt;
email=mailto:contact@1fonet.fr|&lt;br /&gt;
zip=13530|&lt;br /&gt;
town=Trets|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=2A2C Conseil|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=CRM et Solutions e-commerce opensource pour TPM et PME, VoIP et Hosting en marque blanche, maintenance informatique, WordPress, Dolibarr, Prestashop, Formation utilisateur|&lt;br /&gt;
web=|&lt;br /&gt;
email=mailto:info@2a2c-conseil.fr|&lt;br /&gt;
zip=75012|&lt;br /&gt;
town=PARIS|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=A3SYS : MON-DOLIBARR|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=52456658500021 (SIRET)|&lt;br /&gt;
desc=Intégration, assistance et développement.&lt;br /&gt;
Notre société forte de plus de 25 ans d&#039;expérience dans l&#039;intégration de divers ERP propose ses services aux entreprises souhaitant mettre en place l&#039;ERP Dolibarr. Une plateforme dédiée est mise en place pour proposer des services de qualité à moindre coût.|&lt;br /&gt;
web=http://www.mon-dolibarr.fr|&lt;br /&gt;
email=http://www.mon-dolibarr.fr/contact/|&lt;br /&gt;
zip=59310|&lt;br /&gt;
town=Orchies (Nord - France)|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=logo_mon-dolibarr.jpg&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=A6TM - SOLUTIONS|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=A6TM SOLUTIONS, est une entreprise maîtrisant les technologies de l&#039;informatique, et spécialisée dans les solutions informatiques et notamment les services tels que l&#039;infogérance, installations et déploiements, dépannages, maintenance et réseaux informatique. Installation et maintenance CMS(Joomla, Wordpress...), Progiciel ERP/CRM (Dolibarr...)|&lt;br /&gt;
web=http://www.a6tm-solutions.fr|&lt;br /&gt;
email=mailto:contact@a6tm-solutions.fr|&lt;br /&gt;
zip=44|&lt;br /&gt;
town=Nantes et son département|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=ACN - Atelier de Création Numérique|&lt;br /&gt;
profid=808 725 212 00019|&lt;br /&gt;
desc=ACN (Atelier de Création Numérique), Maîtres d’œuvres en Informatique, Nous sommes spécialisés dans le conseil, la création et l’intégration de solutions professionnelles pour les bureaux d&#039;études. Nos solutions vont de l’intégration d’outils Open Source et de logiciels libres à la mise en place des meilleurs produits de grands éditeurs du marché.|&lt;br /&gt;
web=http://ateliercreationnumerique.com/|&lt;br /&gt;
email=mailto:contact@atlcreanum.com|&lt;br /&gt;
zip=44|&lt;br /&gt;
town=Nantes et Grand Ouest|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=acn.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Apio systems|&lt;br /&gt;
profid=529 919 540 00029|&lt;br /&gt;
desc=Apio systems vous accompagne dans tous vos projets Open Source. Apio systems prend en charge l&#039;hébergement, l&#039;installation et l&#039;infogérance de vos applications Open Source desservant votre entreprise, tel qu&#039;un environnement web/e-commerce avec WP/PS ou autre au besoin, la partie ERP avec Dolibarr, la partie messagerie collaborative avec Kopano, la partie partage de gros fichier avec NextCloud, etc.|&lt;br /&gt;
web=https://apio.systems/|&lt;br /&gt;
email=mailto:ping@apio.systems|&lt;br /&gt;
zip=13105|&lt;br /&gt;
town=Mimet|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo-apio-systems.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Aplose|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=534906698|&lt;br /&gt;
desc=&lt;br /&gt;
APLOSE est une entreprise de services numériques spécialisée dans les logiciels libres, l’ERP/CRM Dolibarr et le développement informatique complexe. Nous accompagnons les entreprises de toutes tailles dans leurs projets de transformation digitale, en leur apportant notre expertise et nos solutions innovantes.|&lt;br /&gt;
web=http://www.aplose.fr|&lt;br /&gt;
email=[mailto:contact@aplose.fr?subject=Contact%20from%20Dolibarr%20Suppliers%20France20page contact@aplose.fr]|&lt;br /&gt;
zip=34990|&lt;br /&gt;
town=Juvignac|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=Logo_Aplose.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Artaban Communication|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=400 396 388 00037|&lt;br /&gt;
desc=Artaban Communication est une SSLL. Spécialistes du CMS SPIP, nous concevons et réalisons des sites web à forte composante éditoriale. Nous prenons également en charge le webmastering et la création de contenu. Notre expertise s&#039;étend à un certain nombre de logiciels, choisis pour leur qualité et leur intérêt, et avec lesquels nous aimons travailler et notamment Dolibarr. Artaban Communication est membre de l&#039;April.|&lt;br /&gt;
web=http://www.artaban.fr|&lt;br /&gt;
email=mailto:contact@artaban.fr|&lt;br /&gt;
zip=94340|&lt;br /&gt;
town=Joinville-le-Pont|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Artaban_logo.png‎|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=ATM Consulting|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=753 447 481 00015|&lt;br /&gt;
desc=Consulting company dedicated to small and medium enterprises information system optimization, we provide to our customers open-source based solutions to improve their information system efficiency. We offer hosting and support solutions and we are Dolibarr contributor, developer and integrator. &amp;quot;Open-source. Custom. Freedom&amp;quot;|&lt;br /&gt;
web=http://www.atm-consulting.fr|&lt;br /&gt;
email=mailto:contact@atm-consulting.fr|&lt;br /&gt;
zip=26000|&lt;br /&gt;
town=Valence|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=AB2L|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Un Alsacien à votre service. Installation et configuration de l&#039;ERP/CRM Dolibarr dans votre entreprise ou sur notre serveur. Nous vous accompagnons pour un démarrage rapide et serein. Nous sommes une société de service en logiciel libre fournissant un équivalent open source au logiciel propriétaire de tout type. |&lt;br /&gt;
web=http://www.ab2l.eu|&lt;br /&gt;
email=mailto:contact@ab2l.eu|&lt;br /&gt;
zip=67000|&lt;br /&gt;
town=Strasbourg|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Axopen IT Services|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=L&#039;entreprise Axopen propose toute une gamme de produits et services informatiques allant du conseil en système d&#039;informations, développement de solutions sur mesure et intégration de solutions Open Source ou propriétaires. Nous sommes spécialisé en particulier dans l&#039;intégration de solutions de gestion de la relation client Open Source telles que Dolibarr, SugarCRM ou VTiger... |&lt;br /&gt;
web=http://www.axopen.com|&lt;br /&gt;
email=mailto:contact@axopen.com|&lt;br /&gt;
zip=69001|&lt;br /&gt;
town=Lyon|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=AKILIS|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=AKILIS est une société éditrice de logiciels de gestion qui a fait le pari d’utiliser les nouvelles méthodes de travail pour développer des solutions clairs et efficaces. Notre mission est de vous proposer des solutions simples d&#039;utilisation, ne demandant aucun entretien de votre part, ni aucune connaissance technique particulière. Notre outil est celui que VOUS utilisez quotidiennement : le Web.&lt;br /&gt;
AKILIS, c’est une équipe toujours disponible pour vous guider et vous écouter. Nous développons et améliorons sans cesse nos logiciels afin que ceux-ci répondent au mieux à votre activité et vos besoins.&lt;br /&gt;
AKILIS peut également, dans le cadre de besoin partculier, étudier avec vous un développement sur mesure. |&lt;br /&gt;
web=http://www.akilis.fr|&lt;br /&gt;
email=mailto:contact@akilis.fr|&lt;br /&gt;
zip=69200|&lt;br /&gt;
town=Vénissieux|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Altairis|&lt;br /&gt;
profid=488020108|&lt;br /&gt;
partner=yes|&lt;br /&gt;
desc=Développements spécifiques, Installation, Formation, Accompagnement à la mise en oeuvre, Support, Intégration. Spéclialiste solution de gestion des locations de produits avec Dolibarr.|&lt;br /&gt;
web=http://www.altairis.fr|&lt;br /&gt;
email=contact@altairis.fr|&lt;br /&gt;
zip=18270|&lt;br /&gt;
town=Culan|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Atoo.Net|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Installation et configuration de l&#039;ERP/CRM Dolibarr soit sur nos serveurs, soit en local dans votre entreprise. Aide à la prise en main et formation.|&lt;br /&gt;
web=http://www.atoo-net.com/|&lt;br /&gt;
email=contact@atoo-net.com|&lt;br /&gt;
zip=45160|&lt;br /&gt;
town=Olivet|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Bee-Smart.online|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=15 ans d&#039;expérience aux services des PME &amp;amp; grands groupes, Bee-Smart vous propose un accompagnement sur mesure , adapté à vos besoins métiers et votre budget.N&#039;hésitez pas, Bee-Smart.online, le partenaire de vos projets réussis.|&lt;br /&gt;
web=https://bee-smart.online|&lt;br /&gt;
email=contact@bee-smart.online|&lt;br /&gt;
zip=25|&lt;br /&gt;
town=Montbéliard|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Faliere.com|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Installation, configuration, hébergement de Dolibarr ERP/CRM. Développement de modules et interventions ponctuelles.|&lt;br /&gt;
web=https://www.faliere.com|&lt;br /&gt;
email=contact@faliere.com|&lt;br /&gt;
zip=71700|&lt;br /&gt;
town=Farges-lès-Mâcon|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Blue-Click Informatique|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Nous proposons l&#039;installation et la configuration de l&#039;ERP/CRM Dolibarr dans votre entreprise ou sur votre hébergement Internet. De plus nous assurons la formation pour la prise en main de cet outil adapté aux TPE et PME.|&lt;br /&gt;
web=http://www.blue-click.fr|&lt;br /&gt;
email=|&lt;br /&gt;
zip=92,78|&lt;br /&gt;
town=Nanterre,Plaisir|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=CAP-REL|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Après avoir contribué au code de dolibarr dans les années 2004-2005 et l&#039;avoir utilisé en interne pour de nombreux projets depuis cette époque je propose maintenant un service autour de Dolibarr (adaptation, accompagnement, utilisation etc.).|&lt;br /&gt;
web=https://www.cap-rel.fr|&lt;br /&gt;
email=eric.doli@cap-rel.fr|&lt;br /&gt;
zip=30|&lt;br /&gt;
town=Département du Gard|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_cap-rel.png‎|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=I-Faktur.eu|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Proche de nos clients depuis 2009 nous sommes prestataire informatique avec une expérience de 30 ans de métier. Nous vous conseillons et vous accompagnons pour la gestion de votre Dolibarr et proposons l&#039;hébergement en ligne|&lt;br /&gt;
web=https://i-faktur.eu|&lt;br /&gt;
email=contact@i-faktur.eu|&lt;br /&gt;
zip=67680|&lt;br /&gt;
town=Epfig|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=I-faktur_dark-fr.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Caribbean Consult CCC|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Installation, configuration de l&#039;ERP/CRM Dolibarr en ligne, ou en local pour votre entreprise ou association. Migration de données vers Dolibarr. Prise en main, support et formation.|&lt;br /&gt;
web=https://dolibarr.ccc.gp|&lt;br /&gt;
email=support@caribbeanconsult.com|&lt;br /&gt;
zip=97180|&lt;br /&gt;
town=Sainte Anne (Guadeloupe et Martinique) Antilles Guyane|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_CCC.png‎|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=CCB Informatique|&lt;br /&gt;
profid=907 715 031|&lt;br /&gt;
desc=Expert en solutions informatiques pour les entreprises et particuliers.&amp;lt;br&amp;gt;&lt;br /&gt;
Spécialiste solutions informatiques en Essonne, administration, maintenance, développement et dépannage sur mesure pour entreprises et particuliers.|&lt;br /&gt;
web=https://ccbinformatique.fr|&lt;br /&gt;
email=mailto:contact@ccbinformatique.fr|&lt;br /&gt;
zip=91170|&lt;br /&gt;
town=Viry-Châtillon|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo-ccbinformatique.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Cergy Internet|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Cergy Internet est spécialisé dans l’informatique et plus spécifiquement dans l’internet pour les PMI/PME. Nous maitrisons les technologies digitales du simple site web jusqu’au portail complète de pilotage d’entreprise. Grâce à Dolibarr nous pouvons vous donner une vision unique sur vos clients, vos produits et même votre trésorerie. Nous lions Dolibarr avec Wordpress et sur Smartphones pour créer des portails pour vos clients. Notre directeur, Thomas Carter, a fait son MBA à MIT aux USA et a géré des entreprises de plus de 100 personnes. Il met cette expérience à votre disposition. Chez Cergy Internet nous maitrisons la technologie de boute en boute. Nous avons notre propre équipe de jeunes codeurs qui baignent dans tous qui est réseaux sociaux, applications iPhone etc. ainsi qu’une plateforme de 30 serveurs pour héberger vos sites. |&lt;br /&gt;
web=www.cergy-internet.fr|&lt;br /&gt;
email=mailto:thomas.carter@cergy-internet.fr|&lt;br /&gt;
zip=95300|&lt;br /&gt;
town=Cergy-Pontoise|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Code 42|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=793 600 735 00021|&lt;br /&gt;
desc=Nous vous accompagnons dans l’installation  et le développement de votre outil informatique. Code 42, c’est avant tout une démarche qualité et de conseil pour une relation durable. Vous avez la vision de votre entreprise, nous avons les moyens.|&lt;br /&gt;
web=www.code42.fr|&lt;br /&gt;
email=mailto:lareponse@code42.fr|&lt;br /&gt;
zip=44100|&lt;br /&gt;
town=NANTES|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=D-BOG|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=IT services company located in Beaune (21), moved around Dolibarr:&lt;br /&gt;
Installation, setup, configuration on the internal server or hosted;&lt;br /&gt;
Training agreement;&lt;br /&gt;
Outsourcing, on-site maintenance and remote.|&lt;br /&gt;
web=http://www.d-bog.com/|&lt;br /&gt;
email=|&lt;br /&gt;
zip=|&lt;br /&gt;
town=Beaune|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=DiVA-Cloud|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=DiVA-Cloud propose des applications OpenSource de gestion de la communication et de l&#039;information pour les entreprises. Notre logithèque contient des applications de WebConference, ERP, CRM, CMS, GED, et bien d&#039;autres... Toutes ces applications pré-configurés sont mises à disposition sur un environnement privé. |&lt;br /&gt;
web=www.diva-cloud.com |&lt;br /&gt;
email=mailto:contact@diva-cloud.com |&lt;br /&gt;
zip=81100|&lt;br /&gt;
town=Castres|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=DoliCloud|&lt;br /&gt;
partner=yes|&lt;br /&gt;
desc=DoliCloud is one of the most important contributor on Dolibarr and can host for you a Dolibarr instance in a SaaS (Software As A Service) mode.|&lt;br /&gt;
profid=493 861 496 00021|&lt;br /&gt;
web=https://www.dolicloud.com|&lt;br /&gt;
email=|&lt;br /&gt;
zip=33600|&lt;br /&gt;
town=Pessac (Bordeaux)|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes (https://www.dolicloud.com)|&lt;br /&gt;
service_onlinesupport=only for DoliCloud.com customers|&lt;br /&gt;
service_emailsupport=only for DoliCloud.com customers|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=no|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=logo_dolicloud.png}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Dzprod|&lt;br /&gt;
desc=Développement de solutions avancées et innovantes répondant aux besoins métiers exprimés par les utilisateurs de Dolibarr|&lt;br /&gt;
profid=831 363 726 00017|&lt;br /&gt;
web=https://www.dzprod.net|&lt;br /&gt;
email=mailto:contact@dzprod.net|&lt;br /&gt;
zip=64100|&lt;br /&gt;
town=Bayonne|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=no|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=Logo_dzprod.png}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Elonet|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=SIRET:52511620800022|&lt;br /&gt;
desc=Elonet est intégrateur et développeur de solutions pour Dolibarr.|&lt;br /&gt;
web=https://elonet.fr/dolibarr.php|&lt;br /&gt;
email=mailto:contact@elonet.fr|&lt;br /&gt;
zip=59000|&lt;br /&gt;
town=LILLE|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=ElonetNew.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=EXIG|&lt;br /&gt;
profid=SIRET:91208951300010|&lt;br /&gt;
desc=EXIG est une entreprise de proximité qui propose différents services liés au domaine de l’informatique : en particulier, le développement et deployement de solutions web. Notre objectif est de fournir un outil adapté à votre activité et de vous accompagner dans son utilisation. &lt;br /&gt;
Nous sommes une équipe de développeurs au sein d’une entreprise d’informatique. Nous pouvons vous accompagner de A à Z lors dans la mise en place et utilisation de vos outils : du logiciel au matériel (en achat ou location) tout en prenant en compte l’aspect sécurité de l’infrastructure.|&lt;br /&gt;
email=|&lt;br /&gt;
web=https://exig.fr/logiciel-de-caisse-connecte/|&lt;br /&gt;
zip=35137|&lt;br /&gt;
town=BÉDÉE|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo-exig.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=FUTUR TECH|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Prestataire de services pour artisans, TPE, PME :&lt;br /&gt;
Solutions open source, Internet, Sécurité, Sauvegarde, Antivirus, Gestion d&#039;entreprise, Conseil, Formation, Installation et Paramétrage&lt;br /&gt;
Intervention sur site client. Situé entre Bordeaux et Libourne|&lt;br /&gt;
web=http://www.futur-tech.com|&lt;br /&gt;
email=mailto:info@futur-tech.com|&lt;br /&gt;
zip=33450|&lt;br /&gt;
town=IZON|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Groupe KM|&lt;br /&gt;
profid=790 885 388 00013|&lt;br /&gt;
desc=Intégrateur,développeur et hébergeur de solutions Open Source: Progiciel ERP/CRM (Dolibarr),CMS(Joomla)et e-commerce(Prestashop).&amp;lt;br&amp;gt;Nous déployons aussi des solutions Téléphonie (VOIP, PABX...) et Accés Internet (ADSL/VDSL, SDSL...).&amp;lt;br&amp;gt;&lt;br /&gt;
Secteur Cannes, Antibes, Sophia-Antipolis, Carros, Nice et plus généralement toutes les Alpes-Maritimes.&amp;lt;br&amp;gt;&lt;br /&gt;
Notre objectif : Vous satisfaire!|&lt;br /&gt;
web=https://www.groupe-km.com|&lt;br /&gt;
email=mailto:contact@groupe-km.com|&lt;br /&gt;
zip=06220|&lt;br /&gt;
town=Vallauris|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=GWARED|&lt;br /&gt;
profid=804 659 027 00036|&lt;br /&gt;
desc=La société GWARED, est une équipe diplômée dans le domaine de l’informatique, de plus de 10 ans d’expériences dans diverses structures telles que de grandes administrations, sociétés privées mais aussi au service des particuliers. Nous sommes à l’écoute pour vous accompagner dans vos projets.&lt;br /&gt;
&lt;br /&gt;
Professionnel ou particulier, nous vous proposons de nombreux services informatiques et domotiques adaptés à votre configuration et vos besoins. Nos prestations concernent la réparation et la maintenance de votre ordinateur ou de votre parc informatique, l&#039;installation réseau (Local informatique, Internet, intranet, Wifi, CPL, etc.), l&#039;installation d’alarmes et vidéo-surveillance, sur site, à distance ou à domicile.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notre société se distingue en trois branches :&lt;br /&gt;
&lt;br /&gt;
- L’informatique (GWARED)&lt;br /&gt;
- La sécurité (alarme, vidéosurveillance et protection numérique) (GWARDSECURITY)&lt;br /&gt;
- Les jeux vidéo (concepteur de console de jeux) (GWARDBOX)&lt;br /&gt;
&lt;br /&gt;
Nous pourrons répondre à tous vos besoins dans le domaine de l’informatique.|&lt;br /&gt;
web=http://www.gwared.fr|&lt;br /&gt;
email=[mailto:support@gwared.fr?subject=Contact%20de%20Dolibarr%20Suppliers%20France support@gwared.fr]|&lt;br /&gt;
zip=77500|&lt;br /&gt;
town=Chelles et Île de France|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_Gwared.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=HELIUM TECHNOLOGIES|&lt;br /&gt;
profid=494 895 360 00027|&lt;br /&gt;
partner=yes|&lt;br /&gt;
desc=&lt;br /&gt;
Mise en place de solutions ERP Dolibarr sur nos serveurs ou dans votre entreprise avec assistance téléphonique, support technique, développement de modules spécifiques et formation.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;SSII basée en Guadeloupe, Martinique et Guyane&#039;&#039;&#039;, nous proposons également des solutions libres comme GLPI, Prestashop, Joomla, Odoo, Zimbra, BlueMind, Centreon, ...|&lt;br /&gt;
web=http://|&lt;br /&gt;
email=[mailto:contact@helium-technologies.com?subject=Contact%20from%20Dolibarr%20Suppliers%20France20page contact@helium-technologies.com]|&lt;br /&gt;
zip=97122|&lt;br /&gt;
town=BAIE-MAHAULT (GUADELOUPE)|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_HeliumTechnologies.jpg&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=IABAI SaS|&lt;br /&gt;
profid= FR27913974648|&lt;br /&gt;
desc= SaaS Company specialised in IT operations, Automation, Business Management, Artificial Intelligence and more |&lt;br /&gt;
web=https://www.iab.ai|&lt;br /&gt;
email=mailto:info@iab.ai|&lt;br /&gt;
zip=13006|&lt;br /&gt;
town=Marseille|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=iabai_logo_small.png|&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Infonel.net|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=administrateur système open source indépendant:&lt;br /&gt;
Installation, paramétrage, configuration et sécurisation de dolibarr sur site client|&lt;br /&gt;
web=http://www.infonel.net|&lt;br /&gt;
email=|&lt;br /&gt;
zip=11100|&lt;br /&gt;
town=Narbonne|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=iNodbox|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Développeur indépendant d&#039;application web, paramétrage et installation de Dolibarr, développement de modules spécifique. Basé dans l&#039;Ain à Bourg en Bresse (30min de Mâcon, 1h de Chalon sur Saône, 1h de Lyon), je contribue depuis de nombreuses années au développement de Dolibarr.|&lt;br /&gt;
web=https://www.inodbox.com/|&lt;br /&gt;
email=regis.houssin@inodbox.com|&lt;br /&gt;
zip=01000|&lt;br /&gt;
town=Bourg en Bresse|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=(https://www.inodbox.com)|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Inovea Conseil|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=797 613 072 00017|&lt;br /&gt;
desc=Développeur, Intégrateur, Hébergeur et Formateur de Dolibarr pour TPE - PME | &lt;br /&gt;
web=https://www.inovea-conseil.com/ |&lt;br /&gt;
email=https://www.inovea-conseil.com/contact/ |&lt;br /&gt;
zip=88,54,75|&lt;br /&gt;
town=Nancy|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Inoveaconseil.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=i.d &amp;amp; l|&lt;br /&gt;
profid=521 749 994 00013|&lt;br /&gt;
desc=Conseil et intégration de solutions logicielles libres, dont Dolibarr, pour artisans, TPE, indépendants, commerçants, PME, associations...|&lt;br /&gt;
web=https://idl-mp.com|&lt;br /&gt;
email=https://idl-mp.com/contact/|&lt;br /&gt;
zip=31,32,09,82,81|&lt;br /&gt;
town=Région toulousaine|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=iouston informatique|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=792 353 005 00046|&lt;br /&gt;
desc=iouston informatique, situé à proximité de Nancy, Metz, Lunéville, est spécialisée auprès des associations, des TPE et des artisans commerçants. Nous installons et configurons dolibarr pour vous et nous formons vos équipes à son utilisation quotidienne. Nous proposons de nombreux autres services, associés ou non à dolibarr. Nous travaillons avec dolibarr depuis plus de 6 ans et éditons des modules supplémentaires pour dolibarr, [https://www.dolistore.com/fr/recherche?controller=search&amp;amp;orderby=position&amp;amp;orderway=desc&amp;amp;search_query=iouston&amp;amp;submit_search= disponibles sur dolistore]|&lt;br /&gt;
web=https://www.iouston.com|&lt;br /&gt;
email=allo@iouston.com|&lt;br /&gt;
zip=54370|&lt;br /&gt;
town=Einville au Jard|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=ISYNUX|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Société de services en réseaux et sytèmes. ISYNUX vous propose un suivi complet pour DOLIBARR : installation, hébergement, personnalisation de vos modèles de document, formation à la carte. |&lt;br /&gt;
web=http://www.isynux.fr|&lt;br /&gt;
email=mailto:formation@isynux.fr|&lt;br /&gt;
zip=626100|&lt;br /&gt;
town=Ardres|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Jeffinfo (ZenDSI)|&lt;br /&gt;
profid=429 625 973|&lt;br /&gt;
partner=yes|&lt;br /&gt;
desc=Jeffinfo est une société de services en informatique qui vous sert depuis plus de 15 ans dont 10 ans dans le domaine de Dolibarr. Implanté dans le nord à Ennetières en Weppes. Nous sommes à vos services pour vous proposer tous les services autour de votre ERP préféré.&lt;br /&gt;
web=https://shop.zendsi.com|&lt;br /&gt;
email=mailto:contact@zendsi.com|&lt;br /&gt;
zip=59320|&lt;br /&gt;
town=Ennetières en Weppes|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=KONTAVA|&lt;br /&gt;
profid=931 528 822 R.C.S. Toulouse|&lt;br /&gt;
desc= Une nouvelle solution en ligne, simplifiée avec des widgets graphiques pour suivre son activité. Que tu sois artisan, indépendant ou libéral, que tu gères une TPE ou une association, découvre notre solution de gestion adaptée à tes besoins. Région Toulousaine.|&lt;br /&gt;
web=https://kontava.fr|&lt;br /&gt;
email=mailto:contact@kontava.fr|&lt;br /&gt;
zip=31170|&lt;br /&gt;
town=Tournefeuille|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes (https://kontava.fr)|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=no|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=LogoKontava.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=KJR online|&lt;br /&gt;
profid=818 889 644 00014|&lt;br /&gt;
desc=Conseils et Services Informatiques. Installation, formation et personnalisation de Dolibarr. Région Toulousaine.|&lt;br /&gt;
web=http://www.kjr-online.fr|&lt;br /&gt;
email=mailto:eric.picabia@kjr-online.fr|&lt;br /&gt;
zip=31210|&lt;br /&gt;
town=Clarac|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Kreiz IT|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=	752 505 131 00017|&lt;br /&gt;
desc={{Flag_fr}}Conseils en organisation et sécurité informatique pour les TPE / PME. Dolibarr fait partie des outils informatiques structurants pour les TPE/PME proposé par Kreiz IT.&lt;br /&gt;
&lt;br /&gt;
{{Flag_en}}IT management and security consultant for small to medium business. Dolibarr is part of IT&#039;s structuring tools for business used by Kreiz IT. |&lt;br /&gt;
web=http://www.kreiz-it.fr |&lt;br /&gt;
email=mailto:contact@kreiz-it.fr |&lt;br /&gt;
zip=56600|&lt;br /&gt;
town=Lanester|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=LogoKIT.jpg&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=LIBRE EXPERT|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=48879200300045|&lt;br /&gt;
desc={{Flag_fr}}Intégrateur et développeur Dolibarr, auteur de plusieurs modules complémentaires, spécialiste également de l&#039;administration Linux.&lt;br /&gt;
&lt;br /&gt;
{{Flag_en}}&lt;br /&gt;
Integrator and Dolibarr developer, author of several complementary modules, also specialist in Linux administration. |&lt;br /&gt;
web=http://www.libre-expert.com|&lt;br /&gt;
email=mailto:contact@libre-expert.com |&lt;br /&gt;
zip=63100|&lt;br /&gt;
town=Clermont-Ferrand|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Libre Master|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc={{Flag_fr}}Aux entreprises qui recherchent une expertise senior pour héberger leur Dolibarr. L&#039;hébergement est clé en main, dédié et spécialisé, associé à de vrais méthodes d&#039;ingénierie avancée, maintenu à jour, sécurisé et sauvegardé dans un bunker. Ce service ne s&#039;adresse pas aux entreprises qui se contentent d&#039;un hébergement web amateur.&lt;br /&gt;
&lt;br /&gt;
{{Flag_en}}For companies looking for senior expertise to host their Dolibarr. The hosting is turnkey, dedicated and specialized, associated with real advanced engineering methods, kept up to date, secure and backed up in a bunker. This service is not for companies that are satisfied with amateur web hosting.&lt;br /&gt;
&lt;br /&gt;
{{Flag_sp}}A empresas que buscan experiencia senior para alojar su Dolibarr. El hosting es llave en mano, dedicado y especializado, combinado con métodos de ingeniería realmente avanzados, actualizado, seguro y respaldado en un búnker. Este servicio no está dirigido a empresas que se contentan con el alojamiento web para aficionados.|&lt;br /&gt;
web=https://libremaster.com/dolibarr-en-ligne/|&lt;br /&gt;
email=https://libremaster.com/contact/ |&lt;br /&gt;
zip=75017|&lt;br /&gt;
town=PARIS|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=no|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=Libremaster-v5-logo-fg-dark-50px.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Librethic|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=83334801400014|&lt;br /&gt;
desc={{Flag_fr}}Librethic est une Société de Services en Informatique et Technologies Libres, tournée vers les entreprises et les associations. Créée en 2017, elle est portée par des professionnels aguerris aux technologies libres et open source. &lt;br /&gt;
L&#039;environnement Dolibarr fait partie du cœur de compétences de Librethic (développement de modules complémentaires, hébergement SaaS, hébergement sur site, passerelle e-commerce).&lt;br /&gt;
{{Flag_en}}&lt;br /&gt;
Librethic is an IT Provider aiming at businesses and organizations, offering services in free/libre and open source software (FLOSS) and open design technologies. &lt;br /&gt;
Founded in 2017, Librethic is driven by libre and open source technologies seasoned professionals. Dolibarr&#039;s environment is one of Librethic&#039;s core skills (Addons and plugins development, SaaS hosting, on-premise hosting, e-commerce gateway).&lt;br /&gt;
web=https:/librethic.io/|&lt;br /&gt;
email=mailto:hello+dolibarr@librethic.io|&lt;br /&gt;
zip=34070|&lt;br /&gt;
town=Montpellier|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=logo-librethic.png&lt;br /&gt;
}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=LOGOTYP|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=Siret 38397720400031|&lt;br /&gt;
desc={{Flag_fr}}Intégration et formation dans l&#039;entreprise. Support, installation, sécurisation et plus.&lt;br /&gt;
&lt;br /&gt;
{{Flag_de}}&lt;br /&gt;
Integration und Schulung für Unternehmen &amp;amp; Mitarbeiter. Support, Installation, Sicherung und mehr.|&lt;br /&gt;
web=http://www.logotyp.fr|&lt;br /&gt;
email=mailto:jacobs@logotyp.fr |&lt;br /&gt;
zip=03200|&lt;br /&gt;
town=Vichy|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=LVS Informatique|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Development Specialist php, mysql. Creation, enhancement, customization of modules and components ...&lt;br /&gt;
Nos modifs/nos modules :&lt;br /&gt;
-cashdesk : prix en ttc, possibilité de modification du prix, du libellé...&lt;br /&gt;
-interfaçage avec GoogleAgenda (toutes les actions apparaissent dans GoogleAgenda)&lt;br /&gt;
-Mails/Télécopies reçus : apparaissent dans un onglet spécifique sur le tiers en question&lt;br /&gt;
-qualification Tiers&lt;br /&gt;
-Adresse Tiers vu dans GoogleMap&lt;br /&gt;
-creation de nbreux template excel/pdf&lt;br /&gt;
|&lt;br /&gt;
web=http://www.lvsinformatique.com|&lt;br /&gt;
email=|&lt;br /&gt;
zip=83860|&lt;br /&gt;
town=NANS LES PINS|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=MEDIALTA|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Installation, configuration de Dolibarr sur nos serveurs, ou dans l&#039;entreprise (Nancy, Metz, Lorraine, Grand Est). Formation, prise en main. Développement de modules sur mesure.|&lt;br /&gt;
web=www.medialta.com|&lt;br /&gt;
email=|&lt;br /&gt;
zip=54340|&lt;br /&gt;
town=Pompey|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Mephivio|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Services company with a computer located in Montpellier agglo, specializing in computer graphics, secretariat, Joomla web sites, client, opensource (Dolibarr, glpi, voip Elastix / Trixbox / PIAF etc ...)|&lt;br /&gt;
web=http://www.mephivio.fr/|&lt;br /&gt;
email=|&lt;br /&gt;
zip=|&lt;br /&gt;
town=|&lt;br /&gt;
country=fr|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=MEZIANT|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=MEZIANT propose aux PME, TPE, artisans, commerçants et associations de l&#039;Ouest son expertise en informatique issue d&#039;une expérience de plus de 15 ans en Audit de Système d&#039;Informations,  Site internet, Formation et Choix de logiciel de gestion (ERP) comme &#039;&#039;&#039;DOLIBARR&#039;&#039;&#039; dont elle peut assurer l’installation, la formation ou encore le développement de modules spécifiques sur site client.&lt;br /&gt;
web=http://www.meziant.fr |&lt;br /&gt;
email=mailto:contact@meziant.fr |&lt;br /&gt;
zip=22940|&lt;br /&gt;
town=PLAINTEL (Bretagne - France)|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Modulaweb : Technologies modulables orientées web.|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Développement d&#039;applicatifs web, hébergement d&#039;applications web, serveurs de fichiers et de sauvegarde, sites internet/intranet et intégration web, espaces clients, communication via internet (VoIP, messagerie instantanée), travail collaboratif. Spécialiste solutions libres pour l&#039;entreprise (Zimbra, Dolibarr, Thaïs...) Région Languedoc-Rouissillon et voisines |&lt;br /&gt;
web=http://www.modulaweb.fr|&lt;br /&gt;
email=http://www.modulaweb.fr/portail/contact/|&lt;br /&gt;
zip=34000|&lt;br /&gt;
town=Montpellier|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Net Logic|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=SIRET: 477 583 264 00023|&lt;br /&gt;
desc=Installation et configuration de l&#039;ERP/CRM Dolibarr sur nos serveurs, ou en local dans votre entreprise. Paramétrage, personnalisation, reporting spécifique, assistance.|&lt;br /&gt;
web=http://www.netlogic.fr/|&lt;br /&gt;
email=info@netlogic.fr|&lt;br /&gt;
zip=93160|&lt;br /&gt;
town=Noisy-le-Grand|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=NordCode|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=SIRET:99521905200017|&lt;br /&gt;
desc=Développement spécifique, corrections de bugs, migrations, paramétrage et support technique.|&lt;br /&gt;
web=https://nordcode.pro/|&lt;br /&gt;
email=mailto:julien@nordcode.pro|&lt;br /&gt;
zip=59163|&lt;br /&gt;
town=Condé-sur-l&#039;Escaut|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=NORD ERP CRM|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=83184221600010 (SIRET)|&lt;br /&gt;
desc=Intégration, assistance, formation, développements spécifiques et hébergement de solutions Dolibarr. NORD ERP CRM est certifié QUALIOPI ce qui permet la prise en charge des formations par les organismes de financement. Nous nous adaptons à vos spécificités métiers.|&lt;br /&gt;
web=https://www.nord-erp-crm.fr/|&lt;br /&gt;
email=mailto:contact@nord-erp-crm.fr|&lt;br /&gt;
zip=59100|&lt;br /&gt;
town=Roubaix|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=NS-INFO|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=79392284000020(SIRET)|&lt;br /&gt;
desc=Intégration, assistance, formation, développements spécifiques et hébergement de solutions Dolibarr|&lt;br /&gt;
web=https://www.ns-info.fr/|&lt;br /&gt;
email=mailto:contact@ns-info.fr|&lt;br /&gt;
zip=90360|&lt;br /&gt;
town=Lachapelle-sous-rougemont|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=LOGO NS-INFO90.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=NUM&#039;X|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=82465583100017(SIRET)|&lt;br /&gt;
desc=NUM&#039;X est une entreprise de services numériques (ESN) intervenant notamment pour les TPE PME et proposant des services autour du PGI Dolibarr|&lt;br /&gt;
web=https://www.numx-sets.eu/dolibarr.html|&lt;br /&gt;
email=mailto:contact@numx-sets.eu|&lt;br /&gt;
zip=44590|&lt;br /&gt;
town=SION-LES-MINES|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=LOGO numx-sets.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=OAS-SERVICES|&lt;br /&gt;
profid=829767904|&lt;br /&gt;
partner=no|&lt;br /&gt;
desc=&lt;br /&gt;
OAS-SERVICES est une société de service spécialisés dans la mise en place de logiciels libres sous forme de services cloud, notamment de Ma Gestion Cloud (Dolibarr, viger), la mise en place de site internet et boutique en lignes, le développement d&#039;application et de modules en PHP (Dolibarr, Wordpress, Prestashop), mais aussi en Java (JEE, Webservices, JPA), la mise en place de systèmes d&#039;exploitation (linux), la gestion de projet en agilité - Montpellier, Sète|&lt;br /&gt;
web=https://www.ma-gestion-cloud.fr|&lt;br /&gt;
email=[mailto:contact@oas-services.fr?subject=Contact%20from%20Dolibarr%20Suppliers%20France20page contact@oas-services.fr]|&lt;br /&gt;
zip=34200|&lt;br /&gt;
town=SETE|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=logo-oas-services.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=OPEN-DSI Easya Solutions|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=SIRET:75130522800015|&lt;br /&gt;
desc=Easya Solutions travaille à l&#039;optimisation de votre productivité. Forts de notre savoir-faire, nous proposons une approche éditeur de Dolibarr.&lt;br /&gt;
Bénéficiez d&#039;un outil couvrant l’ensemble de vos besoins, processus et spécificités. Gagnez du temps dans vos missions quotidiennes. Optez pour la solution Easya ERP/CRM :&lt;br /&gt;
&lt;br /&gt;
Un Dolibarr stable sur le long terme (5 ans) ;&lt;br /&gt;
&lt;br /&gt;
Le maintien en conditions opérationnelles du package : la correction des bugs fonctionnels est incluse dans votre forfait ;&lt;br /&gt;
&lt;br /&gt;
Une sélection de modules complémentaires installés et pré-paramétrés ;&lt;br /&gt;
&lt;br /&gt;
L&#039;hébergement en France pour le mode SaaS ; ou On-Premise.|&lt;br /&gt;
web=https://www.open-dsi.fr|&lt;br /&gt;
email=mailto:infos@open-dsi.fr|&lt;br /&gt;
zip=69,38,01,42|&lt;br /&gt;
town=LYON|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=LOGO-Easya_Solutions-carre.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Opens|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=SIRET:888 706 280 00011|&lt;br /&gt;
desc=Opens est spécialisée dans l&#039;accompagnement Digital, RH et Qualité. Nous croyons que ces trois pôles sont intimement liés et œuvrons pour la souveraineté numérique de nos clients. Nous intervenons principalement dans l&#039;Hérault et l&#039;Occitanie.|&lt;br /&gt;
web=https://solutions.open-s.fr|&lt;br /&gt;
email=mailto:contact@open-s|&lt;br /&gt;
zip=34000|&lt;br /&gt;
town=MONTPELLIER|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_opens_solutions.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Run Innovation|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=SIRET:39217453800059|&lt;br /&gt;
desc=Utilisateur de Dolibarr depuis 2004, Run Innovation est un intégrateur spécialisé dans l’implémentation de l’ERP/CRM Dolibarr en entreprise.|&lt;br /&gt;
web=https://runinnovation.tech|&lt;br /&gt;
email=mailto:contact@runinnovation.tech|&lt;br /&gt;
zip=64100|&lt;br /&gt;
town=Bayonne|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Cabecera-runinnovation-1.0.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=OIS - Open IT Store|&lt;br /&gt;
profid=822 430 419 00017|&lt;br /&gt;
desc=OIS (Open IT Store), We provide opensource instances located in Europe or North America.|&lt;br /&gt;
web=https://openitstore.com/dolibarr|&lt;br /&gt;
email=mailto:contact@openitstore.com|&lt;br /&gt;
zip=|&lt;br /&gt;
town=|&lt;br /&gt;
country=|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=no|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Oscss Shop|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=SIRET:810 421 339 00013|&lt;br /&gt;
desc=Développement de modules sur mesure, interconnexions  et hébergements.|&lt;br /&gt;
web=http://oscss-shop.fr|&lt;br /&gt;
email=mailto:support@oscss-shop.fr|&lt;br /&gt;
zip=28,45,41,72,61,27,75,69,38,01,73,74|&lt;br /&gt;
town=LA LOUPE|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Pascal Sené|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Logiciels libres et photographie.|&lt;br /&gt;
web=http://www.pascalsene.com|&lt;br /&gt;
email=contact@pascalsene.com|&lt;br /&gt;
zip=22,29,35,56|&lt;br /&gt;
town=Lannion|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Patas-Monkey|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Conseil, formation, développement et modules| &lt;br /&gt;
web=http://www.patas-monkey.com|&lt;br /&gt;
email=r.deschamps@patas-monkey.com|&lt;br /&gt;
zip=69,42,38,01,83|&lt;br /&gt;
town=Lyon|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Patasmonkey.jpg&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Pragma-tech|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=842 325 268 00014|&lt;br /&gt;
desc=Intégrateur, Hébergeur et Formateur de Dolibarr pour TPE - PME | &lt;br /&gt;
web=https://www.pragma-tech.fr/ |&lt;br /&gt;
email=contact@pragma-tech.fr|&lt;br /&gt;
zip=|&lt;br /&gt;
town=PAU|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=pragma-tech.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=ProbeSys|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Créée en 2003 par des passionnés du logiciel libre, [http://probesys.com ProbeSys] est une entreprise coopérative à l&#039;image du secteur des nouvelles technologies : dynamique, réactive et participative. |&lt;br /&gt;
web=http://www.probesys.com|&lt;br /&gt;
email=mailto:contact@probesys.com|&lt;br /&gt;
zip=38600|&lt;br /&gt;
town=Fontaine|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=PRODUCTIVIX sarl|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Productivix fourni aux PMI des solutions complètes de traçabilité code-barre / rfid et développe des applications mobiles sur mesure offline (connexions intermitentes) de scan et d&#039;impression mobiles liées à des ERP, elle travaille avec Dolibarr via ses API, paramètre les modules et fourni si nécessaire l&#039;hébergement et les modifications ou création de modules nécessaires dans Dolibarr; Productivix founi les licences mobiles en location, et à l&#039;achat les imprimantes et terminaux durcis avec scanner intégré- développements et installations à distance tous pays|&lt;br /&gt;
web=https://www.productivix.com/mot62.html|&lt;br /&gt;
email=https://www.productivix.com/article239.html|&lt;br /&gt;
zip=38|&lt;br /&gt;
town=Bourgoin-Jallieu|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Pro IP|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Mise en place de solutions ERP comme Dolibarr sur nos serveurs ou dans votre entreprise, assistance et formation|&lt;br /&gt;
web=http://wwww.proip.fr|&lt;br /&gt;
email=mailto:contact@proip.fr|&lt;br /&gt;
zip=62129|&lt;br /&gt;
town=Clarques|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Proxy-Media|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Services Informatiques aux artisans et independants|&lt;br /&gt;
email=mailto:contact@proxy-media.fr|&lt;br /&gt;
zip=17340|&lt;br /&gt;
town=Chatelaillon|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=PTMSoft SARL|&lt;br /&gt;
profid=520 618 646 00019|&lt;br /&gt;
desc=Société de services et de développement logiciel. Installation Dolibarr sur nos serveurs ou dans votre entreprise, assistance et configuration.|&lt;br /&gt;
web=http://www.ptmsoft.fr|&lt;br /&gt;
email=[mailto:contact@ptmsoft.fr?subject=Contact%20de%20la%20page%20Dolibarr%20Suppliers%20France contact@ptmsoft.fr]|&lt;br /&gt;
zip=68890|&lt;br /&gt;
town=Mulhouse, Colmar|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=Logo PTMSoft.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=SIMICAR|&lt;br /&gt;
profid=832 284 616 00014|&lt;br /&gt;
desc=Société de services et de développement logiciel. Faire de Dolibarr Vote Dolibarr.|&lt;br /&gt;
web=http://www.simicar.fr|&lt;br /&gt;
email=[mailto:contact@simicar.fr]|&lt;br /&gt;
zip=29290|&lt;br /&gt;
town=Saint-Renan|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo v2.svg.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Syllene|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=We install and configure the software Dolibarr to suit your needs and train your users. We can also provide hosting and maintenance of your application.|&lt;br /&gt;
web=http://www.syllene.net/|&lt;br /&gt;
email=|&lt;br /&gt;
zip=|&lt;br /&gt;
town=|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Tiaris|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Solutions and services for small businesses and merchants: e-commerce, maintenance, ERP/CRM Dolibarr, development telecommuting. ecommerce - dolibarr webservice based interface. Saas Offer Dolibarr + ecommerce connection for open source caddies (OsCommerce, Zencart, Crelaoded, Prestashop and others...)|&lt;br /&gt;
web=http://www.tiaris.fr/|&lt;br /&gt;
email=http://www.tiaris.fr/spip.php?page=contact|&lt;br /&gt;
zip=57870|&lt;br /&gt;
town=WALSCHEID|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=UTOPSYS -  L&#039;Informatique, Professionnelle.|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Maintenance, dépannage, conseil, audits, Green IT, solutions open-source de travail collaboratif, installation et maintenance Dolibarr. Bordeaux, CUB, Libourne.|&lt;br /&gt;
web=http://www.utopsys.fr|&lt;br /&gt;
email=|&lt;br /&gt;
zip=|&lt;br /&gt;
town=Libourne|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=YON - Your Own Net|&lt;br /&gt;
profid=822 430 419 00017|&lt;br /&gt;
desc=YON (Your Own Net), Fournisseur de solution numérique, Nous sommes spécialisés dans la fourniture de solutions informatiques pour les professionnelles et les particuliers. Nos solutions vont de l’intégration d’outils Open Source et de logiciels libres à l&#039;hébergement de logiciels.|&lt;br /&gt;
web=http://yourownnet.net/|&lt;br /&gt;
email=mailto:contact@yourownnet.net|&lt;br /&gt;
zip=79|&lt;br /&gt;
town=Niort et Grand Ouest|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Weedoo Digital|&lt;br /&gt;
profid=831 555 008 000 18 (SIRET)|&lt;br /&gt;
desc=Weedoo Digital est un fournisseur de solutions cloud et digitales pour entreprises. Nos services s’étendent de l’hébergement CLOUD aux solutions de gestion pour entreprises, en passant par le développement web et le E-marketing.|&lt;br /&gt;
web=https://weedoo.digital/|&lt;br /&gt;
email=https://weedoo.digital/contactez-nous|&lt;br /&gt;
zip=69|&lt;br /&gt;
town=Ain et Rhône-Alpes|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=WEBINFOPRO|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Society Computers and Internet service for small businesses located in the suburbs west of Paris. One of the main activities is the integration of open source software.|&lt;br /&gt;
web=http://www.webinfopro.fr/|&lt;br /&gt;
email=|&lt;br /&gt;
zip=|&lt;br /&gt;
town=|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Z-Application|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Développement personnalisé et assistance à la installation-migration. Support sur site possible dans le département Manche (50).|&lt;br /&gt;
web=https://www.z-application.com/|&lt;br /&gt;
email=|&lt;br /&gt;
zip=50250|&lt;br /&gt;
town=Coutances - Cherbourg - Saint-Lô|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Swendra Willy|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Développeur de modules Dolibarr, intégrateur de solution ERP prêt à l&#039;emploi|&lt;br /&gt;
web=http://www.wdeve.fr|&lt;br /&gt;
email=mailto:hello@wdeve.fr|&lt;br /&gt;
zip=06600|&lt;br /&gt;
town=Antibes|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Syncae|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Syncae est une solution d’hébergement haut de gamme pour Dolibarr, pensée pour les PME : rapide, sécurisé, clé en main.|&lt;br /&gt;
web=https://syncae.fr|&lt;br /&gt;
email=mailto:contact@syncae.fr|&lt;br /&gt;
zip=69300|&lt;br /&gt;
town=Lyon|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Bfaliere</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Outils_de_d%C3%A9veloppement&amp;diff=65209</id>
		<title>Outils de développement</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Outils_de_d%C3%A9veloppement&amp;diff=65209"/>
		<updated>2026-01-15T11:21:29Z</updated>

		<summary type="html">&lt;p&gt;Bfaliere: /* Git Hooks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Do NOT edit this section&lt;br /&gt;
     Links below are automatically managed by PolyglotBot&lt;br /&gt;
     You can edit links on the English source page : Environment_and_development_tools --&amp;gt;&lt;br /&gt;
[[en:Environment_and_development_tools]]&lt;br /&gt;
[[es:Herramientas_de_Desarrollo]]&lt;br /&gt;
[[zh:开发环境与工具]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocDevFr}}&lt;br /&gt;
&lt;br /&gt;
Tout environnement de développement peut être utilisé.&lt;br /&gt;
Toutefois voici une liste d&#039;outils fortement recommandés pour leur complétude, leur qualité et la productivité du développement qu&#039;ils apportent. Ils sont utilisés par la plupart des développeurs principaux de Dolibarr. Notons que toutes ces solutions sont gratuites et OpenSource.&lt;br /&gt;
&lt;br /&gt;
=[[File:Eclipsephp.jpg]] Pour tout développeur=&lt;br /&gt;
&lt;br /&gt;
Voici le socle de travail recommandé, toutefois tout outil respectant les standards Web, PHP, Mysql peuvent faire l&#039;affaire.&lt;br /&gt;
&lt;br /&gt;
==Un serveur AMP==&lt;br /&gt;
&lt;br /&gt;
*Apache, MariaDB et PHP&lt;br /&gt;
&lt;br /&gt;
Sur Linux: Ces 3 produits sont disponibles dans toutes distributions.&lt;br /&gt;
&lt;br /&gt;
Sur Windows: Installez [http://www.wampserver.com/WampServer] (base MariaDB, Apache et PHP tout clé en main). Ce serveur WAMP offre le trio MariaDB + Apache + PHP, avec possibilité de basculer de version pour n&#039;importe lequel de ces composants d&#039;un simple clic).&lt;br /&gt;
&lt;br /&gt;
==Chrome ou Firefox et plugins==&lt;br /&gt;
&lt;br /&gt;
*Chrome + plugins de votre choix&lt;br /&gt;
&lt;br /&gt;
A télécharger depuis le site http://www.chrome.com&lt;br /&gt;
&lt;br /&gt;
*Firefox + plugins de votre choix&lt;br /&gt;
&lt;br /&gt;
A télécharger depuis le site http://www.firefox.com&lt;br /&gt;
&lt;br /&gt;
==Un outil d&#039;accès aux bases de données==&lt;br /&gt;
&lt;br /&gt;
Exemple:&lt;br /&gt;
&lt;br /&gt;
*SquirrelSQL pour l&#039;administration de base - A télécharger depuis le site http://squirrel-sql.sf.net&lt;br /&gt;
*DBeaver - https://dbeaver.io/&lt;br /&gt;
&lt;br /&gt;
==IDE (Eclipse, VSCode) et plugins==&lt;br /&gt;
&lt;br /&gt;
===Eclipse===&lt;br /&gt;
&lt;br /&gt;
====Installation d&#039;Eclipse====&lt;br /&gt;
Nous recommandons la version suivante d&#039;Eclipse:&lt;br /&gt;
&lt;br /&gt;
{{DownloadEclipse}}&lt;br /&gt;
&lt;br /&gt;
Sinon toute version disponible sur le site [http://www.eclipse.org Eclipse] fait l&#039;affaire.&lt;br /&gt;
&lt;br /&gt;
Une fois Eclipse installé, il est recommandé de modifier/vérifier les paramètres suivants:&lt;br /&gt;
{{EclipseStandardSetup}}&lt;br /&gt;
&lt;br /&gt;
====Installation du plugin Eclipse pour PHP: PDT.====&lt;br /&gt;
Avec certaines installations d&#039;Eclipse, PDT peut etre installé depuis Help -&amp;gt; Install new software et choisir PDT.&lt;br /&gt;
Si PDT n&#039;est pas présent, si vous avez installé la version Eclipse ci-dessus, il suffit d&#039;utiliser la procédure Help -&amp;gt; Install new software -&amp;gt; Add -&amp;gt; pour installer le package complémentaire:&lt;br /&gt;
&lt;br /&gt;
{{DownloadEclipsePDT}}&lt;br /&gt;
&lt;br /&gt;
Une fois PDT installé, il faut aussi le configurer dans Eclipse comme défini dans le chapitre [[Outils_de_développement_-_Composants_optionnels#Depuis_Eclipse]].&lt;br /&gt;
&lt;br /&gt;
====Configurer Eclipse pour récupérer les sources====&lt;br /&gt;
Une fois qu&#039;Eclipse est installé, vous pouvez vous connecter au repository GIT pour y récupérer les dernières versions de développement.&lt;br /&gt;
&lt;br /&gt;
Pour cela, voir la page [[FAQ Récupérer, mettre à jours les sources GIT du projet]].&lt;br /&gt;
&lt;br /&gt;
===Codium===&lt;br /&gt;
&lt;br /&gt;
Codium est la version Libre de VSCode, la documentation suivante s&#039;appliquera donc probablement à vscode.&lt;br /&gt;
&lt;br /&gt;
====Modules complémentaires====&lt;br /&gt;
&lt;br /&gt;
Voici la liste des modules complémentaire conseillés:&lt;br /&gt;
&lt;br /&gt;
*[https://open-vsx.org/extension/bmewburn/vscode-intelephense-client PHP Intelephense]&lt;br /&gt;
*phpdoc-comment&lt;br /&gt;
*PHPUnit&lt;br /&gt;
*[https://open-vsx.org/extension/junstyle/php-cs-fixer PHP CS Fixer]&lt;br /&gt;
*[https://open-vsx.org/extension/EditorConfig/EditorConfig EditorConfig for VSCode] pour que la configuration du projet définie dans le fichier .editorconfig soit utilisée automatiquement&lt;br /&gt;
*[https://open-vsx.org/extension/mhutchie/git-graph Git Graph]&lt;br /&gt;
*[https://open-vsx.org/extension/xdebug/php-debug PHP Debug] pour utiliser XDebug directement dans Codium&lt;br /&gt;
&lt;br /&gt;
====Stubs ou extraits de codes====&lt;br /&gt;
&lt;br /&gt;
Si vous développez des modules complémentaires pour dolibarr vous apprécierez d&#039;avoir les définitions des fonctions et autres objets de dolibarr sans avoir à sourcer l&#039;arborescence complète de dolibarr...&lt;br /&gt;
&lt;br /&gt;
Tout ceci se passe par la récupération des stubs depuis https://packagist.org/packages/caprel/dolibarr-stubs.&lt;br /&gt;
&lt;br /&gt;
Une fois le stub téléchargé / ou installé en suivant la doc pensez à ajouter le fichier dolibarr-stubs dans la liste des stubs de votre codium, éditez le fichier ~/.config/VSCodium/User/settings.json&lt;br /&gt;
 &amp;quot;intelephense.stubs&amp;quot;: [&lt;br /&gt;
  &amp;quot;apache&amp;quot;,&lt;br /&gt;
  &amp;quot;intl&amp;quot;,&lt;br /&gt;
  &amp;quot;standard&amp;quot;,&lt;br /&gt;
  &amp;quot;/media/erics/stockage/tmp/dolibarr/stubs&amp;quot;,&lt;br /&gt;
 ],&lt;br /&gt;
 &amp;quot;intelephense.environment.includePaths&amp;quot;: [&lt;br /&gt;
  &amp;quot;/media/erics/stockage/tmp/dolibarr/stubs&amp;quot;,&lt;br /&gt;
 ],&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===VSCode===&lt;br /&gt;
&lt;br /&gt;
===={{DownloadVSCode}}====&lt;br /&gt;
&lt;br /&gt;
==Git Hooks==&lt;br /&gt;
&lt;br /&gt;
===Installer le hook git Pre-commit===&lt;br /&gt;
&lt;br /&gt;
Vous pouvez utiliser des hooks git pour vérifier la syntaxe du fichier que vous validez et annuler (ou mieux corriger automatiquement) la validation si quelque chose ne va pas.&lt;br /&gt;
&lt;br /&gt;
Les instructions pour installer un tel hook de pré-validation sont disponibles sur ce fichier :&lt;br /&gt;
&lt;br /&gt;
https://github.com/Dolibarr/dolibarr/tree/develop/dev/setup/pre-commit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De tels hooks fonctionneront lors d&#039;une utilisation en ligne de commande, mais peuvent également fonctionner lors d&#039;une validation à l&#039;aide de votre IDE commun (il a été validé avec Eclipse et VSC).&lt;br /&gt;
&lt;br /&gt;
Une fois installé, le hook démarrera lors de votre prochain commit pour reformater votre code, afin que votre code corresponde toujours aux règles de syntaxe de codage. Si tout le monde active ce hook, tout le monde utilisera la même règle de syntaxe de codage, il est donc fortement recommandé de l&#039;activer si vous le pouvez. Si quelque chose ne va pas dans la syntaxe, la validation sera immédiatement annulée. S&#039;il peut être corrigé automatiquement, phpcbf, installé lors de l&#039;installation du hook de pré-validation, le corrigera donc il vous suffira de réessayer le commit une seconde fois pour le valider.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENTION : SUR MACOS, UN COMMIT INCLUANT DES FICHIERS DE LANGUE EMPÊCHERA LE FONCTIONNEMENT DE PRE-COMMIT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=[[File:Computer.png]] Optionnel=&lt;br /&gt;
Vous pouvez aussi installer des composants optionnels pour avoir le support de technologies suplémentaires.&lt;br /&gt;
Voir la page [[Outils de développement - Composants optionnels]].&lt;/div&gt;</summary>
		<author><name>Bfaliere</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Outils_de_d%C3%A9veloppement&amp;diff=65208</id>
		<title>Outils de développement</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Outils_de_d%C3%A9veloppement&amp;diff=65208"/>
		<updated>2026-01-15T11:20:58Z</updated>

		<summary type="html">&lt;p&gt;Bfaliere: Warning pre-commit et macos pour les fichiers de langue.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Do NOT edit this section&lt;br /&gt;
     Links below are automatically managed by PolyglotBot&lt;br /&gt;
     You can edit links on the English source page : Environment_and_development_tools --&amp;gt;&lt;br /&gt;
[[en:Environment_and_development_tools]]&lt;br /&gt;
[[es:Herramientas_de_Desarrollo]]&lt;br /&gt;
[[zh:开发环境与工具]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocDevFr}}&lt;br /&gt;
&lt;br /&gt;
Tout environnement de développement peut être utilisé.&lt;br /&gt;
Toutefois voici une liste d&#039;outils fortement recommandés pour leur complétude, leur qualité et la productivité du développement qu&#039;ils apportent. Ils sont utilisés par la plupart des développeurs principaux de Dolibarr. Notons que toutes ces solutions sont gratuites et OpenSource.&lt;br /&gt;
&lt;br /&gt;
=[[File:Eclipsephp.jpg]] Pour tout développeur=&lt;br /&gt;
&lt;br /&gt;
Voici le socle de travail recommandé, toutefois tout outil respectant les standards Web, PHP, Mysql peuvent faire l&#039;affaire.&lt;br /&gt;
&lt;br /&gt;
==Un serveur AMP==&lt;br /&gt;
&lt;br /&gt;
*Apache, MariaDB et PHP&lt;br /&gt;
&lt;br /&gt;
Sur Linux: Ces 3 produits sont disponibles dans toutes distributions.&lt;br /&gt;
&lt;br /&gt;
Sur Windows: Installez [http://www.wampserver.com/WampServer] (base MariaDB, Apache et PHP tout clé en main). Ce serveur WAMP offre le trio MariaDB + Apache + PHP, avec possibilité de basculer de version pour n&#039;importe lequel de ces composants d&#039;un simple clic).&lt;br /&gt;
&lt;br /&gt;
==Chrome ou Firefox et plugins==&lt;br /&gt;
&lt;br /&gt;
*Chrome + plugins de votre choix&lt;br /&gt;
&lt;br /&gt;
A télécharger depuis le site http://www.chrome.com&lt;br /&gt;
&lt;br /&gt;
*Firefox + plugins de votre choix&lt;br /&gt;
&lt;br /&gt;
A télécharger depuis le site http://www.firefox.com&lt;br /&gt;
&lt;br /&gt;
==Un outil d&#039;accès aux bases de données==&lt;br /&gt;
&lt;br /&gt;
Exemple:&lt;br /&gt;
&lt;br /&gt;
*SquirrelSQL pour l&#039;administration de base - A télécharger depuis le site http://squirrel-sql.sf.net&lt;br /&gt;
*DBeaver - https://dbeaver.io/&lt;br /&gt;
&lt;br /&gt;
==IDE (Eclipse, VSCode) et plugins==&lt;br /&gt;
&lt;br /&gt;
===Eclipse===&lt;br /&gt;
&lt;br /&gt;
====Installation d&#039;Eclipse====&lt;br /&gt;
Nous recommandons la version suivante d&#039;Eclipse:&lt;br /&gt;
&lt;br /&gt;
{{DownloadEclipse}}&lt;br /&gt;
&lt;br /&gt;
Sinon toute version disponible sur le site [http://www.eclipse.org Eclipse] fait l&#039;affaire.&lt;br /&gt;
&lt;br /&gt;
Une fois Eclipse installé, il est recommandé de modifier/vérifier les paramètres suivants:&lt;br /&gt;
{{EclipseStandardSetup}}&lt;br /&gt;
&lt;br /&gt;
====Installation du plugin Eclipse pour PHP: PDT.====&lt;br /&gt;
Avec certaines installations d&#039;Eclipse, PDT peut etre installé depuis Help -&amp;gt; Install new software et choisir PDT.&lt;br /&gt;
Si PDT n&#039;est pas présent, si vous avez installé la version Eclipse ci-dessus, il suffit d&#039;utiliser la procédure Help -&amp;gt; Install new software -&amp;gt; Add -&amp;gt; pour installer le package complémentaire:&lt;br /&gt;
&lt;br /&gt;
{{DownloadEclipsePDT}}&lt;br /&gt;
&lt;br /&gt;
Une fois PDT installé, il faut aussi le configurer dans Eclipse comme défini dans le chapitre [[Outils_de_développement_-_Composants_optionnels#Depuis_Eclipse]].&lt;br /&gt;
&lt;br /&gt;
====Configurer Eclipse pour récupérer les sources====&lt;br /&gt;
Une fois qu&#039;Eclipse est installé, vous pouvez vous connecter au repository GIT pour y récupérer les dernières versions de développement.&lt;br /&gt;
&lt;br /&gt;
Pour cela, voir la page [[FAQ Récupérer, mettre à jours les sources GIT du projet]].&lt;br /&gt;
&lt;br /&gt;
===Codium===&lt;br /&gt;
&lt;br /&gt;
Codium est la version Libre de VSCode, la documentation suivante s&#039;appliquera donc probablement à vscode.&lt;br /&gt;
&lt;br /&gt;
====Modules complémentaires====&lt;br /&gt;
&lt;br /&gt;
Voici la liste des modules complémentaire conseillés:&lt;br /&gt;
&lt;br /&gt;
*[https://open-vsx.org/extension/bmewburn/vscode-intelephense-client PHP Intelephense]&lt;br /&gt;
*phpdoc-comment&lt;br /&gt;
*PHPUnit&lt;br /&gt;
*[https://open-vsx.org/extension/junstyle/php-cs-fixer PHP CS Fixer]&lt;br /&gt;
*[https://open-vsx.org/extension/EditorConfig/EditorConfig EditorConfig for VSCode] pour que la configuration du projet définie dans le fichier .editorconfig soit utilisée automatiquement&lt;br /&gt;
*[https://open-vsx.org/extension/mhutchie/git-graph Git Graph]&lt;br /&gt;
*[https://open-vsx.org/extension/xdebug/php-debug PHP Debug] pour utiliser XDebug directement dans Codium&lt;br /&gt;
&lt;br /&gt;
====Stubs ou extraits de codes====&lt;br /&gt;
&lt;br /&gt;
Si vous développez des modules complémentaires pour dolibarr vous apprécierez d&#039;avoir les définitions des fonctions et autres objets de dolibarr sans avoir à sourcer l&#039;arborescence complète de dolibarr...&lt;br /&gt;
&lt;br /&gt;
Tout ceci se passe par la récupération des stubs depuis https://packagist.org/packages/caprel/dolibarr-stubs.&lt;br /&gt;
&lt;br /&gt;
Une fois le stub téléchargé / ou installé en suivant la doc pensez à ajouter le fichier dolibarr-stubs dans la liste des stubs de votre codium, éditez le fichier ~/.config/VSCodium/User/settings.json&lt;br /&gt;
 &amp;quot;intelephense.stubs&amp;quot;: [&lt;br /&gt;
  &amp;quot;apache&amp;quot;,&lt;br /&gt;
  &amp;quot;intl&amp;quot;,&lt;br /&gt;
  &amp;quot;standard&amp;quot;,&lt;br /&gt;
  &amp;quot;/media/erics/stockage/tmp/dolibarr/stubs&amp;quot;,&lt;br /&gt;
 ],&lt;br /&gt;
 &amp;quot;intelephense.environment.includePaths&amp;quot;: [&lt;br /&gt;
  &amp;quot;/media/erics/stockage/tmp/dolibarr/stubs&amp;quot;,&lt;br /&gt;
 ],&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===VSCode===&lt;br /&gt;
&lt;br /&gt;
===={{DownloadVSCode}}====&lt;br /&gt;
&lt;br /&gt;
==Git Hooks==&lt;br /&gt;
&lt;br /&gt;
===Installer le hook git Pre-commit===&lt;br /&gt;
&lt;br /&gt;
Vous pouvez utiliser des hooks git pour vérifier la syntaxe du fichier que vous validez et annuler (ou mieux corriger automatiquement) la validation si quelque chose ne va pas.&lt;br /&gt;
&lt;br /&gt;
Les instructions pour installer un tel hook de pré-validation sont disponibles sur ce fichier :&lt;br /&gt;
&lt;br /&gt;
https://github.com/Dolibarr/dolibarr/tree/develop/dev/setup/pre-commit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De tels hooks fonctionneront lors d&#039;une utilisation en ligne de commande, mais peuvent également fonctionner lors d&#039;une validation à l&#039;aide de votre IDE commun (il a été validé avec Eclipse et VSC).&lt;br /&gt;
&lt;br /&gt;
Une fois installé, le hook démarrera lors de votre prochain commit pour reformater votre code, afin que votre code corresponde toujours aux règles de syntaxe de codage. Si tout le monde active ce hook, tout le monde utilisera la même règle de syntaxe de codage, il est donc fortement recommandé de l&#039;activer si vous le pouvez. Si quelque chose ne va pas dans la syntaxe, la validation sera immédiatement annulée. S&#039;il peut être corrigé automatiquement, phpcbf, installé lors de l&#039;installation du hook de pré-validation, le corrigera donc il vous suffira de réessayer le commit une seconde fois pour le valider.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;ATTENTION : SUR MACOS, UN COMMIT INCLUANT DES FICHIERS DE LANGUE EMPÊCHERA LE FONCTIONNEMENT DE PRE-COMMIT&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=[[File:Computer.png]] Optionnel=&lt;br /&gt;
Vous pouvez aussi installer des composants optionnels pour avoir le support de technologies suplémentaires.&lt;br /&gt;
Voir la page [[Outils de développement - Composants optionnels]].&lt;/div&gt;</summary>
		<author><name>Bfaliere</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Template:TemplateListOfTriggers&amp;diff=65131</id>
		<title>Template:TemplateListOfTriggers</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Template:TemplateListOfTriggers&amp;diff=65131"/>
		<updated>2026-01-05T13:56:50Z</updated>

		<summary type="html">&lt;p&gt;Bfaliere: ADD ticket triggers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|class=&amp;quot;wikitable sortable&amp;quot; align=&amp;quot;left&amp;quot; width=&amp;quot;100%&amp;quot; border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; class=&amp;quot;dolbox&amp;quot;&lt;br /&gt;
 |style=&amp;quot;background-color: #e9e9ef&amp;quot;| &amp;lt;b&amp;gt;Trigger code ($action)&amp;lt;/b&amp;gt;&lt;br /&gt;
 |style=&amp;quot;background-color: #e9e9ef&amp;quot;| &amp;lt;b&amp;gt;Type object ($object)&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|USER_CREATE&lt;br /&gt;
|user.class.php&lt;br /&gt;
|-&lt;br /&gt;
|USER_MODIFY&lt;br /&gt;
|user.class.php&lt;br /&gt;
|-&lt;br /&gt;
|USER_DELETE&lt;br /&gt;
|user.class.php&lt;br /&gt;
|-&lt;br /&gt;
|USER_LOGIN&lt;br /&gt;
|user.class.php&lt;br /&gt;
|-&lt;br /&gt;
|USER_LOGIN_FAILED&lt;br /&gt;
|user.class.php&lt;br /&gt;
|-&lt;br /&gt;
|USER_LOGOUT&lt;br /&gt;
|user.class.php&lt;br /&gt;
|-&lt;br /&gt;
|USER_ENABLEDISABLE&lt;br /&gt;
|user.class.php&lt;br /&gt;
|-&lt;br /&gt;
|USER_NEW_PASSWORD&lt;br /&gt;
|user.class.php&lt;br /&gt;
|-&lt;br /&gt;
|USER_SETINGROUP&lt;br /&gt;
|user.class.php&lt;br /&gt;
|-&lt;br /&gt;
|USER_REMOVEFROMGROUP&lt;br /&gt;
|user.class.php&lt;br /&gt;
|-&lt;br /&gt;
|USERGROUP_CREATE &#039;&#039;(&amp;gt;= 12.0.0)&lt;br /&gt;
|usergroup.class.php&lt;br /&gt;
|-&lt;br /&gt;
|USERGROUP_MODIFY&#039;&#039;(&amp;gt;= 12.0.0)&lt;br /&gt;
|usergroup.class.php&lt;br /&gt;
|-&lt;br /&gt;
|USERGROUP_DELETE&#039;&#039;(&amp;gt;= 12.0.0)&lt;br /&gt;
|usergroup.class.php&lt;br /&gt;
|-&lt;br /&gt;
|GROUP_CREATE&lt;br /&gt;
|usergroup.class.php&lt;br /&gt;
|-&lt;br /&gt;
|GROUP_MODIFY&lt;br /&gt;
|usergroup.class.php&lt;br /&gt;
|-&lt;br /&gt;
|GROUP_DELETE &#039;&#039;(&amp;gt;= 3.3.0)&#039;&#039;&lt;br /&gt;
|usergroup.class.php&lt;br /&gt;
|-&lt;br /&gt;
|COMPANY_CREATE&lt;br /&gt;
|societe.class.php&lt;br /&gt;
|-&lt;br /&gt;
|COMPANY_MODIFY&lt;br /&gt;
|societe.class.php&lt;br /&gt;
|-&lt;br /&gt;
|COMPANY_DELETE&lt;br /&gt;
|societe.class.php&lt;br /&gt;
|-&lt;br /&gt;
|COMPANY_SENTBYMAIL &#039;&#039;(&amp;gt;= 3.5.0)&#039;&#039;&lt;br /&gt;
|societe.class.php&lt;br /&gt;
|-&lt;br /&gt;
|CONTACT_CREATE&lt;br /&gt;
|contact.class.php&lt;br /&gt;
|-&lt;br /&gt;
|CONTACT_MODIFY&lt;br /&gt;
|contact.class.php&lt;br /&gt;
|-&lt;br /&gt;
|CONTACT_DELETE&lt;br /&gt;
|contact.class.php&lt;br /&gt;
|-&lt;br /&gt;
|CONTACT_ENABLEDISABLE &#039;&#039;(&amp;gt;= 3.5.0)&#039;&#039;&lt;br /&gt;
|contact.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PRODUCT_CREATE&lt;br /&gt;
|product.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PRODUCT_MODIFY&lt;br /&gt;
|product.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PRODUCT_PRICE_MODIFY&lt;br /&gt;
|product.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PRODUCT_DELETE&lt;br /&gt;
|product.class.php&lt;br /&gt;
|-&lt;br /&gt;
|SUPPLIER_PRODUCT_BUYPRICE_MODIFY&lt;br /&gt;
|fournisseur.product.class.php&lt;br /&gt;
|-&lt;br /&gt;
|SUPPLIER_PRODUCT_BUYPRICE_CREATE&lt;br /&gt;
|fournisseur.product.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ORDER_CREATE&lt;br /&gt;
|commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ORDER_VALIDATE&lt;br /&gt;
|commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ORDER_SENTBYMAIL&lt;br /&gt;
|commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ORDER_DELETE&lt;br /&gt;
|commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ORDER_MODIFY&lt;br /&gt;
|commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ORDER_CLASSIFY_BILLED&lt;br /&gt;
|commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ORDER_CLONE&lt;br /&gt;
|commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ORDER_CLOSE&lt;br /&gt;
|commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ORDER_CANCEL&lt;br /&gt;
|commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ORDER_REOPEN &#039;&#039;(&amp;gt;= 3.3.0)&#039;&#039;&lt;br /&gt;
|commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ORDER_UNVALIDATE&lt;br /&gt;
|commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|COMMANDE_ADD_CONTACT&lt;br /&gt;
|commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|COMMANDE_DELETE_CONTACT&lt;br /&gt;
|commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|COMMANDE_DELETE_RESOURCE &#039;&#039;(&amp;gt;= 3.6.0)&#039;&#039;&lt;br /&gt;
|commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LINEORDER_INSERT&lt;br /&gt;
|commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LINEORDER_UPDATE&lt;br /&gt;
|commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LINEORDER_DELETE&lt;br /&gt;
|commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LINEORDER_DISPATCH &#039;&#039;(&amp;gt;= 3.4.0)&#039;&#039;&lt;br /&gt;
|commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ORDER_SUPPLIER_CREATE&lt;br /&gt;
|fournisseur.commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ORDER_SUPPLIER_CLONE&lt;br /&gt;
|fournisseur.commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ORDER_SUPPLIER_VALIDATE&lt;br /&gt;
|fournisseur.commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ORDER_SUPPLIER_SENTBYMAIL&lt;br /&gt;
|fournisseur.commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ORDER_SUPPLIER_APPROVE&lt;br /&gt;
|fournisseur.commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ORDER_SUPPLIER_REFUSE&lt;br /&gt;
|fournisseur.commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ORDER_SUPPLIER_CANCEL&lt;br /&gt;
|fournisseur.commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ORDER_SUPPLIER_DELETE&lt;br /&gt;
|fournisseur.commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ORDER_SUPPLIER_DISPATCH &#039;&#039;(&amp;gt;= 3.4.0)&#039;&#039;&lt;br /&gt;
|fournisseur.commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ORDER_SUPPLIER_ADD_CONTACT&lt;br /&gt;
|fournisseur.commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ORDER_SUPPLIER_DELETE_CONTACT&lt;br /&gt;
|fournisseur.commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ORDER_SUPPLIER_DELETE_RESOURCE &#039;&#039;(&amp;gt;= 3.6.0)&#039;&#039;&lt;br /&gt;
|fournisseur.commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LINEORDER_SUPPLIER_CREATE&lt;br /&gt;
|fournisseur.commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LINEORDER_SUPPLIER_UPDATE&lt;br /&gt;
|fournisseur.commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LINEORDER_SUPPLIER_DELETE &#039;&#039;(&amp;gt;= 3.6.0)&#039;&#039;&lt;br /&gt;
|fournisseur.commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PROPAL_CREATE&lt;br /&gt;
|propal.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PROPAL_DELETE&lt;br /&gt;
|propal.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PROPAL_CLONE&lt;br /&gt;
|propal.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PROPAL_REOPEN &#039;&#039;(&amp;gt;= 3.5.0)&#039;&#039;&lt;br /&gt;
|propal.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PROPAL_VALIDATE&lt;br /&gt;
|propal.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PROPAL_CLOSE_SIGNED&lt;br /&gt;
|propal.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PROPAL_CLOSE_REFUSED&lt;br /&gt;
|propal.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PROPAL_SENTBYMAIL&lt;br /&gt;
|propal.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PROPAL_MODIFY&lt;br /&gt;
|propal.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PROPAL_ADD_CONTACT&lt;br /&gt;
|propal.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PROPAL_DELETE_CONTACT&lt;br /&gt;
|propal.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PROPAL_DELETE_RESOURCE &#039;&#039;(&amp;gt;= 3.6.0)&#039;&#039;&lt;br /&gt;
|propal.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LINEPROPAL_INSERT&lt;br /&gt;
|propal.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LINEPROPAL_UPDATE&lt;br /&gt;
|propal.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LINEPROPAL_DELETE&lt;br /&gt;
|propal.class.php&lt;br /&gt;
|-&lt;br /&gt;
|CONTRACT_CREATE&lt;br /&gt;
|contrat.class.php&lt;br /&gt;
|-&lt;br /&gt;
|CONTRACT_VALIDATE&lt;br /&gt;
|contrat.class.php&lt;br /&gt;
|-&lt;br /&gt;
|CONTRACT_SERVICE_ACTIVATE&lt;br /&gt;
|contrat.class.php&lt;br /&gt;
|-&lt;br /&gt;
|CONTRACT_SERVICE_CLOSE&lt;br /&gt;
|contrat.class.php&lt;br /&gt;
|-&lt;br /&gt;
|CONTRACT_DELETE&lt;br /&gt;
|contrat.class.php&lt;br /&gt;
|-&lt;br /&gt;
|CONTRAT_ADD_CONTACT&lt;br /&gt;
|contrat.class.php&lt;br /&gt;
|-&lt;br /&gt;
|CONTRAT_DELETE_CONTACT&lt;br /&gt;
|contrat.class.php&lt;br /&gt;
|-&lt;br /&gt;
|CONTRAT_DELETE_RESOURCE &#039;&#039;(&amp;gt;= 3.6.0)&#039;&#039;&lt;br /&gt;
|contrat.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LINECONTRACT_INSERT&lt;br /&gt;
|contrat.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LINECONTRACT_MODIFY&lt;br /&gt;
|contrat.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LINECONTRACT_DELETE&lt;br /&gt;
|contrat.class.php&lt;br /&gt;
|-&lt;br /&gt;
|BILL_CREATE&lt;br /&gt;
|facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|BILL_MODIFY&lt;br /&gt;
|facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|BILL_CLONE&lt;br /&gt;
|facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|BILL_VALIDATE&lt;br /&gt;
|facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|BILL_UNVALIDATE &#039;&#039;(&amp;gt;= 3.4.0)&#039;&#039;&lt;br /&gt;
|facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|BILL_PAYED&lt;br /&gt;
|facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|BILL_UNPAYED&lt;br /&gt;
|facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|BILL_CANCEL&lt;br /&gt;
|facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|BILL_DELETE&lt;br /&gt;
|facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|BILL_SENTBYMAIL&lt;br /&gt;
|facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|FACTURE_ADD_CONTACT&lt;br /&gt;
|facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|FACTURE_DELETE_CONTACT&lt;br /&gt;
|facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|FACTURE_DELETE_RESOURCE &#039;&#039;(&amp;gt;= 3.6.0)&#039;&#039;&lt;br /&gt;
|facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LINEBILL_INSERT&lt;br /&gt;
|facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LINEBILL_UPDATE&lt;br /&gt;
|facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LINEBILL_DELETE&lt;br /&gt;
|facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|BILL_SUPPLIER_CREATE&lt;br /&gt;
|fournisseur.facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|BILL_SUPPLIER_MODIFY&lt;br /&gt;
|fournisseur.facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|BILL_SUPPLIER_DELETE&lt;br /&gt;
|fournisseur.facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|BILL_SUPPLIER_VALIDATE&lt;br /&gt;
|fournisseur.facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|BILL_SUPPLIER_PAYED&lt;br /&gt;
|fournisseur.facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|BILL_SUPPLIER_UNPAYED&lt;br /&gt;
|fournisseur.facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|BILL_SUPPLIER_SENTBYMAIL&lt;br /&gt;
|fournisseur.facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|INVOICE_SUPPLIER_ADD_CONTACT&lt;br /&gt;
|fournisseur.facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|INVOICE_SUPPLIER_DELETE_CONTACT&lt;br /&gt;
|fournisseur.facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|INVOICE_SUPPLIER_DELETE_RESOURCE &#039;&#039;(&amp;gt;= 3.6.0)&#039;&#039;&lt;br /&gt;
|fournisseur.facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LINEBILL_SUPPLIER_CREATE&lt;br /&gt;
|fournisseur.facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LINEBILL_SUPPLIER_UPDATE&lt;br /&gt;
|fournisseur.facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LINEBILL_SUPPLIER_DELETE &#039;&#039;(&amp;gt;= 3.4.0)&#039;&#039;&lt;br /&gt;
|fournisseur.facture.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PAYMENT_CUSTOMER_CREATE&lt;br /&gt;
|paiement.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PAYMENT_DELETE (&amp;lt;= 3.8)&lt;br /&gt;
|paiement.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PAYMENT_CUSTOMER_DELETE (&amp;gt;= 3.9)&lt;br /&gt;
|paiement.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PAYMENT_ADD_TO_BANK&lt;br /&gt;
|paiement.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PAYMENT_SUPPLIER_CREATE&lt;br /&gt;
|paiementfourn.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PAYMENT_SUPPLIER_DELETE (&amp;gt;= 3.9)&lt;br /&gt;
|paiement.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PAYMENT_SALARY_CREATE &#039;&#039;(&amp;gt;= 3.6.0)&#039;&#039;&lt;br /&gt;
|paymentsalary.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PAYMENT_SALARY_MODIFY &#039;&#039;(&amp;gt;= 3.6.0)&#039;&#039;&lt;br /&gt;
|paymentsalary.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PAYMENT_SALARY_DELETE &#039;&#039;(&amp;gt;= 3.6.0)&#039;&#039;&lt;br /&gt;
|paymentsalary.class.php&lt;br /&gt;
|-&lt;br /&gt;
|FICHINTER_CREATE&lt;br /&gt;
|fichinter.class.php&lt;br /&gt;
|-&lt;br /&gt;
|FICHINTER_MODIFY&lt;br /&gt;
|fichinter.class.php&lt;br /&gt;
|-&lt;br /&gt;
|FICHINTER_DELETE&lt;br /&gt;
|fichinter.class.php&lt;br /&gt;
|-&lt;br /&gt;
|FICHINTER_VALIDATE&lt;br /&gt;
|fichinter.class.php&lt;br /&gt;
|-&lt;br /&gt;
|FICHINTER_SENTBYMAIL&lt;br /&gt;
|fichinter.class.php&lt;br /&gt;
|-&lt;br /&gt;
|FICHINTER_ADD_CONTACT&lt;br /&gt;
|fichinter.class.php&lt;br /&gt;
|-&lt;br /&gt;
|FICHINTER_DELETE_CONTACT&lt;br /&gt;
|fichinter.class.php&lt;br /&gt;
|-&lt;br /&gt;
|FICHINTER_DELETE_RESOURCE &#039;&#039;(&amp;gt;= 3.6.0)&#039;&#039;&lt;br /&gt;
|fichinter.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LINEFICHINTER_CREATE &#039;&#039;(&amp;gt;= 3.5.0)&#039;&#039;&lt;br /&gt;
|fichinter.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LINEFICHINTER_UPDATE &#039;&#039;(&amp;gt;= 3.5.0)&#039;&#039;&lt;br /&gt;
|fichinter.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LINEFICHINTER_DELETE &#039;&#039;(&amp;gt;= 3.5.0)&#039;&#039;&lt;br /&gt;
|fichinter.class.php&lt;br /&gt;
|-&lt;br /&gt;
|MEMBER_CREATE&lt;br /&gt;
|adherent.class.php&lt;br /&gt;
|-&lt;br /&gt;
|MEMBER_VALIDATE&lt;br /&gt;
|adherent.class.php&lt;br /&gt;
|-&lt;br /&gt;
|MEMBER_SUBSCRIPTION&lt;br /&gt;
|adherent.class.php&lt;br /&gt;
|-&lt;br /&gt;
|MEMBER_MODIFY&lt;br /&gt;
|adherent.class.php&lt;br /&gt;
|-&lt;br /&gt;
|MEMBER_RESILIATE&lt;br /&gt;
|adherent.class.php&lt;br /&gt;
|-&lt;br /&gt;
|MEMBER_NEW_PASSWORD&lt;br /&gt;
|adherent.class.php&lt;br /&gt;
|-&lt;br /&gt;
|MEMBER_DELETE&lt;br /&gt;
|adherent.class.php&lt;br /&gt;
|-&lt;br /&gt;
|CATEGORY_CREATE&lt;br /&gt;
|category.class.php&lt;br /&gt;
|-&lt;br /&gt;
|CATEGORY_MODIFY&lt;br /&gt;
|category.class.php&lt;br /&gt;
|-&lt;br /&gt;
|CATEGORY_DELETE&lt;br /&gt;
|category.class.php&lt;br /&gt;
|-&lt;br /&gt;
|CATEGORY_LINK &#039;&#039;(&amp;gt;= 3.5.0)&#039;&#039;&lt;br /&gt;
|category.class.php&lt;br /&gt;
|-&lt;br /&gt;
|CATEGORY_UNLINK &#039;&#039;(&amp;gt;= 3.5.0)&#039;&#039;&lt;br /&gt;
|category.class.php&lt;br /&gt;
|-&lt;br /&gt;
|SHIPPING_CREATE&lt;br /&gt;
|expedition.class.php&lt;br /&gt;
|-&lt;br /&gt;
|SHIPPING_VALIDATE&lt;br /&gt;
|expedition.class.php&lt;br /&gt;
|-&lt;br /&gt;
|SHIPPING_MODIFY&lt;br /&gt;
|expedition.class.php&lt;br /&gt;
|-&lt;br /&gt;
|SHIPPING_DELETE&lt;br /&gt;
|expedition.class.php&lt;br /&gt;
|-&lt;br /&gt;
|SHIPPING_SENTBYMAIL&lt;br /&gt;
|expedition.class.php&lt;br /&gt;
|-&lt;br /&gt;
|DELIVERY_VALIDATE&lt;br /&gt;
|livraison.class.php&lt;br /&gt;
|-&lt;br /&gt;
|DELIVERY_DELETE&lt;br /&gt;
|livraison.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ACTION_CREATE&lt;br /&gt;
|actioncomm.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ACTION_MODIFY&lt;br /&gt;
|actioncomm.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ACTION_DELETE&lt;br /&gt;
|actioncomm.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ACTION_ADD_CONTACT&lt;br /&gt;
|actioncomm.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ACTION_DELETE_CONTACT&lt;br /&gt;
|actioncomm.class.php&lt;br /&gt;
|-&lt;br /&gt;
|ACTION_DELETE_RESOURCE &#039;&#039;(&amp;gt;= 3.6.0)&#039;&#039;&lt;br /&gt;
|actioncomm.class.php&lt;br /&gt;
|-&lt;br /&gt;
|DEPLACEMENT_CREATE&lt;br /&gt;
|deplacement.class.php&lt;br /&gt;
|-&lt;br /&gt;
|DON_CREATE&lt;br /&gt;
|don.class.php&lt;br /&gt;
|-&lt;br /&gt;
|DON_MODIFY &#039;&#039;(&amp;gt;= 3.7.0)&#039;&#039;&lt;br /&gt;
|don.class.php&lt;br /&gt;
|-&lt;br /&gt;
|DON_DELETE &#039;&#039;(&amp;gt;= 3.7.0)&#039;&#039;&lt;br /&gt;
|don.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LOCALTAX_CREATE&lt;br /&gt;
|localtax.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LOCALTAX_MODIFY&lt;br /&gt;
|localtax.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LOCALTAX_DELETE&lt;br /&gt;
|localtax.class.php&lt;br /&gt;
|-&lt;br /&gt;
|TVA_CREATE&lt;br /&gt;
|tva.class.php&lt;br /&gt;
|-&lt;br /&gt;
|TVA_MODIFY&lt;br /&gt;
|tva.class.php&lt;br /&gt;
|-&lt;br /&gt;
|TVA_DELETE&lt;br /&gt;
|tva.class.php&lt;br /&gt;
|-&lt;br /&gt;
|TVA_ADDPAYMENT&lt;br /&gt;
|tva.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PROJECT_CREATE&lt;br /&gt;
|project.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PROJECT_MODIFY&lt;br /&gt;
|project.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PROJECT_DELETE&lt;br /&gt;
|project.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PROJECT_VALIDATE&lt;br /&gt;
|project.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PROJECT_CLOSE&lt;br /&gt;
|project.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PROJECT_ADD_CONTACT&lt;br /&gt;
|project.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PROJECT_DELETE_CONTACT&lt;br /&gt;
|project.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PROJECT_DELETE_RESOURCE &#039;&#039;(&amp;gt;= 3.6.0)&#039;&#039;&lt;br /&gt;
|project.class.php&lt;br /&gt;
|-&lt;br /&gt;
|TASK_CREATE&lt;br /&gt;
|task.class.php&lt;br /&gt;
|-&lt;br /&gt;
|TASK_MODIFY&lt;br /&gt;
|task.class.php&lt;br /&gt;
|-&lt;br /&gt;
|TASK_DELETE&lt;br /&gt;
|task.class.php&lt;br /&gt;
|-&lt;br /&gt;
|TASK_TIMESPENT_CREATE&lt;br /&gt;
|task.class.php&lt;br /&gt;
|-&lt;br /&gt;
|TASK_TIMESPENT_MODIFY&lt;br /&gt;
|task.class.php&lt;br /&gt;
|-&lt;br /&gt;
|TASK_TIMESPENT_DELETE&lt;br /&gt;
|task.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PROJECT_TASK_ADD_CONTACT&lt;br /&gt;
|task.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PROJECT_TASK_DELETE_CONTACT&lt;br /&gt;
|task.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PROJECT_TASK_DELETE_RESOURCE &#039;&#039;(&amp;gt;= 3.6.0)&#039;&#039;&lt;br /&gt;
|task.class.php&lt;br /&gt;
|-&lt;br /&gt;
|MYECMDIR_CREATE&lt;br /&gt;
|ecmdirectory.class.php&lt;br /&gt;
|-&lt;br /&gt;
|MYECMDIR_MODIFY&lt;br /&gt;
|ecmdirectory.class.php&lt;br /&gt;
|-&lt;br /&gt;
|MYECMDIR_DELETE&lt;br /&gt;
|ecmdirectory.class.php&lt;br /&gt;
|-&lt;br /&gt;
|STOCK_MOVEMENT&lt;br /&gt;
|mouvementstock.class.php&lt;br /&gt;
|-&lt;br /&gt;
|PAYBOX_PAYMENT_OK&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PAYPAL_PAYMENT_OK&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LINK_CREATE &#039;&#039;(&amp;gt;= 3.5.0)&#039;&#039;&lt;br /&gt;
|link.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LINK_MODIFY &#039;&#039;(&amp;gt;= 3.5.0)&#039;&#039;&lt;br /&gt;
|link.class.php&lt;br /&gt;
|-&lt;br /&gt;
|LINK_DELETE &#039;&#039;(&amp;gt;= 3.5.0)&#039;&#039;&lt;br /&gt;
|link.class.php&lt;br /&gt;
|-&lt;br /&gt;
|OPENSURVEY_CREATE &#039;&#039;(&amp;gt;= 3.6.0)&#039;&#039;&lt;br /&gt;
|opensurveysondage.class.php&lt;br /&gt;
|-&lt;br /&gt;
|OPENSURVEY_DELETE &#039;&#039;(&amp;gt;= 3.6.0)&#039;&#039;&lt;br /&gt;
|opensurveysondage.class.php&lt;br /&gt;
|-&lt;br /&gt;
|TICKET_CREATE&lt;br /&gt;
|ticket.class.php&lt;br /&gt;
|-&lt;br /&gt;
|TICKET_MODIFY&lt;br /&gt;
|ticket.class.php&lt;br /&gt;
|-&lt;br /&gt;
|TICKET_DELETE&lt;br /&gt;
|ticket.class.php&lt;br /&gt;
|-&lt;br /&gt;
|TICKET_ASSIGNED&lt;br /&gt;
|ticket.class.php&lt;br /&gt;
|-&lt;br /&gt;
|TICKET_CLOSE&lt;br /&gt;
|ticket.class.php&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bfaliere</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=D%C3%A9veloppement_module&amp;diff=64262</id>
		<title>Développement module</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=D%C3%A9veloppement_module&amp;diff=64262"/>
		<updated>2025-09-24T12:44:47Z</updated>

		<summary type="html">&lt;p&gt;Bfaliere: Correction lien&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Do NOT edit this section&lt;br /&gt;
     Links below are automatically managed by PolyglotBot&lt;br /&gt;
     You can edit links on the English source page : Module_development --&amp;gt;&lt;br /&gt;
[[en:Module_development]]&lt;br /&gt;
[[es:Desarrollo_de_un_módulo]]&lt;br /&gt;
[[de:Modul_Entwicklung]]&lt;br /&gt;
[[zh:模块开发]]&lt;br /&gt;
[[ja:モジュール_開発]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Noyau]]&lt;br /&gt;
{{TemplateDocDev}}&lt;br /&gt;
Pour créer un nouveau module, il existe plusieurs étapes. Ce didacticiel a pour but de vous décrire chacune d&#039;elles afin d&#039;ajouter un module permettant d&#039;étendre les possibilités de Dolibarr, comme par exemple ajouter une ou plusieurs des fonctionnalités suivantes:&lt;br /&gt;
&lt;br /&gt;
*Ajouter de nouvelles tables en base.&lt;br /&gt;
*Ajouter vos propres entrées dans les menus.&lt;br /&gt;
*Ajouter des objets et des écrans de saisie/consultation de nouvelle tables.&lt;br /&gt;
*Ajouter ou supprimer des onglets sur les pages de vues/édition des objets (facture, produit, commande, événement, ...)&lt;br /&gt;
*Ajouter des exports prédéfinis pour la fonction export.&lt;br /&gt;
*Ajouter de nouvelles boites/widgets pour la home page.&lt;br /&gt;
*Ajouter des variables de substitution.&lt;br /&gt;
*Définir de nouvelles permissions.&lt;br /&gt;
*Déclencher du code automatiquement sur une action Dolibarr particulière.&lt;br /&gt;
*Insérer votre code aux emplacements hooks de Dolibarr&lt;br /&gt;
*Ajouter un modèle de numérotation de la référence des objets créés.&lt;br /&gt;
*Ajouter un modèle de document PDF.&lt;br /&gt;
*Ajouter un nouveau thème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Les chapitres suivants vous présentent comment réaliser tout cela en manuel de manière simple.&lt;br /&gt;
&lt;br /&gt;
=[[File:Art.png]] Création de Module avec le générateur de module=&lt;br /&gt;
Depuis Dolibarr 9.0 il est possible de créer les fichiers principaux de votre module avec le &amp;quot;Générateur de module&amp;quot; (aussi appelé &amp;quot;Module Builder&amp;quot;). Pour l&#039;activer :&lt;br /&gt;
&lt;br /&gt;
*Activez le module &amp;quot;Générateur de Module&amp;quot; (ou &amp;quot;Module builder&amp;quot;) dans la section &amp;quot;Outils multi-modules&amp;quot; de Configuration &amp;gt; Modules/Applications&lt;br /&gt;
&lt;br /&gt;
[[File:Mod_builder_2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
*Puis cliquez sur l’icône &amp;quot;bug&amp;quot; qui est apparue dans la barre de menu en haut à droite&lt;br /&gt;
&lt;br /&gt;
[[File:Mod_builder_3.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=[[File:Art.png]] Exemple de modèle de module externe=&lt;br /&gt;
Un bon modèle/squelette de module externe Dolibarr est disponible ici : [https://github.com/Dolibarr/dolibarr/tree/develop/htdocs/modulebuilder/template GitHub Dolibarr Module Modèle]&lt;br /&gt;
&lt;br /&gt;
Vous trouverez aussi un exemple de réalisation de module via un cas pratique : la création d&#039;un module afin de créer un calendrier des commandes fournisseurs : [[Exemple de cas pratique de Module Builder]]&lt;br /&gt;
&lt;br /&gt;
=[[File:Art.png]] Créer un module=&lt;br /&gt;
Les sous chapitres suivant décrivent les actions à faire pour créer un module Dolibarr. Les premiers chapitres sont obligatoires quelle que soit la vocation du module, les suivants dépendront de ce que doit faire le module.&lt;br /&gt;
&lt;br /&gt;
==Créer un descripteur de Module (obligatoire)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : Obligatoire dès qu&#039;une extension est développée, quelle que soit sa vocation.&lt;br /&gt;
&#039;&#039;&#039;Depuis Dolibarr 9.0, il est possible de créer le descripteur de votre module avec le &amp;quot;Générateur de module&amp;quot;&#039;&#039;&#039;. Cet outil est encore encours de développement et de maturité mais peut d&#039;ores et déjà être utilisé.&lt;br /&gt;
&lt;br /&gt;
===Créer votre descripteur avec le générateur de module===&lt;br /&gt;
&lt;br /&gt;
*Lancez le générateur de module en cliquant sur l’icône &amp;quot;bug&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Mod_builder_3.png|400px]]&lt;br /&gt;
&lt;br /&gt;
*Entrez le nom de votre module sans espaces (le nom de votre module NE DOIT PAS CONTENIR le caractère underscore ou tiret bas : _) et cliquez sur Créer.&lt;br /&gt;
&lt;br /&gt;
[[File:Mod_builder_4.png|400px]]&lt;br /&gt;
&lt;br /&gt;
*Un module avec ses premiers fichiers a été initialisé. Vous pouvez alors modifier les paramètres du descripteur du module :&lt;br /&gt;
&lt;br /&gt;
[[File:Mod_builder_5.png|400px]]&lt;br /&gt;
&lt;br /&gt;
===Alternative : créer votre descripteur manuellement (sans utiliser le générateur de module)===&lt;br /&gt;
La première étape est donc de créer un fichier de description du module (descripteur). Pour cela:&lt;br /&gt;
&lt;br /&gt;
*Créez le répertoire &#039;&#039;&#039;/htdocs/&#039;&#039;monmodule&#039;&#039;/core/modules&#039;&#039;&#039;. Puis, allez dans le répertoire &#039;&#039;&#039;dev/skeletons&#039;&#039;&#039; et recopiez le fichier modMyModule.class.php dans ce répertoire &#039;&#039;&#039;htdocs/&#039;&#039;monmodule&#039;&#039;/core/modules&#039;&#039;&#039;.&lt;br /&gt;
*Renommez le fichier mod&#039;&#039;&#039;MyModule&#039;&#039;&#039;.class.php en modifiant seulement la partie &#039;&#039;&#039;MyModule&#039;&#039;&#039; (le fichier doit commencer par mod)&lt;br /&gt;
&lt;br /&gt;
Ensuite, modifiez le contenu de ce fichier afin de remplacer :&lt;br /&gt;
&lt;br /&gt;
*les &#039;&#039;modMyModule&#039;&#039; en une valeur qui corresponde à la vocation de votre module. Cette valeur doit toujours commencer par &#039;&amp;lt;nowiki/&amp;gt;&#039;&#039;&#039;mod&#039;&#039;&#039;&#039; et ne contenir que des &#039;&#039;&#039;caractères alphabétiques&#039;&#039;&#039;.&lt;br /&gt;
*$this-&amp;gt;numero = &#039;&#039;100000&#039;&#039; par un numéro de module libre. Pour éviter tout conflit, vous pouvez consulter la page suivante pour retrouver les numéros déjà alloués ou un réserver un libre : [[List of modules id|Liste des id de modules]].&lt;br /&gt;
*Modifier éventuellement les autres variables définies dans le constructeurs (Voir le commentaire dans le code du squelette pour leur signification).&lt;br /&gt;
&lt;br /&gt;
Le descripteur de votre module est alors en place.&lt;br /&gt;
&lt;br /&gt;
===Tester votre descripteur===&lt;br /&gt;
&lt;br /&gt;
Lancez Dolibarr et allez sur la page &#039;&#039;&#039;Configuration-&amp;gt;module&#039;&#039;&#039;, vous devez voir apparaître une nouvelle ligne avec votre nouveau module et la possibilité de l&#039;activer ou non (parcourez tous les onglets de chaque catégories de modules jusqu&#039;à le retrouver).&lt;br /&gt;
C&#039;est la valeur de $this-&amp;gt;special qui détermine dans quel onglet se trouve votre module.&lt;br /&gt;
&lt;br /&gt;
===Nom de module===&lt;br /&gt;
&lt;br /&gt;
Le nom de votre module NE DOIT PAS CONTENIR le caractère underscore ou tiret bas : _&lt;br /&gt;
&lt;br /&gt;
==Arborescence d&#039;un nouveau module==&lt;br /&gt;
Voici l&#039;arborescence à respecter pour l&#039;organisation des fichiers d&#039;un module (cette arborescence sera celle prise d&#039;office si vous générer les fichiers à l&#039;aide de ModuleBuilder).&lt;br /&gt;
&lt;br /&gt;
{{TemplateModuleTreeSimple}}&lt;br /&gt;
&lt;br /&gt;
Un bon modèle/squelette de module externe Dolibarr est disponible ici : [https://github.com/Dolibarr/dolibarr/tree/develop/htdocs/modulebuilder/template GitHub Dolibarr Module Modèle]&lt;br /&gt;
&lt;br /&gt;
==Créer vos tables SQL et les classes PHP DAO (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : Si votre module a besoin de gérer des données qui lui sont propres&lt;br /&gt;
&lt;br /&gt;
===Créer vos fichiers .sql===&lt;br /&gt;
Si votre module a vocation à gérer des données bien à lui, qui n&#039;existent pas en base dans la version standard de Dolibarr, il est nécessaire de définir des tables SQL pour stocker ces données.&lt;br /&gt;
&lt;br /&gt;
Créer un sous-répertoire &#039;&#039;&#039;sql&#039;&#039;&#039; dans le répertoire de votre module (&#039;&#039;&#039;monmodule/sql&#039;&#039;&#039;) afin d&#039;y placer les scripts sql que vous allez créer (Avec ModuleBuilder cette étape sera réalisée automatiquement suite à la création d&#039;un nouvel Objet depuis l&#039;onglet Objet).&lt;br /&gt;
&lt;br /&gt;
Ensuite, vérifiez dans votre fichier descripteur de module, dans la fonction &#039;&#039;&#039;init&#039;&#039;&#039; que la ligne&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight ce lang=&amp;quot;php&amp;quot;&amp;gt;$this-&amp;gt;_load_tables(&#039;/mymodule/sql/&#039;);&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
n&#039;est pas commentée.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Règles à respecter:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Ajoutez les fichiers d&#039;ordre de création de vos tables sur le principe de 1 fichier par table, nommé &#039;&#039;&#039;llx_matable.sql&#039;&#039;&#039; (pour la table), accompagné éventuellement du fichier &#039;&#039;&#039;llx_matable.key.sql&#039;&#039;&#039; (pour les index ou clé étrangères). Voir les exemples dans les fichiers existants dans &#039;&#039;&#039;install/mysql/tables&#039;&#039;&#039; pour exemple.&lt;br /&gt;
*Les types et noms recommandés pour les champs SQL sont définis sur la page [[https://wiki.dolibarr.org/index.php/Langages_et_normes#R.C3.A8gles_de_codage_SQL]].&lt;br /&gt;
*Pour ce qui est des commandes permettant d&#039;ajouter/manipuler des données, elles doivent toutes se trouver dans un fichier nommé &#039;&#039;&#039;data.sql&#039;&#039;&#039; situé dans le même répertoire &#039;&#039;&#039;/monmodule/sql/&#039;&#039;&#039;.&lt;br /&gt;
*N&#039;utilisez pas &amp;quot;chaine&amp;quot; mais &#039;chaine&#039; car les guillemets doubles (&amp;quot;) ont une signification particulière en PostGreSQL&lt;br /&gt;
&lt;br /&gt;
Exemple de contenu de fichier data.sql&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
 delete from llx_const where name=&#039;MONMODULE_IT_WORKS&#039; and entity=&#039;__ENTITY__&#039;;&lt;br /&gt;
 insert into llx_const (name, value, type, note, visible, entity) values (&#039;MONMODULE_IT_WORKS&#039;,&#039;1&#039;,&#039;chaine&#039;,&#039;A constant for my module&#039;,1,&#039;__ENTITY__&#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les ordres SQL des fichiers doivent être opérationnels pour la base de données &#039;&#039;&#039;mysql&#039;&#039;&#039;.&lt;br /&gt;
Rem: Les fichiers des autres types de bases ne sont pas à maintenir. Ils sont lus et convertis à la volée par le driver de la base de données.&lt;br /&gt;
&lt;br /&gt;
===Tester vos fichiers .sql===&lt;br /&gt;
&lt;br /&gt;
Une fois les fichiers prêts, vous pouvez retourner dans l&#039;écran de gestion des modules de Dolibarr puis désactiver le module, dropper les tables en base (si elles existent déjà) et réactiver le module.&lt;br /&gt;
Les tables doivent alors être recréées par l&#039;activation du module.&lt;br /&gt;
Si tel n&#039;est pas le cas, vérifiez vos scripts en les passant à la main, ou consultez les logs Dolibarr.&lt;br /&gt;
&lt;br /&gt;
===Générer la classe PHP DAO d&#039;accès aux tables===&lt;br /&gt;
&lt;br /&gt;
Le fichier de classe DAO PHP d&#039;un object est généré automatiquement avec ModuleBuilder lors de la création d&#039;un Object.&lt;br /&gt;
&lt;br /&gt;
À défaut d&#039;utiliser le générateur de module, vous trouverez des exemples dans le squelette de module, fichier &#039;&#039;&#039;htdocs/modulebuilder/templates/class/myobject.class.php&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dans cette classe, se trouvent des méthodes CRUD (Create/Read/Update/Delete) déjà opérationnelles pour faire un insert, un fetch (select), un update, un delete d&#039;une ligne de la table. Éditer le fichier pour utiliser le bon nom de module, de tables et placer ce fichier dans le sous-répertoire de &#039;&#039;&#039;class&#039;&#039;&#039; du module. Le Module Builder permet de faire cela en quelques clics de souris.&lt;br /&gt;
&lt;br /&gt;
==Affichage des onglets (optionnel)==&lt;br /&gt;
&lt;br /&gt;
===Ajouter ou supprimer des onglets sur les fiches objets===&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : Pour ajouter votre propre onglet parmi les onglets d&#039;un object standard (facture, commande, proposition commercial, adhérent...)&lt;br /&gt;
&lt;br /&gt;
Pour cela, allez dans le fichier descripteur de module précédemment créé et modifiez le tableau $this-&amp;gt;tabs:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
	// Array to add new pages in new tabs or remove existing one&lt;br /&gt;
	$this-&amp;gt;tabs = array(&#039;objecttype:+tabname1:Title1:mylangfile@monmodule:$user-&amp;gt;rights-&amp;gt;monmodule-&amp;gt;read:/monmodule/mapagetab1.php?id=__ID__&#039;    // To add a new tab identified by code tabname1&lt;br /&gt;
                            &#039;objecttype:+tabname2:Title2:mylangfile@monmodule:$user-&amp;gt;rights-&amp;gt;monmodule-&amp;gt;read:/monmodule/mapagetab2.php?id=__ID__&#039;,   // To add a new tab identified by code tabname2&lt;br /&gt;
                            &#039;objecttype:-tabname&#039;);                                                     // To remove an existing tab identified by code tabname&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le tableau doit contenir une liste de chaîne, chaque chaîne représentant un nouvel onglet.&lt;br /&gt;
Le format de la chaîne étant composé de 6 parties séparées par &amp;quot;:&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Partie 1 : le type d&#039;élément (objecttype) dans lequel doit apparaître l&#039;onglet qui est une valeur parmi celle-ci:&lt;br /&gt;
{{TemplateModuleTabs-fr}}&lt;br /&gt;
&lt;br /&gt;
*Partie 2 : nom de code pour l&#039;onglet à ajouter (commence par +) ou à enlever (commence par -)&lt;br /&gt;
*Partie 3 : le titre de l&#039;onglet. Cela peut être un libellé en dur ou mieux un code traduction présent dans un fichier lang.&lt;br /&gt;
*Partie 4 : le nom du fichier .lang (sans l&#039;extension .lang) qui contient la correspondance entre le code traduction et le libellé à afficher. Si ce com est suivi de @monmodule, Dolibarr cherche le fichier dans le répertoire lang propre au module, c&#039;est à dire htdocs/monmodule/langs/code_CODE/monmodule.lang, sinon Dolibarr cherche le fichier traduction dans htdocs/langs/code_CODE/mylangfile.lang&lt;br /&gt;
*Partie 5 : une condition à tester pour savoir si l&#039;onglet doit être visible ou pas. Mettre &#039;1&#039; pour qu&#039;il soit toujours visible.&lt;br /&gt;
*Partie 6 : l&#039;url de la page à afficher quand on clique sur l&#039;onglet. La chaine __ID__ sera remplacée automatiquement par l&#039;Id de l&#039;entité concernée.&lt;br /&gt;
&lt;br /&gt;
Pour que la déclaration soit effective, il faut désactiver et réactiver le module.&lt;br /&gt;
&lt;br /&gt;
Pour alimenter le contenu de l&#039;onglet avec des données issues de la base, voir le chapitre suivant.&lt;br /&gt;
&lt;br /&gt;
===Ajouter les onglets standard d&#039;un objet sur sa propre page d&#039;onglet===&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : Pour afficher les onglets existant d&#039;un objet standard (produit, tiers, etc.) sur votre nouvelle page onglet.&lt;br /&gt;
&lt;br /&gt;
Il faut appliquer la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Inclure les fichiers définissant les fonctions utiles dans vos fichiers&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pour chaque fiche entité, il y a deux fichiers à inclure avec l&#039;instruction&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;require_once($url_fichier) ;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples de fichiers à inclure (DOL_DOCUMENT_ROOT correspond au dossier dolibarr/htdocs/) :&lt;br /&gt;
&lt;br /&gt;
*Entité tiers (thirdparty) :&lt;br /&gt;
**DOL_DOCUMENT_ROOT/societe/class/societe.class.php&lt;br /&gt;
**DOL_DOCUMENT_ROOT/core/lib/company.lib.php&lt;br /&gt;
*Entité produit (product) :&lt;br /&gt;
**DOL_DOCUMENT_ROOT/product/class/product.class.php&lt;br /&gt;
**DOL_DOCUMENT_ROOT/core/lib/product.lib.php&lt;br /&gt;
*Entité facture (invoice) :&lt;br /&gt;
**DOL_DOCUMENT_ROOT/compta/facture/facture.class.php&lt;br /&gt;
**DOL_DOCUMENT_ROOT/core/lib/invoice.lib.php&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Créer et charger l&#039;objet à afficher dans votre onglet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Créez l&#039;objet de la classe voulue, et récupérez les données de l&#039;objet à partir de la base de données. Pour cela il faut utiliser les fonctions fetch() de la classe correspondante, en passant en paramètre l&#039;identifiant de l&#039;objet que vous récupérez depuis l&#039;url (ex : /mononglet.php?id=1).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Exemple :&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$id=GETPOST(&#039;id&#039;,&#039;int&#039;);&lt;br /&gt;
$ref=GETPOST(&#039;ref&#039;,&#039;alpha&#039;);&lt;br /&gt;
$product = new Product($db) ;&lt;br /&gt;
$result = $product-&amp;gt;fetch($id, $ref) ; //Tester $result pour vérifier que l&#039;accès à la base s&#039;est bien passée&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. Récupérer la liste des onglets correspondant à l&#039;entité choisie&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Utilisez la fonction XXX_prepare_head($obj), ou XXX est le nom de l&#039;entité, permettant de créer un tableau contenant les définitions des onglets à afficher. Le paramètre à passer est l&#039;objet pour lequel vous voulez afficher les onglets.&lt;br /&gt;
&lt;br /&gt;
Le tableau retourné est composé de la façon suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$head        // Tableau des onglets&lt;br /&gt;
$head[$h]    // Élément décrivant un onglet. Il y aura autant de $h que d&#039;onglets à afficher&lt;br /&gt;
$head[$h][0] // Url de la page affichée quand on clique sur l&#039;onglet&lt;br /&gt;
$head[$h][1] // Titre de l’onglet&lt;br /&gt;
$head[$h][2] // Code de l&#039;onglet, à utiliser pour choisir quel onglet sera &#039;actif&#039; (voir paragraphe suivant)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Exemple :&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$head = product_prepare_head($product, $user) ; //le paramètre $user n&#039;est pas présent sur certaines fonctions&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4. Afficher les onglets sur votre page onglet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Utilisez la fonction dol_fiche_head() qui affiche les onglets contenus dans le tableau $head retourné par XX_prepare_head().&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
dol_fiche_head($links, $active=&#039;0&#039;, $title=&#039;&#039;, $notab=0, $picto=&#039;&#039;)&lt;br /&gt;
//$links  // Tableau des onglets, appelé $head plus haut.&lt;br /&gt;
//$active // Onglet actif (mettre le nom de l&#039;onglet défini dans votre fichier de module, ou un nom contenu dans $head[$h][2]). Cet onglet sera mis en surbrillance&lt;br /&gt;
//$title  // ?&lt;br /&gt;
//$notab  // Mettre ce paramètre à 1 permet de ne pas afficher de zone bleue en dessous des onglets.&lt;br /&gt;
//$picto  // Nom de l&#039;image à utiliser au début de la barre des onglet. Les choix suivant sont possibles :&lt;br /&gt;
//            product&lt;br /&gt;
//            service&lt;br /&gt;
//            company&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette fonction affiche les onglets voulus et ouvre un élément &#039;&#039;&amp;lt; div class=&amp;quot;&amp;quot; &amp;gt;&#039;&#039; qui correspond à la zone bleue sous les onglets (si paramètre $notab = 0). Pour fermer la zone bleue, il suffit de fermer l&#039;élément &#039;&#039;&amp;lt; /div &amp;gt;&#039;&#039; dans le code PHP.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Remarque&#039;&#039; :&lt;br /&gt;
Pour plus de détail, se référer à la [http://www.dolibarr.fr/doxygen/ documentation Doxygen] ou directement au code de Dolibarr.&lt;br /&gt;
&lt;br /&gt;
==Créer vos pages écran PHP (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : Si l&#039;objet de votre module est d&#039;ajouter des fonctionnalités qui nécessitent de nouveaux écrans.&lt;br /&gt;
&lt;br /&gt;
===Créer une page écran PHP brute===&lt;br /&gt;
Vous pouvez ensuite créer vos pages PHP, qui se basent sur les données de vos tables, en utilisant les squelettes fournis comme exemple dans le répertoire &#039;&#039;&#039;modulebuilder&#039;&#039;&#039; (Pour le développement d&#039;un script en ligne de commande, voir [[Développement de scripts]]). La encore, si vous avez utilisez ModuleBuilder, des cas de pages (liste, page de création, onglet notes, etc...) auront été créés automatiquement lors de l&#039;initialisation de l&#039;objet.&lt;br /&gt;
&lt;br /&gt;
Pour créer une nouvelle page écran utilisateur, créez un sous-répertoire de &#039;&#039;&#039;htdocs&#039;&#039;&#039; (si non déjà fait) propre à votre module (Dans &#039;&#039;&#039;htdocs/monmodule&#039;&#039;&#039; par exemple) afin d&#039;y placer les pages que vous allez créer.&lt;br /&gt;
&lt;br /&gt;
Y recopier le fichier &#039;&#039;&#039;myobject_page.php&#039;&#039;&#039; qui va servir de point de départ.&lt;br /&gt;
Modifiez le fichier afin que le main.inc.php soit trouvé&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
// Load Dolibarr environment&lt;br /&gt;
$res=0;&lt;br /&gt;
// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined)&lt;br /&gt;
if (! $res &amp;amp;&amp;amp; ! empty($_SERVER[&amp;quot;CONTEXT_DOCUMENT_ROOT&amp;quot;])) $res=@include($_SERVER[&amp;quot;CONTEXT_DOCUMENT_ROOT&amp;quot;].&amp;quot;/main.inc.php&amp;quot;);&lt;br /&gt;
// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME&lt;br /&gt;
$tmp=empty($_SERVER[&#039;SCRIPT_FILENAME&#039;])?&#039;&#039;:$_SERVER[&#039;SCRIPT_FILENAME&#039;];$tmp2=realpath(__FILE__); $i=strlen($tmp)-1; $j=strlen($tmp2)-1;&lt;br /&gt;
while($i &amp;gt; 0 &amp;amp;&amp;amp; $j &amp;gt; 0 &amp;amp;&amp;amp; isset($tmp[$i]) &amp;amp;&amp;amp; isset($tmp2[$j]) &amp;amp;&amp;amp; $tmp[$i]==$tmp2[$j]) { $i--; $j--; }&lt;br /&gt;
if (! $res &amp;amp;&amp;amp; $i &amp;gt; 0 &amp;amp;&amp;amp; file_exists(substr($tmp, 0, ($i+1)).&amp;quot;/main.inc.php&amp;quot;)) $res=@include(substr($tmp, 0, ($i+1)).&amp;quot;/main.inc.php&amp;quot;);&lt;br /&gt;
if (! $res &amp;amp;&amp;amp; $i &amp;gt; 0 &amp;amp;&amp;amp; file_exists(dirname(substr($tmp, 0, ($i+1))).&amp;quot;/main.inc.php&amp;quot;)) $res=@include(dirname(substr($tmp, 0, ($i+1))).&amp;quot;/main.inc.php&amp;quot;);&lt;br /&gt;
// Try main.inc.php using relative path&lt;br /&gt;
if (! $res &amp;amp;&amp;amp; file_exists(&amp;quot;../main.inc.php&amp;quot;)) $res=@include(&amp;quot;../main.inc.php&amp;quot;);&lt;br /&gt;
if (! $res &amp;amp;&amp;amp; file_exists(&amp;quot;../../main.inc.php&amp;quot;)) $res=@include(&amp;quot;../../main.inc.php&amp;quot;);&lt;br /&gt;
if (! $res &amp;amp;&amp;amp; file_exists(&amp;quot;../../../main.inc.php&amp;quot;)) $res=@include(&amp;quot;../../../main.inc.php&amp;quot;);&lt;br /&gt;
if (! $res) die(&amp;quot;Include of main fails&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Comme vous pouvez le constater, plusieurs tentatives de chargement du fichier main.inc.php (ou master.inc.php) ont été tentées. Le but est de réussir dans le plus grand nombre de cas possibles. Le minimum est de 2 lignes: une pour essayer de charger le fichier master / main.inc.php dans le répertoire racine de dolibarr et une autre pour essayer de charger le fichier afin de prendre en charge le cas où le module est déployé dans le répertoire &amp;quot;custom&amp;quot;. Mais vous pouvez avoir à gérer plus de situations. L&#039;exemple fourni devrait pouvoir charger le fichier main / master.inc.php dans presque toutes les situations / configurations.&lt;br /&gt;
&lt;br /&gt;
Notez que vous pouvez ajouter plus &amp;quot;../&amp;quot; en fonction de la profondeur du fichier par rapport à l&#039;arborescence de votre module.&lt;br /&gt;
&lt;br /&gt;
C&#039;est dans le main qu&#039;est chargé l&#039;environnement technique ainsi que les habilitations. Les variables objets suivantes sont alors positionnées:&lt;br /&gt;
&lt;br /&gt;
*$user    L&#039;objet qui contient les caractéristiques de l&#039;utilisateur + ses droits.&lt;br /&gt;
*$conf    L&#039;objet qui contient la configuration de Dolibarr.&lt;br /&gt;
*$db      L&#039;objet qui contient le handler de connexion à la base de données.&lt;br /&gt;
*$langs   L&#039;objet qui contient la langue de l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
*L&#039;inclusion d&#039;une classe ou librairie dédiée au module, sans savoir d&#039;où le fichier sera appelé, se fait en utilisant une fonction de Dolibarr (et non en utilisant directement le include_once)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Exemple :&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
dol_include_once(&#039;/monmodule/class/maclasse.class.php&#039;, &#039;MaClasse&#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*L&#039;appel des classes fournies en standard avec Dolibarr se fera par contre par le require_once directe avec la syntaxe suivante:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Exemple :&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
require_once DOL_DOCUMENT_ROOT.&#039;/core/class/doli.class.php&#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
La raison est que si le dol_include_once est pratique car il scanne chaque répertoire de chemin alternatif pour trouver le fichier, il est aussi moins performant car génère des accès et recherches disque à chaque appel (en effet, PHP intègre un cache des fichiers lus mais n&#039;intègre pas un cache des fichiers &amp;quot;non trouvés&amp;quot;. Et comme un fichier donné n&#039;est que dans une seule arborescence, il y a toujours une arborescence alternative où il ne se trouve pas et qui génère des accès superflus au disque dur, pénalisant en terme de performance. Comme pour les fichiers internes à Dolibarr, on connait toujours le chemin exacte, le require_once avec ce chemin direct doit être préféré).&lt;br /&gt;
&lt;br /&gt;
===Accès à la base===&lt;br /&gt;
Si vous avez besoin de réaliser des modifications en base dans votre propre table ajoutée, utilisez la classe générée plus haut qui contient les méthodes pour cela.&lt;br /&gt;
&lt;br /&gt;
Si toutefois vous voulez faire des accès dans des tables sans objet PHP dédié, ceci reste possible (par exemple pour récupérer une liste d&#039;enregistrement). Dans ce cas, pensez à suivre ces exemples:&lt;br /&gt;
&lt;br /&gt;
Pour un insert, update ou delete :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$db-&amp;gt;begin();   // Debut transaction&lt;br /&gt;
$db-&amp;gt;query(&amp;quot;Ma requete insert, update ou delete&amp;quot;);&lt;br /&gt;
$db-&amp;gt;commit();       // Valide&lt;br /&gt;
ou $db-&amp;gt;rollback()  // Annule&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour une lecture :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$resql=$db-&amp;gt;query(&amp;quot;Ma requete select&amp;quot;);&lt;br /&gt;
if ($resql)&lt;br /&gt;
{&lt;br /&gt;
	$num = $db-&amp;gt;num_rows($resql);&lt;br /&gt;
	$i = 0;&lt;br /&gt;
	if ($num)&lt;br /&gt;
	{&lt;br /&gt;
		while ($i &amp;lt; $num)&lt;br /&gt;
		{&lt;br /&gt;
			$obj = $db-&amp;gt;fetch_object($resql);&lt;br /&gt;
			if ($obj)&lt;br /&gt;
			{&lt;br /&gt;
				// You can use here results&lt;br /&gt;
				print $obj-&amp;gt;field1;&lt;br /&gt;
				print $obj-&amp;gt;field2;&lt;br /&gt;
			}&lt;br /&gt;
			$i++;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Définition du style===&lt;br /&gt;
Pour que le look de la page soit aligné avec le thème Dolibarr, il est nécessaire d&#039;utiliser les styles des CSS de Dolibarr.&lt;br /&gt;
&lt;br /&gt;
Par exemple :&lt;br /&gt;
&lt;br /&gt;
*class=&amp;quot;&#039;&#039;&#039;liste_titre&#039;&#039;&#039;&amp;quot; sur les balises &#039;&#039;tr&#039;&#039; et &#039;&#039;td&#039;&#039; pour une ligne de titre de tableau.&lt;br /&gt;
*class=&amp;quot;&#039;&#039;&#039;pair&#039;&#039;&#039;&amp;quot; ou class=&amp;quot;&#039;&#039;&#039;impair&#039;&#039;&#039;&amp;quot; sur les balises &#039;&#039;tr&#039;&#039; et &#039;&#039;td&#039;&#039; des lignes de données de tableau.&lt;br /&gt;
*class=&amp;quot;&#039;&#039;&#039;flat&#039;&#039;&#039;&amp;quot; sur tous les champs de saisie (&#039;&#039;input, select, textarea&#039;&#039;...).&lt;br /&gt;
*class=&amp;quot;&#039;&#039;&#039;button&#039;&#039;&#039;&amp;quot; sur les objets de type &#039;&#039;input type=&amp;quot;submit&amp;quot;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Utilisez le sélecteur de date de Dolibarr===&lt;br /&gt;
Si vous le désirez, vous pouvez profiter du sélecteur de date dans des écrans Dolibarr. Pour cela, utilisez la ligne suivante:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$form=new Form($db);&lt;br /&gt;
$form-&amp;gt;select_date(&#039;&#039;,&#039;mykey&#039;,0,0,0,&amp;quot;myform&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
La chaîne mykey identifie la zone date. Il faut y mettre une valeur différente s&#039;il y a plusieurs zones.&lt;br /&gt;
La chaine myform est le nom de la zone FORM (dans form name=&amp;quot;myform&amp;quot; de la page HTML).&lt;br /&gt;
L&#039;affichage d&#039;un sélecteur de date doit donc être intégré dans une zone FORM Html.&lt;br /&gt;
&lt;br /&gt;
Pour récupérer la valeur, à l&#039;issu du POST, la commande est:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$mydate = dol_mktime(12, 0 , 0, GETPOST(&#039;mykeymonth&#039;, &#039;int&#039;), GETPOST(&#039;mykeyday&#039;, &#039;int&#039;), GETPOST(&#039;mykeyyear&#039;, &#039;int&#039;));&lt;br /&gt;
print strftime(&#039;%A %d %B %Y&#039;, $mydate);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Définir votre page de configuration (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : si votre module offre plusieurs options paramétrables.&lt;br /&gt;
&lt;br /&gt;
===Créez votre page d&#039;édition de configuration===&lt;br /&gt;
Si votre module offre plusieurs options paramétrables, il est nécessaire de créer une page PHP pour éditer les options (qui sont stockées dans la [[Table llx_const|table &#039;&#039;&#039;llx_const&#039;&#039;&#039;]]).&lt;br /&gt;
Créez une page PHP nommée &#039;&#039;&#039;monmodule_setupapage.php&#039;&#039;&#039; qui affiche les options possibles et les met à jour.&lt;br /&gt;
Il est nécessaire de prendre exemple sur une page dans &#039;&#039;&#039;/admin&#039;&#039;&#039; qui vous montre la méthode pour lire ou sauvegarder en base votre option.&lt;br /&gt;
Placez cette page de configuration dans le répertoire &#039;&#039;&#039;/admin&#039;&#039;&#039; également.&lt;br /&gt;
Ensuite dans le descripteur de module, modifiez la variable pour indiquer le nom de cette page PHP (sans le chemin qui n&#039;est pas nécessaire, la page étant forcément dans le rep admin).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;config_page_url = array(&amp;quot;setup.php@mymodule&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Testez votre page===&lt;br /&gt;
Allez sur la page &#039;&#039;&#039;Configuration-&amp;gt;module&#039;&#039;&#039;, vous devez voir apparaître une icône qui permet d&#039;accéder à la page de configuration et vous devez être capable de modifier ces options et les voir conservées en base.&lt;br /&gt;
&lt;br /&gt;
==Définir vos entrées de menu (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : si vous avez créé des pages PHP, il est nécessaire que ces écrans soient accessibles depuis le menu Dolibarr.&lt;br /&gt;
&lt;br /&gt;
===Définissez vos entrées menus===&lt;br /&gt;
Pour cela, il vous faut définir dans le fichier descripteur de module, le tableau this-&amp;gt;menu qui déclare les menus.&lt;br /&gt;
Ce tableau contient toutes les entrées qui apparaîtront dans les menus une fois le module activé.&lt;br /&gt;
Le fichier de descripteur de module exemple &#039;&#039;&#039;modMonModule.class.php&#039;&#039;&#039; possède un exemple de déclaration de menu haut ainsi que de ses entrées menu gauche associées.&lt;br /&gt;
&lt;br /&gt;
Voici un exemple de déclaration d&#039;entrées de menu dans le fichier descripteur:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
// Main menu entries&lt;br /&gt;
$this-&amp;gt;menu = array();			// List of menus to add&lt;br /&gt;
$r=0;&lt;br /&gt;
&lt;br /&gt;
// Add here entries to declare new menus&lt;br /&gt;
// Example to declare the Top Menu entry:&lt;br /&gt;
$this-&amp;gt;menu[$r]=array(	&#039;fk_menu&#039;=&amp;gt;0,			// Put 0 if this is a top menu&lt;br /&gt;
			&#039;type&#039;=&amp;gt;&#039;top&#039;,			// This is a Top menu entry&lt;br /&gt;
			&#039;titre&#039;=&amp;gt;&#039;MonModule top menu&#039;,&lt;br /&gt;
			&#039;mainmenu&#039;=&amp;gt;&#039;monmodule&#039;,&lt;br /&gt;
			&#039;leftmenu&#039;=&amp;gt;&#039;monmodule&#039;,&lt;br /&gt;
			&#039;url&#039;=&amp;gt;&#039;/monmodule/pagetop.php&#039;,&lt;br /&gt;
			&#039;langs&#039;=&amp;gt;&#039;mylangfile&#039;,	// Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.&lt;br /&gt;
			&#039;position&#039;=&amp;gt;100,&lt;br /&gt;
			&#039;enabled&#039;=&amp;gt;&#039;1&#039;,			// Define condition to show or hide menu entry. Use &#039;$conf-&amp;gt;monmodule-&amp;gt;enabled&#039; if entry must be visible if module is enabled.&lt;br /&gt;
			&#039;perms&#039;=&amp;gt;&#039;1&#039;,			// Use &#039;perms&#039;=&amp;gt;&#039;$user-&amp;gt;rights-&amp;gt;monmodule-&amp;gt;level1-&amp;gt;level2&#039; if you want your menu with a permission rules&lt;br /&gt;
			&#039;target&#039;=&amp;gt;&#039;&#039;,&lt;br /&gt;
			&#039;user&#039;=&amp;gt;2);				// 0=Menu for internal users, 1=external users, 2=both&lt;br /&gt;
$r++;&lt;br /&gt;
&lt;br /&gt;
// Example to declare a Left Menu entry:&lt;br /&gt;
$this-&amp;gt;menu[$r]=array(	&#039;fk_menu&#039;=&amp;gt;&#039;fk_mainmenu=xxx&#039;,	// Use &#039;fk_mainmenu=xxx&#039; or &#039;fk_mainmenu=xxx,fk_leftmenu=yyy&#039; where xxx is mainmenucode and yyy is a leftmenucode of parent menu&lt;br /&gt;
			&#039;type&#039;=&amp;gt;&#039;left&#039;,			// This is a Left menu entry&lt;br /&gt;
			&#039;titre&#039;=&amp;gt;&#039;MonModule left menu 1&#039;,&lt;br /&gt;
			&#039;mainmenu&#039;=&amp;gt;&#039;xxx&#039;,&lt;br /&gt;
                        &#039;leftmenu&#039;=&amp;gt;&#039;yyy&#039;,&lt;br /&gt;
			&#039;url&#039;=&amp;gt;&#039;/monmodule/pagelevel1.php&#039;,&lt;br /&gt;
			&#039;langs&#039;=&amp;gt;&#039;mylangfile&#039;,	// Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.&lt;br /&gt;
			&#039;position&#039;=&amp;gt;100,&lt;br /&gt;
			&#039;enabled&#039;=&amp;gt;&#039;1&#039;,			// Define condition to show or hide menu entry. Use &#039;$conf-&amp;gt;monmodule-&amp;gt;enabled&#039; if entry must be visible if module is enabled.&lt;br /&gt;
			&#039;perms&#039;=&amp;gt;&#039;1&#039;,			// Use &#039;perms&#039;=&amp;gt;&#039;$user-&amp;gt;rights-&amp;gt;monmodule-&amp;gt;level1-&amp;gt;level2&#039; if you want your menu with a permission rules&lt;br /&gt;
			&#039;target&#039;=&amp;gt;&#039;&#039;,&lt;br /&gt;
			&#039;user&#039;=&amp;gt;2);				// 0=Menu for internal users,1=external users, 2=both&lt;br /&gt;
$r++;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour conditionner l&#039;accès au menu selon des permission, modifier la propriété &#039;&#039;&#039;perms&#039;&#039;&#039; du tableau. Voir le chapitre sur les permissions un peu plus loin pour savoir comment ajouter des permissions.&lt;br /&gt;
&lt;br /&gt;
===Testez vos entrées menus===&lt;br /&gt;
Désactiver et réactiver votre module sous Dolibarr, les entrées menus doivent alors apparaître (si la condition dans &#039;enabled&#039; est vraie).&lt;br /&gt;
&lt;br /&gt;
==Définir vos propres permissions (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : Si vous voulez ajouter de nouvelles permissions.&lt;br /&gt;
&lt;br /&gt;
La définition des permissions que gérera votre module se fait dans le fichier descripteur créé dans la première étape.&lt;br /&gt;
Modifier la ligne &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;rights_class = &#039;monmodule&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour y mettre la bonne valeur de monmodule.&lt;br /&gt;
&lt;br /&gt;
Ensuite remplissez le tableau $this-&amp;gt;rights avec autant d&#039;entrées que de permissions différentes à gérer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;rights[$r][0] = 10001;&lt;br /&gt;
$this-&amp;gt;rights[$r][1] = &#039;Libelle par défaut de ma permission&#039;;&lt;br /&gt;
$this-&amp;gt;rights[$r][3] = 1;&lt;br /&gt;
$this-&amp;gt;rights[$r][4] = &#039;action&#039;;&lt;br /&gt;
$this-&amp;gt;rights[$r][5] = &#039;sousaction&#039;;&lt;br /&gt;
$r++;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans $this-&amp;gt;rights[$r][0], mettre un id de permission non déjà pris (Voir dans le menu &#039;&#039;&#039;Infos Système&#039;&#039;&#039; sur une installation de Dolibarr opérationnelle pour connaître les id déjà utilisés.&lt;br /&gt;
Dans $this-&amp;gt;rights[$r][3], mettre 1 si cette permission est attribué d&#039;office par défaut quand un utilisateur est créé.&lt;br /&gt;
Dans $this-&amp;gt;rights[$r][1], mettre un libellé par défaut (il sera affiché si aucune traduction n&#039;est trouvé pour votre permission dans le fichier &#039;&#039;&#039;admin.lang&#039;&#039;&#039;. La clé de traduction dit être &amp;quot;Permission10001=Description de ma super permission&#039;&#039;&#039;&amp;quot;&#039;&#039;&#039;).&lt;br /&gt;
Dans $this-&amp;gt;rights[$r][4] et $this-&amp;gt;rights[$r][5], mettre une chaîne action et sous action sans espace. Vous pourrez alors tester dans le code PHP si un utilisateurs a bien les droits par la séquence suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
if ($user-&amp;gt;rights-&amp;gt;monmodule-&amp;gt;action-&amp;gt;sousaction) ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Définir vos propres box/widgets (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : si votre module amène avec lui une ou plusieurs Boxes.&lt;br /&gt;
&lt;br /&gt;
===Définissez vos box===&lt;br /&gt;
Pour cela, modifiez les tableaux $this-&amp;gt;boxes du fichier descripteur de module.&lt;br /&gt;
Il suffit d&#039;ajouter 2 lignes par fichier box que vous allez créer dans le répertoire &#039;&#039;&#039;htdocs/monmodule/core/boxes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Exemple :&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;boxes[0][&#039;file&#039;]=&#039;mabox0.php@monmodule&#039;&lt;br /&gt;
$this-&amp;gt;boxes[0][&#039;note&#039;]=&#039;Ma box 0&#039;&lt;br /&gt;
 ...&lt;br /&gt;
$this-&amp;gt;boxes[n][&#039;file&#039;]=&#039;maboxn.php@monmodule&#039;&lt;br /&gt;
$this-&amp;gt;boxes[n][&#039;note&#039;]=&#039;Ma box n&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créez les fichiers &#039;&#039;&#039;htdocs/monmodule/core/boxes/mabox0.php&#039;&#039;&#039;, &#039;&#039;&#039;htdocs/monmodule/core/boxes/maboxn.php&#039;&#039;&#039;... en prenant exemple sur des box existantes (exemple dans le répertoire &#039;&#039;&#039;htdocs/core/boxes&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===Testez la présence de vos box dans Dolibarr===&lt;br /&gt;
Désactivez et réactivez le module.&lt;br /&gt;
&lt;br /&gt;
Allez dans le menu &#039;&#039;&#039;Accueil - Configuration - Widgets&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Vos box doivent apparaître dans la liste des box activables. Activez les puis allez sur la page d&#039;accueil et vérifiez qu&#039;elles s&#039;affichent correctement.&lt;br /&gt;
&lt;br /&gt;
==Définir vos propres exports (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : si votre module amène avec lui des exports prédéfinis de données (pour ces propres tables ou des tables déjà existantes d&#039;un autre module de Dolibarr).&lt;br /&gt;
&lt;br /&gt;
===Définissez l&#039;export===&lt;br /&gt;
Pour cela, décommentez et modifiez les tableaux $this-&amp;gt;export_xxx du votre fichier descripteur de module.&lt;br /&gt;
&lt;br /&gt;
===Testez votre export===&lt;br /&gt;
Allez dans le menu outils -&amp;gt; export de Dolibarr. Votre export doit apparaitre dans la liste des exports prédéfinis disponibles (si votre module est bien activé).&lt;br /&gt;
Le choisir, vous devez alors voir les champs possibles définis dans le tableau à l&#039;étape précédente.&lt;br /&gt;
Choissez quelques champs et tentez une génération du fichier export.&lt;br /&gt;
&lt;br /&gt;
==Définir vos styles CSS (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : lorsque dans vos écrans PHP, vous utiliser des classes de styles qui ne sont pas celle des thèmes de Dolibarr (non recommandé).&lt;br /&gt;
&lt;br /&gt;
Cette fonctionnalité est décrite mais pas encore opérationnel en 2.4&lt;br /&gt;
&lt;br /&gt;
===Créez et déclarez votre feuille de style===&lt;br /&gt;
Créez un fichier de style css nommé &#039;&#039;&#039;monmodule.css&#039;&#039;&#039; ou &#039;&#039;&#039;monmodule.css.php&#039;&#039;&#039; et placez le dans le répertoire &#039;&#039;&#039;&#039;&#039;monmodule&#039;&#039;&#039;&#039;&#039; dans &#039;&#039;&#039;htdocs&#039;&#039;&#039;. Il ne peut y avoir qu&#039;un fichier css propre à chaque module.&lt;br /&gt;
Rappelons qu&#039;il vaut mieux utiliser les styles déjà existant de Dolibarr (le fichier css utilisé par Dolibarr étant le fichier &#039;&#039;&#039;themes/nomtheme/&#039;&#039;nomtheme&#039;&#039;.css.php&#039;&#039;&#039;). Ne créez un fichier css propre à votre module que si vous devez absolument gérer des styles non déjà existants.&lt;br /&gt;
Une fois votre feuille de style prête, déclarez la dans votre fichier descripteur de module en modifiant la propriété &#039;&#039;&#039;$this-&amp;gt;module_parts&#039;&#039;&#039;.&lt;br /&gt;
La valeur à renseigner ici doit être le chemin relatif de l&#039;URL de votre fichier css.&lt;br /&gt;
Par exemple&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;module_parts = array(&#039;css&#039; =&amp;gt; array(&#039;/monmodule/css/monmodule.css.php&#039;));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Testez votre feuille de style===&lt;br /&gt;
Désactivez et réactivez votre module.&lt;br /&gt;
&lt;br /&gt;
Appelez la page d&#039;accueil de Dolibarr. Affichez la source de la page HTML.&lt;br /&gt;
&lt;br /&gt;
Vous devriez voir dans l&#039;entête HTML, une ligne déclarant votre feuille de style.&lt;br /&gt;
&lt;br /&gt;
==Définir vos fonctions Javascript (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : lorsque dans vos écrans PHP, vous utiliser des fonctions javascript non dispo en standard (fichier lib_head.js)&lt;br /&gt;
&lt;br /&gt;
Si dans vos écrans PHP, vous utilisez des fonctions javascript, il est nécessaire de faire en sorte que vos fonctions déclarées dans un fichier javascript &#039;&#039;&#039;htdocs/monmodule/js/monmodule.js&#039;&#039;&#039; soit chargées dans l&#039;entête head html.&lt;br /&gt;
Pour demander à Dolibarr qui gère la génération de la section header d&#039;inclure un de vos fichiers javascript, il est nécessaire de fournir en paramètre de la fonction llxHeader() appelée au début de votre page, d&#039;inclure le paramètre qui contient l&#039;URL vers le js à inclure.&lt;br /&gt;
&lt;br /&gt;
Exemple pour la page /htdocs/monmodule/mapage.php :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
require(&#039;../main.inc.php&#039;);&lt;br /&gt;
$morejs=array(&amp;quot;/monmodule/js/monmodule.js&amp;quot;);&lt;br /&gt;
llxHeader(&#039;&#039;,&#039;Titre&#039;,&#039;&#039;,&#039;&#039;,&#039;&#039;,&#039;&#039;,$morejs,&#039;&#039;,0,0); &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Déclencher du code sur un évènement Dolibarr (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : lorsque vous voulez que des actions particulières s&#039;exécutent suite au déclenchement d&#039;actions standards de Dolibarr (exemple : je veux mettre à jour une table de mon module quand une facture se crée dans Dolibarr), il vous faut créer un fichier de &#039;&#039;&#039;triggers&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Voir aussi [[Interfaces_Dolibarr_vers_exterieur|Interfaces de Dolibarr vers l&#039;exterieur]]&lt;br /&gt;
et [[Interfaces_Exterieur_vers_Dolibarr|Interfaces exterieures vers Dolibarr]]&lt;br /&gt;
&lt;br /&gt;
==Insérer votre code aux emplacement hooks de Dolibarr (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : lorsque vous voulez modifier ou ajouter du code autrement que lors d&#039;un événement métier (voir le chapitre précédent pour cela).&lt;br /&gt;
&lt;br /&gt;
Voir la page [[Système de Hooks]].&lt;br /&gt;
&lt;br /&gt;
==Ajouter un module de numérotation (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : lorsque vous voulez ajouter une règle de numérotation non couverte par les modules par défaut.&lt;br /&gt;
&lt;br /&gt;
Voir la page [[Créer un module de numérotation]].&lt;br /&gt;
&lt;br /&gt;
==Ajouter un nouveau modèle de document (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : lorsque vous voulez ajouter un nouveau modèle de document.&lt;br /&gt;
&lt;br /&gt;
La documentation au sujet de la génération de documents depuis des modèles est disponible sur la page [[Créer un modèle de document PDF]] ou [[Créer un modèle de document ODT]].&lt;br /&gt;
&lt;br /&gt;
==Ajouter une nouvelle police de caractère (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : lorsque vous voulez utiliser une police particulière.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez ajouter une police de caractère directement depuis votre module lors de son activation. Dans la fonction init() :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
// Fonts deployment if not already done&lt;br /&gt;
$pathfontsto = DOL_DOCUMENT_ROOT . &#039;/includes/tecnickcom/tcpdf/fonts/&#039;;&lt;br /&gt;
$pathfontsfrom = dol_buildpath(&#039;yourmodulename&#039;, 0) . &#039;/fonts/&#039;;&lt;br /&gt;
&lt;br /&gt;
// Font copy&lt;br /&gt;
if (!file_exists($pathfontsto . &#039;yourfont.php&#039;)) {&lt;br /&gt;
  $test = dol_copy($pathfontsfrom . &#039;yourfont.php&#039;, $pathfontsto . &#039;yourfont.php&#039;, 0, 0, 0, 1);&lt;br /&gt;
}&lt;br /&gt;
if (!file_exists($pathfontsto . &#039;yourfont.z&#039;)) {&lt;br /&gt;
  $test = dol_copy($pathfontsfrom . &#039;yourfont.z&#039;, $pathfontsto . &#039;yourfont.z&#039;, 0, 0, 0, 1);&lt;br /&gt;
}&lt;br /&gt;
if (!file_exists($pathfontsto . &#039;yourfont.ctg.z&#039;)) {&lt;br /&gt;
  $test = dol_copy($pathfontsfrom . &#039;yourfont.ctg.z&#039;, $pathfontsto . &#039;yourfont.ctg.z&#039;, 0, 0, 0, 1);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les fichiers nécessaires peuvent être générés à partir d&#039;un fichier .ttf sur https://fonts.palettize.me/ par exemple, et sont dans cette exemple stockées dans le dossier `votremodule/fonts`.&lt;br /&gt;
&lt;br /&gt;
==Ajouter un thème (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039;: Lorsque vous voulez une interface aux couleurs personnalisées à votre cas.&lt;br /&gt;
&lt;br /&gt;
Voir la page [[Themes]].&lt;br /&gt;
&lt;br /&gt;
==Ajouter un bouton (optionnel)==&lt;br /&gt;
Si vous souhaitez ajouter des boutons à vos enregistrements.&lt;br /&gt;
&lt;br /&gt;
Voir la page [[Création de boutons]].&lt;br /&gt;
&lt;br /&gt;
=[[File:Art.png]] Quelques règles de codage et fonctions pour développeurs=&lt;br /&gt;
Les règles de codage à suivre sont définis dans la [[Documentation Développeur|Documentation développeur]], rubrique &amp;quot;Informations Générales - Langage et normes de développement&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
De nombreuses fonctions prédéfinies pour les développeurs sont disponibles et décrites sur la page [[Documentation Développeur|Documentation développeur]] sous la section &amp;quot;Les couches techniques de Dolibarr&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=[[File:Art.png]] Créer un package pour livrer et installer votre module=&lt;br /&gt;
Cette procédure doit être utilisée pour fabriquer un package afin de le soumettre sur la place de marché http://www.dolistore.com.&lt;br /&gt;
Mais vous pouvez aussi l&#039;utiliser pour distribuer facillement votre module via votre propre réseau de distribution.&lt;br /&gt;
&lt;br /&gt;
*Allez dans le répertoire &#039;&#039;&#039;/build&#039;&#039;&#039; et recopiez le fichier &#039;&#039;&#039;makepack-dolibarrmodules.conf&#039;&#039;&#039; en &#039;&#039;&#039;makepack-monmodule.conf&#039;&#039;&#039;. Attention, ce répertoire peut ne pas être fourni dans les packages de versions stables. Si c&#039;est le cas, il peut être récupéré dans le snapshot disponible en téléchargement sur le site web Dolibarr dans la rubrique Version de développement (prenez dans ce cas tout le répertoire build qui est un répertoire autonome et indépendant de la version).&lt;br /&gt;
&lt;br /&gt;
Saisissez dans ce fichier la liste des noms des nouveaux fichiers que vous avez créé pour votre module (descripteur de module, nouveaux fichiers sql de tables, page php, images, etc...)&lt;br /&gt;
&lt;br /&gt;
*Lancer le script via Perl (besoin de la version Perl 5.0 ou +):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
perl makepack-dolibarrmodule.pl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Le script vous demande le nom de votre module, sa version majeure et mineure.&lt;br /&gt;
Un fichier &#039;&#039;&#039;monmodule.zip&#039;&#039;&#039; va alors être fabriqué contenant votre module prêt pour être déployé.&lt;br /&gt;
&lt;br /&gt;
*La personne qui reçoit votre module doit alors placer le fichier dans son répertoire racine d&#039;installation de Dolibarr et réaliser la commande :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
tar -xvf monmodule.zip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Si vous désirez que votre module profite à tous, vous pouvez le soumettre (le fichier zip) sur la place de marché des modules complémentaires: {{LinkToPluginDownload}} (vous devez avoir créé un compte auparavant et utiliser le lien &amp;quot;Soumettre un module/produit&amp;quot;).&lt;br /&gt;
**Si votre module a été fabriqué correctement, le fichier sera validé rapidement.&lt;br /&gt;
**Si la qualité est suffisante, que la licence le permet et que la fonctionnalité du module s&#039;avère être d&#039;un intérêt général, le code pourra être ajouté au code source de Dolibarr (sauf si vous ne le désirez pas).&lt;br /&gt;
&lt;br /&gt;
Il également possible récupérer votre module au format .zip en ayant activé la variable [[Fichier de configuration|$dolibarr_allow_download_external_modules à 1 dans le fichier conf.php]]. &lt;br /&gt;
&lt;br /&gt;
=[[File:Art.png]] Dépôt et validation du module externe sur Dolistore=&lt;br /&gt;
&lt;br /&gt;
Voir [[Module_Dolistore_Validation_Regles|Règles de Validation]]&lt;/div&gt;</summary>
		<author><name>Bfaliere</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=D%C3%A9veloppement_module&amp;diff=64261</id>
		<title>Développement module</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=D%C3%A9veloppement_module&amp;diff=64261"/>
		<updated>2025-09-24T12:44:15Z</updated>

		<summary type="html">&lt;p&gt;Bfaliere: /* Ajouter une nouvelle police de caractère (optionnel) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Do NOT edit this section&lt;br /&gt;
     Links below are automatically managed by PolyglotBot&lt;br /&gt;
     You can edit links on the English source page : Module_development --&amp;gt;&lt;br /&gt;
[[en:Module_development]]&lt;br /&gt;
[[es:Desarrollo_de_un_módulo]]&lt;br /&gt;
[[de:Modul_Entwicklung]]&lt;br /&gt;
[[zh:模块开发]]&lt;br /&gt;
[[ja:モジュール_開発]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Noyau]]&lt;br /&gt;
{{TemplateDocDev}}&lt;br /&gt;
Pour créer un nouveau module, il existe plusieurs étapes. Ce didacticiel a pour but de vous décrire chacune d&#039;elles afin d&#039;ajouter un module permettant d&#039;étendre les possibilités de Dolibarr, comme par exemple ajouter une ou plusieurs des fonctionnalités suivantes:&lt;br /&gt;
&lt;br /&gt;
*Ajouter de nouvelles tables en base.&lt;br /&gt;
*Ajouter vos propres entrées dans les menus.&lt;br /&gt;
*Ajouter des objets et des écrans de saisie/consultation de nouvelle tables.&lt;br /&gt;
*Ajouter ou supprimer des onglets sur les pages de vues/édition des objets (facture, produit, commande, événement, ...)&lt;br /&gt;
*Ajouter des exports prédéfinis pour la fonction export.&lt;br /&gt;
*Ajouter de nouvelles boites/widgets pour la home page.&lt;br /&gt;
*Ajouter des variables de substitution.&lt;br /&gt;
*Définir de nouvelles permissions.&lt;br /&gt;
*Déclencher du code automatiquement sur une action Dolibarr particulière.&lt;br /&gt;
*Insérer votre code aux emplacements hooks de Dolibarr&lt;br /&gt;
*Ajouter un modèle de numérotation de la référence des objets créés.&lt;br /&gt;
*Ajouter un modèle de document PDF.&lt;br /&gt;
*Ajouter un nouveau thème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Les chapitres suivants vous présentent comment réaliser tout cela en manuel de manière simple.&lt;br /&gt;
&lt;br /&gt;
=[[File:Art.png]] Création de Module avec le générateur de module=&lt;br /&gt;
Depuis Dolibarr 9.0 il est possible de créer les fichiers principaux de votre module avec le &amp;quot;Générateur de module&amp;quot; (aussi appelé &amp;quot;Module Builder&amp;quot;). Pour l&#039;activer :&lt;br /&gt;
&lt;br /&gt;
*Activez le module &amp;quot;Générateur de Module&amp;quot; (ou &amp;quot;Module builder&amp;quot;) dans la section &amp;quot;Outils multi-modules&amp;quot; de Configuration &amp;gt; Modules/Applications&lt;br /&gt;
&lt;br /&gt;
[[File:Mod_builder_2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
*Puis cliquez sur l’icône &amp;quot;bug&amp;quot; qui est apparue dans la barre de menu en haut à droite&lt;br /&gt;
&lt;br /&gt;
[[File:Mod_builder_3.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=[[File:Art.png]] Exemple de modèle de module externe=&lt;br /&gt;
Un bon modèle/squelette de module externe Dolibarr est disponible ici : [https://github.com/Dolibarr/dolibarr/tree/develop/htdocs/modulebuilder/template GitHub Dolibarr Module Modèle]&lt;br /&gt;
&lt;br /&gt;
Vous trouverez aussi un exemple de réalisation de module via un cas pratique : la création d&#039;un module afin de créer un calendrier des commandes fournisseurs : [[Exemple de cas pratique de Module Builder]]&lt;br /&gt;
&lt;br /&gt;
=[[File:Art.png]] Créer un module=&lt;br /&gt;
Les sous chapitres suivant décrivent les actions à faire pour créer un module Dolibarr. Les premiers chapitres sont obligatoires quelle que soit la vocation du module, les suivants dépendront de ce que doit faire le module.&lt;br /&gt;
&lt;br /&gt;
==Créer un descripteur de Module (obligatoire)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : Obligatoire dès qu&#039;une extension est développée, quelle que soit sa vocation.&lt;br /&gt;
&#039;&#039;&#039;Depuis Dolibarr 9.0, il est possible de créer le descripteur de votre module avec le &amp;quot;Générateur de module&amp;quot;&#039;&#039;&#039;. Cet outil est encore encours de développement et de maturité mais peut d&#039;ores et déjà être utilisé.&lt;br /&gt;
&lt;br /&gt;
===Créer votre descripteur avec le générateur de module===&lt;br /&gt;
&lt;br /&gt;
*Lancez le générateur de module en cliquant sur l’icône &amp;quot;bug&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Mod_builder_3.png|400px]]&lt;br /&gt;
&lt;br /&gt;
*Entrez le nom de votre module sans espaces (le nom de votre module NE DOIT PAS CONTENIR le caractère underscore ou tiret bas : _) et cliquez sur Créer.&lt;br /&gt;
&lt;br /&gt;
[[File:Mod_builder_4.png|400px]]&lt;br /&gt;
&lt;br /&gt;
*Un module avec ses premiers fichiers a été initialisé. Vous pouvez alors modifier les paramètres du descripteur du module :&lt;br /&gt;
&lt;br /&gt;
[[File:Mod_builder_5.png|400px]]&lt;br /&gt;
&lt;br /&gt;
===Alternative : créer votre descripteur manuellement (sans utiliser le générateur de module)===&lt;br /&gt;
La première étape est donc de créer un fichier de description du module (descripteur). Pour cela:&lt;br /&gt;
&lt;br /&gt;
*Créez le répertoire &#039;&#039;&#039;/htdocs/&#039;&#039;monmodule&#039;&#039;/core/modules&#039;&#039;&#039;. Puis, allez dans le répertoire &#039;&#039;&#039;dev/skeletons&#039;&#039;&#039; et recopiez le fichier modMyModule.class.php dans ce répertoire &#039;&#039;&#039;htdocs/&#039;&#039;monmodule&#039;&#039;/core/modules&#039;&#039;&#039;.&lt;br /&gt;
*Renommez le fichier mod&#039;&#039;&#039;MyModule&#039;&#039;&#039;.class.php en modifiant seulement la partie &#039;&#039;&#039;MyModule&#039;&#039;&#039; (le fichier doit commencer par mod)&lt;br /&gt;
&lt;br /&gt;
Ensuite, modifiez le contenu de ce fichier afin de remplacer :&lt;br /&gt;
&lt;br /&gt;
*les &#039;&#039;modMyModule&#039;&#039; en une valeur qui corresponde à la vocation de votre module. Cette valeur doit toujours commencer par &#039;&amp;lt;nowiki/&amp;gt;&#039;&#039;&#039;mod&#039;&#039;&#039;&#039; et ne contenir que des &#039;&#039;&#039;caractères alphabétiques&#039;&#039;&#039;.&lt;br /&gt;
*$this-&amp;gt;numero = &#039;&#039;100000&#039;&#039; par un numéro de module libre. Pour éviter tout conflit, vous pouvez consulter la page suivante pour retrouver les numéros déjà alloués ou un réserver un libre : [[List of modules id|Liste des id de modules]].&lt;br /&gt;
*Modifier éventuellement les autres variables définies dans le constructeurs (Voir le commentaire dans le code du squelette pour leur signification).&lt;br /&gt;
&lt;br /&gt;
Le descripteur de votre module est alors en place.&lt;br /&gt;
&lt;br /&gt;
===Tester votre descripteur===&lt;br /&gt;
&lt;br /&gt;
Lancez Dolibarr et allez sur la page &#039;&#039;&#039;Configuration-&amp;gt;module&#039;&#039;&#039;, vous devez voir apparaître une nouvelle ligne avec votre nouveau module et la possibilité de l&#039;activer ou non (parcourez tous les onglets de chaque catégories de modules jusqu&#039;à le retrouver).&lt;br /&gt;
C&#039;est la valeur de $this-&amp;gt;special qui détermine dans quel onglet se trouve votre module.&lt;br /&gt;
&lt;br /&gt;
===Nom de module===&lt;br /&gt;
&lt;br /&gt;
Le nom de votre module NE DOIT PAS CONTENIR le caractère underscore ou tiret bas : _&lt;br /&gt;
&lt;br /&gt;
==Arborescence d&#039;un nouveau module==&lt;br /&gt;
Voici l&#039;arborescence à respecter pour l&#039;organisation des fichiers d&#039;un module (cette arborescence sera celle prise d&#039;office si vous générer les fichiers à l&#039;aide de ModuleBuilder).&lt;br /&gt;
&lt;br /&gt;
{{TemplateModuleTreeSimple}}&lt;br /&gt;
&lt;br /&gt;
Un bon modèle/squelette de module externe Dolibarr est disponible ici : [https://github.com/Dolibarr/dolibarr/tree/develop/htdocs/modulebuilder/template GitHub Dolibarr Module Modèle]&lt;br /&gt;
&lt;br /&gt;
==Créer vos tables SQL et les classes PHP DAO (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : Si votre module a besoin de gérer des données qui lui sont propres&lt;br /&gt;
&lt;br /&gt;
===Créer vos fichiers .sql===&lt;br /&gt;
Si votre module a vocation à gérer des données bien à lui, qui n&#039;existent pas en base dans la version standard de Dolibarr, il est nécessaire de définir des tables SQL pour stocker ces données.&lt;br /&gt;
&lt;br /&gt;
Créer un sous-répertoire &#039;&#039;&#039;sql&#039;&#039;&#039; dans le répertoire de votre module (&#039;&#039;&#039;monmodule/sql&#039;&#039;&#039;) afin d&#039;y placer les scripts sql que vous allez créer (Avec ModuleBuilder cette étape sera réalisée automatiquement suite à la création d&#039;un nouvel Objet depuis l&#039;onglet Objet).&lt;br /&gt;
&lt;br /&gt;
Ensuite, vérifiez dans votre fichier descripteur de module, dans la fonction &#039;&#039;&#039;init&#039;&#039;&#039; que la ligne&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight ce lang=&amp;quot;php&amp;quot;&amp;gt;$this-&amp;gt;_load_tables(&#039;/mymodule/sql/&#039;);&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
n&#039;est pas commentée.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Règles à respecter:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Ajoutez les fichiers d&#039;ordre de création de vos tables sur le principe de 1 fichier par table, nommé &#039;&#039;&#039;llx_matable.sql&#039;&#039;&#039; (pour la table), accompagné éventuellement du fichier &#039;&#039;&#039;llx_matable.key.sql&#039;&#039;&#039; (pour les index ou clé étrangères). Voir les exemples dans les fichiers existants dans &#039;&#039;&#039;install/mysql/tables&#039;&#039;&#039; pour exemple.&lt;br /&gt;
*Les types et noms recommandés pour les champs SQL sont définis sur la page [[https://wiki.dolibarr.org/index.php/Langages_et_normes#R.C3.A8gles_de_codage_SQL]].&lt;br /&gt;
*Pour ce qui est des commandes permettant d&#039;ajouter/manipuler des données, elles doivent toutes se trouver dans un fichier nommé &#039;&#039;&#039;data.sql&#039;&#039;&#039; situé dans le même répertoire &#039;&#039;&#039;/monmodule/sql/&#039;&#039;&#039;.&lt;br /&gt;
*N&#039;utilisez pas &amp;quot;chaine&amp;quot; mais &#039;chaine&#039; car les guillemets doubles (&amp;quot;) ont une signification particulière en PostGreSQL&lt;br /&gt;
&lt;br /&gt;
Exemple de contenu de fichier data.sql&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
 delete from llx_const where name=&#039;MONMODULE_IT_WORKS&#039; and entity=&#039;__ENTITY__&#039;;&lt;br /&gt;
 insert into llx_const (name, value, type, note, visible, entity) values (&#039;MONMODULE_IT_WORKS&#039;,&#039;1&#039;,&#039;chaine&#039;,&#039;A constant for my module&#039;,1,&#039;__ENTITY__&#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les ordres SQL des fichiers doivent être opérationnels pour la base de données &#039;&#039;&#039;mysql&#039;&#039;&#039;.&lt;br /&gt;
Rem: Les fichiers des autres types de bases ne sont pas à maintenir. Ils sont lus et convertis à la volée par le driver de la base de données.&lt;br /&gt;
&lt;br /&gt;
===Tester vos fichiers .sql===&lt;br /&gt;
&lt;br /&gt;
Une fois les fichiers prêts, vous pouvez retourner dans l&#039;écran de gestion des modules de Dolibarr puis désactiver le module, dropper les tables en base (si elles existent déjà) et réactiver le module.&lt;br /&gt;
Les tables doivent alors être recréées par l&#039;activation du module.&lt;br /&gt;
Si tel n&#039;est pas le cas, vérifiez vos scripts en les passant à la main, ou consultez les logs Dolibarr.&lt;br /&gt;
&lt;br /&gt;
===Générer la classe PHP DAO d&#039;accès aux tables===&lt;br /&gt;
&lt;br /&gt;
Le fichier de classe DAO PHP d&#039;un object est généré automatiquement avec ModuleBuilder lors de la création d&#039;un Object.&lt;br /&gt;
&lt;br /&gt;
À défaut d&#039;utiliser le générateur de module, vous trouverez des exemples dans le squelette de module, fichier &#039;&#039;&#039;htdocs/modulebuilder/templates/class/myobject.class.php&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dans cette classe, se trouvent des méthodes CRUD (Create/Read/Update/Delete) déjà opérationnelles pour faire un insert, un fetch (select), un update, un delete d&#039;une ligne de la table. Éditer le fichier pour utiliser le bon nom de module, de tables et placer ce fichier dans le sous-répertoire de &#039;&#039;&#039;class&#039;&#039;&#039; du module. Le Module Builder permet de faire cela en quelques clics de souris.&lt;br /&gt;
&lt;br /&gt;
==Affichage des onglets (optionnel)==&lt;br /&gt;
&lt;br /&gt;
===Ajouter ou supprimer des onglets sur les fiches objets===&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : Pour ajouter votre propre onglet parmi les onglets d&#039;un object standard (facture, commande, proposition commercial, adhérent...)&lt;br /&gt;
&lt;br /&gt;
Pour cela, allez dans le fichier descripteur de module précédemment créé et modifiez le tableau $this-&amp;gt;tabs:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
	// Array to add new pages in new tabs or remove existing one&lt;br /&gt;
	$this-&amp;gt;tabs = array(&#039;objecttype:+tabname1:Title1:mylangfile@monmodule:$user-&amp;gt;rights-&amp;gt;monmodule-&amp;gt;read:/monmodule/mapagetab1.php?id=__ID__&#039;    // To add a new tab identified by code tabname1&lt;br /&gt;
                            &#039;objecttype:+tabname2:Title2:mylangfile@monmodule:$user-&amp;gt;rights-&amp;gt;monmodule-&amp;gt;read:/monmodule/mapagetab2.php?id=__ID__&#039;,   // To add a new tab identified by code tabname2&lt;br /&gt;
                            &#039;objecttype:-tabname&#039;);                                                     // To remove an existing tab identified by code tabname&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le tableau doit contenir une liste de chaîne, chaque chaîne représentant un nouvel onglet.&lt;br /&gt;
Le format de la chaîne étant composé de 6 parties séparées par &amp;quot;:&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Partie 1 : le type d&#039;élément (objecttype) dans lequel doit apparaître l&#039;onglet qui est une valeur parmi celle-ci:&lt;br /&gt;
{{TemplateModuleTabs-fr}}&lt;br /&gt;
&lt;br /&gt;
*Partie 2 : nom de code pour l&#039;onglet à ajouter (commence par +) ou à enlever (commence par -)&lt;br /&gt;
*Partie 3 : le titre de l&#039;onglet. Cela peut être un libellé en dur ou mieux un code traduction présent dans un fichier lang.&lt;br /&gt;
*Partie 4 : le nom du fichier .lang (sans l&#039;extension .lang) qui contient la correspondance entre le code traduction et le libellé à afficher. Si ce com est suivi de @monmodule, Dolibarr cherche le fichier dans le répertoire lang propre au module, c&#039;est à dire htdocs/monmodule/langs/code_CODE/monmodule.lang, sinon Dolibarr cherche le fichier traduction dans htdocs/langs/code_CODE/mylangfile.lang&lt;br /&gt;
*Partie 5 : une condition à tester pour savoir si l&#039;onglet doit être visible ou pas. Mettre &#039;1&#039; pour qu&#039;il soit toujours visible.&lt;br /&gt;
*Partie 6 : l&#039;url de la page à afficher quand on clique sur l&#039;onglet. La chaine __ID__ sera remplacée automatiquement par l&#039;Id de l&#039;entité concernée.&lt;br /&gt;
&lt;br /&gt;
Pour que la déclaration soit effective, il faut désactiver et réactiver le module.&lt;br /&gt;
&lt;br /&gt;
Pour alimenter le contenu de l&#039;onglet avec des données issues de la base, voir le chapitre suivant.&lt;br /&gt;
&lt;br /&gt;
===Ajouter les onglets standard d&#039;un objet sur sa propre page d&#039;onglet===&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : Pour afficher les onglets existant d&#039;un objet standard (produit, tiers, etc.) sur votre nouvelle page onglet.&lt;br /&gt;
&lt;br /&gt;
Il faut appliquer la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Inclure les fichiers définissant les fonctions utiles dans vos fichiers&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pour chaque fiche entité, il y a deux fichiers à inclure avec l&#039;instruction&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;require_once($url_fichier) ;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples de fichiers à inclure (DOL_DOCUMENT_ROOT correspond au dossier dolibarr/htdocs/) :&lt;br /&gt;
&lt;br /&gt;
*Entité tiers (thirdparty) :&lt;br /&gt;
**DOL_DOCUMENT_ROOT/societe/class/societe.class.php&lt;br /&gt;
**DOL_DOCUMENT_ROOT/core/lib/company.lib.php&lt;br /&gt;
*Entité produit (product) :&lt;br /&gt;
**DOL_DOCUMENT_ROOT/product/class/product.class.php&lt;br /&gt;
**DOL_DOCUMENT_ROOT/core/lib/product.lib.php&lt;br /&gt;
*Entité facture (invoice) :&lt;br /&gt;
**DOL_DOCUMENT_ROOT/compta/facture/facture.class.php&lt;br /&gt;
**DOL_DOCUMENT_ROOT/core/lib/invoice.lib.php&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Créer et charger l&#039;objet à afficher dans votre onglet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Créez l&#039;objet de la classe voulue, et récupérez les données de l&#039;objet à partir de la base de données. Pour cela il faut utiliser les fonctions fetch() de la classe correspondante, en passant en paramètre l&#039;identifiant de l&#039;objet que vous récupérez depuis l&#039;url (ex : /mononglet.php?id=1).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Exemple :&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$id=GETPOST(&#039;id&#039;,&#039;int&#039;);&lt;br /&gt;
$ref=GETPOST(&#039;ref&#039;,&#039;alpha&#039;);&lt;br /&gt;
$product = new Product($db) ;&lt;br /&gt;
$result = $product-&amp;gt;fetch($id, $ref) ; //Tester $result pour vérifier que l&#039;accès à la base s&#039;est bien passée&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. Récupérer la liste des onglets correspondant à l&#039;entité choisie&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Utilisez la fonction XXX_prepare_head($obj), ou XXX est le nom de l&#039;entité, permettant de créer un tableau contenant les définitions des onglets à afficher. Le paramètre à passer est l&#039;objet pour lequel vous voulez afficher les onglets.&lt;br /&gt;
&lt;br /&gt;
Le tableau retourné est composé de la façon suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$head        // Tableau des onglets&lt;br /&gt;
$head[$h]    // Élément décrivant un onglet. Il y aura autant de $h que d&#039;onglets à afficher&lt;br /&gt;
$head[$h][0] // Url de la page affichée quand on clique sur l&#039;onglet&lt;br /&gt;
$head[$h][1] // Titre de l’onglet&lt;br /&gt;
$head[$h][2] // Code de l&#039;onglet, à utiliser pour choisir quel onglet sera &#039;actif&#039; (voir paragraphe suivant)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Exemple :&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$head = product_prepare_head($product, $user) ; //le paramètre $user n&#039;est pas présent sur certaines fonctions&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4. Afficher les onglets sur votre page onglet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Utilisez la fonction dol_fiche_head() qui affiche les onglets contenus dans le tableau $head retourné par XX_prepare_head().&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
dol_fiche_head($links, $active=&#039;0&#039;, $title=&#039;&#039;, $notab=0, $picto=&#039;&#039;)&lt;br /&gt;
//$links  // Tableau des onglets, appelé $head plus haut.&lt;br /&gt;
//$active // Onglet actif (mettre le nom de l&#039;onglet défini dans votre fichier de module, ou un nom contenu dans $head[$h][2]). Cet onglet sera mis en surbrillance&lt;br /&gt;
//$title  // ?&lt;br /&gt;
//$notab  // Mettre ce paramètre à 1 permet de ne pas afficher de zone bleue en dessous des onglets.&lt;br /&gt;
//$picto  // Nom de l&#039;image à utiliser au début de la barre des onglet. Les choix suivant sont possibles :&lt;br /&gt;
//            product&lt;br /&gt;
//            service&lt;br /&gt;
//            company&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette fonction affiche les onglets voulus et ouvre un élément &#039;&#039;&amp;lt; div class=&amp;quot;&amp;quot; &amp;gt;&#039;&#039; qui correspond à la zone bleue sous les onglets (si paramètre $notab = 0). Pour fermer la zone bleue, il suffit de fermer l&#039;élément &#039;&#039;&amp;lt; /div &amp;gt;&#039;&#039; dans le code PHP.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Remarque&#039;&#039; :&lt;br /&gt;
Pour plus de détail, se référer à la [http://www.dolibarr.fr/doxygen/ documentation Doxygen] ou directement au code de Dolibarr.&lt;br /&gt;
&lt;br /&gt;
==Créer vos pages écran PHP (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : Si l&#039;objet de votre module est d&#039;ajouter des fonctionnalités qui nécessitent de nouveaux écrans.&lt;br /&gt;
&lt;br /&gt;
===Créer une page écran PHP brute===&lt;br /&gt;
Vous pouvez ensuite créer vos pages PHP, qui se basent sur les données de vos tables, en utilisant les squelettes fournis comme exemple dans le répertoire &#039;&#039;&#039;modulebuilder&#039;&#039;&#039; (Pour le développement d&#039;un script en ligne de commande, voir [[Développement de scripts]]). La encore, si vous avez utilisez ModuleBuilder, des cas de pages (liste, page de création, onglet notes, etc...) auront été créés automatiquement lors de l&#039;initialisation de l&#039;objet.&lt;br /&gt;
&lt;br /&gt;
Pour créer une nouvelle page écran utilisateur, créez un sous-répertoire de &#039;&#039;&#039;htdocs&#039;&#039;&#039; (si non déjà fait) propre à votre module (Dans &#039;&#039;&#039;htdocs/monmodule&#039;&#039;&#039; par exemple) afin d&#039;y placer les pages que vous allez créer.&lt;br /&gt;
&lt;br /&gt;
Y recopier le fichier &#039;&#039;&#039;myobject_page.php&#039;&#039;&#039; qui va servir de point de départ.&lt;br /&gt;
Modifiez le fichier afin que le main.inc.php soit trouvé&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
// Load Dolibarr environment&lt;br /&gt;
$res=0;&lt;br /&gt;
// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined)&lt;br /&gt;
if (! $res &amp;amp;&amp;amp; ! empty($_SERVER[&amp;quot;CONTEXT_DOCUMENT_ROOT&amp;quot;])) $res=@include($_SERVER[&amp;quot;CONTEXT_DOCUMENT_ROOT&amp;quot;].&amp;quot;/main.inc.php&amp;quot;);&lt;br /&gt;
// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME&lt;br /&gt;
$tmp=empty($_SERVER[&#039;SCRIPT_FILENAME&#039;])?&#039;&#039;:$_SERVER[&#039;SCRIPT_FILENAME&#039;];$tmp2=realpath(__FILE__); $i=strlen($tmp)-1; $j=strlen($tmp2)-1;&lt;br /&gt;
while($i &amp;gt; 0 &amp;amp;&amp;amp; $j &amp;gt; 0 &amp;amp;&amp;amp; isset($tmp[$i]) &amp;amp;&amp;amp; isset($tmp2[$j]) &amp;amp;&amp;amp; $tmp[$i]==$tmp2[$j]) { $i--; $j--; }&lt;br /&gt;
if (! $res &amp;amp;&amp;amp; $i &amp;gt; 0 &amp;amp;&amp;amp; file_exists(substr($tmp, 0, ($i+1)).&amp;quot;/main.inc.php&amp;quot;)) $res=@include(substr($tmp, 0, ($i+1)).&amp;quot;/main.inc.php&amp;quot;);&lt;br /&gt;
if (! $res &amp;amp;&amp;amp; $i &amp;gt; 0 &amp;amp;&amp;amp; file_exists(dirname(substr($tmp, 0, ($i+1))).&amp;quot;/main.inc.php&amp;quot;)) $res=@include(dirname(substr($tmp, 0, ($i+1))).&amp;quot;/main.inc.php&amp;quot;);&lt;br /&gt;
// Try main.inc.php using relative path&lt;br /&gt;
if (! $res &amp;amp;&amp;amp; file_exists(&amp;quot;../main.inc.php&amp;quot;)) $res=@include(&amp;quot;../main.inc.php&amp;quot;);&lt;br /&gt;
if (! $res &amp;amp;&amp;amp; file_exists(&amp;quot;../../main.inc.php&amp;quot;)) $res=@include(&amp;quot;../../main.inc.php&amp;quot;);&lt;br /&gt;
if (! $res &amp;amp;&amp;amp; file_exists(&amp;quot;../../../main.inc.php&amp;quot;)) $res=@include(&amp;quot;../../../main.inc.php&amp;quot;);&lt;br /&gt;
if (! $res) die(&amp;quot;Include of main fails&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Comme vous pouvez le constater, plusieurs tentatives de chargement du fichier main.inc.php (ou master.inc.php) ont été tentées. Le but est de réussir dans le plus grand nombre de cas possibles. Le minimum est de 2 lignes: une pour essayer de charger le fichier master / main.inc.php dans le répertoire racine de dolibarr et une autre pour essayer de charger le fichier afin de prendre en charge le cas où le module est déployé dans le répertoire &amp;quot;custom&amp;quot;. Mais vous pouvez avoir à gérer plus de situations. L&#039;exemple fourni devrait pouvoir charger le fichier main / master.inc.php dans presque toutes les situations / configurations.&lt;br /&gt;
&lt;br /&gt;
Notez que vous pouvez ajouter plus &amp;quot;../&amp;quot; en fonction de la profondeur du fichier par rapport à l&#039;arborescence de votre module.&lt;br /&gt;
&lt;br /&gt;
C&#039;est dans le main qu&#039;est chargé l&#039;environnement technique ainsi que les habilitations. Les variables objets suivantes sont alors positionnées:&lt;br /&gt;
&lt;br /&gt;
*$user    L&#039;objet qui contient les caractéristiques de l&#039;utilisateur + ses droits.&lt;br /&gt;
*$conf    L&#039;objet qui contient la configuration de Dolibarr.&lt;br /&gt;
*$db      L&#039;objet qui contient le handler de connexion à la base de données.&lt;br /&gt;
*$langs   L&#039;objet qui contient la langue de l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
*L&#039;inclusion d&#039;une classe ou librairie dédiée au module, sans savoir d&#039;où le fichier sera appelé, se fait en utilisant une fonction de Dolibarr (et non en utilisant directement le include_once)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Exemple :&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
dol_include_once(&#039;/monmodule/class/maclasse.class.php&#039;, &#039;MaClasse&#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*L&#039;appel des classes fournies en standard avec Dolibarr se fera par contre par le require_once directe avec la syntaxe suivante:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Exemple :&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
require_once DOL_DOCUMENT_ROOT.&#039;/core/class/doli.class.php&#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
La raison est que si le dol_include_once est pratique car il scanne chaque répertoire de chemin alternatif pour trouver le fichier, il est aussi moins performant car génère des accès et recherches disque à chaque appel (en effet, PHP intègre un cache des fichiers lus mais n&#039;intègre pas un cache des fichiers &amp;quot;non trouvés&amp;quot;. Et comme un fichier donné n&#039;est que dans une seule arborescence, il y a toujours une arborescence alternative où il ne se trouve pas et qui génère des accès superflus au disque dur, pénalisant en terme de performance. Comme pour les fichiers internes à Dolibarr, on connait toujours le chemin exacte, le require_once avec ce chemin direct doit être préféré).&lt;br /&gt;
&lt;br /&gt;
===Accès à la base===&lt;br /&gt;
Si vous avez besoin de réaliser des modifications en base dans votre propre table ajoutée, utilisez la classe générée plus haut qui contient les méthodes pour cela.&lt;br /&gt;
&lt;br /&gt;
Si toutefois vous voulez faire des accès dans des tables sans objet PHP dédié, ceci reste possible (par exemple pour récupérer une liste d&#039;enregistrement). Dans ce cas, pensez à suivre ces exemples:&lt;br /&gt;
&lt;br /&gt;
Pour un insert, update ou delete :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$db-&amp;gt;begin();   // Debut transaction&lt;br /&gt;
$db-&amp;gt;query(&amp;quot;Ma requete insert, update ou delete&amp;quot;);&lt;br /&gt;
$db-&amp;gt;commit();       // Valide&lt;br /&gt;
ou $db-&amp;gt;rollback()  // Annule&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour une lecture :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$resql=$db-&amp;gt;query(&amp;quot;Ma requete select&amp;quot;);&lt;br /&gt;
if ($resql)&lt;br /&gt;
{&lt;br /&gt;
	$num = $db-&amp;gt;num_rows($resql);&lt;br /&gt;
	$i = 0;&lt;br /&gt;
	if ($num)&lt;br /&gt;
	{&lt;br /&gt;
		while ($i &amp;lt; $num)&lt;br /&gt;
		{&lt;br /&gt;
			$obj = $db-&amp;gt;fetch_object($resql);&lt;br /&gt;
			if ($obj)&lt;br /&gt;
			{&lt;br /&gt;
				// You can use here results&lt;br /&gt;
				print $obj-&amp;gt;field1;&lt;br /&gt;
				print $obj-&amp;gt;field2;&lt;br /&gt;
			}&lt;br /&gt;
			$i++;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Définition du style===&lt;br /&gt;
Pour que le look de la page soit aligné avec le thème Dolibarr, il est nécessaire d&#039;utiliser les styles des CSS de Dolibarr.&lt;br /&gt;
&lt;br /&gt;
Par exemple :&lt;br /&gt;
&lt;br /&gt;
*class=&amp;quot;&#039;&#039;&#039;liste_titre&#039;&#039;&#039;&amp;quot; sur les balises &#039;&#039;tr&#039;&#039; et &#039;&#039;td&#039;&#039; pour une ligne de titre de tableau.&lt;br /&gt;
*class=&amp;quot;&#039;&#039;&#039;pair&#039;&#039;&#039;&amp;quot; ou class=&amp;quot;&#039;&#039;&#039;impair&#039;&#039;&#039;&amp;quot; sur les balises &#039;&#039;tr&#039;&#039; et &#039;&#039;td&#039;&#039; des lignes de données de tableau.&lt;br /&gt;
*class=&amp;quot;&#039;&#039;&#039;flat&#039;&#039;&#039;&amp;quot; sur tous les champs de saisie (&#039;&#039;input, select, textarea&#039;&#039;...).&lt;br /&gt;
*class=&amp;quot;&#039;&#039;&#039;button&#039;&#039;&#039;&amp;quot; sur les objets de type &#039;&#039;input type=&amp;quot;submit&amp;quot;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Utilisez le sélecteur de date de Dolibarr===&lt;br /&gt;
Si vous le désirez, vous pouvez profiter du sélecteur de date dans des écrans Dolibarr. Pour cela, utilisez la ligne suivante:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$form=new Form($db);&lt;br /&gt;
$form-&amp;gt;select_date(&#039;&#039;,&#039;mykey&#039;,0,0,0,&amp;quot;myform&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
La chaîne mykey identifie la zone date. Il faut y mettre une valeur différente s&#039;il y a plusieurs zones.&lt;br /&gt;
La chaine myform est le nom de la zone FORM (dans form name=&amp;quot;myform&amp;quot; de la page HTML).&lt;br /&gt;
L&#039;affichage d&#039;un sélecteur de date doit donc être intégré dans une zone FORM Html.&lt;br /&gt;
&lt;br /&gt;
Pour récupérer la valeur, à l&#039;issu du POST, la commande est:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$mydate = dol_mktime(12, 0 , 0, GETPOST(&#039;mykeymonth&#039;, &#039;int&#039;), GETPOST(&#039;mykeyday&#039;, &#039;int&#039;), GETPOST(&#039;mykeyyear&#039;, &#039;int&#039;));&lt;br /&gt;
print strftime(&#039;%A %d %B %Y&#039;, $mydate);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Définir votre page de configuration (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : si votre module offre plusieurs options paramétrables.&lt;br /&gt;
&lt;br /&gt;
===Créez votre page d&#039;édition de configuration===&lt;br /&gt;
Si votre module offre plusieurs options paramétrables, il est nécessaire de créer une page PHP pour éditer les options (qui sont stockées dans la [[Table llx_const|table &#039;&#039;&#039;llx_const&#039;&#039;&#039;]]).&lt;br /&gt;
Créez une page PHP nommée &#039;&#039;&#039;monmodule_setupapage.php&#039;&#039;&#039; qui affiche les options possibles et les met à jour.&lt;br /&gt;
Il est nécessaire de prendre exemple sur une page dans &#039;&#039;&#039;/admin&#039;&#039;&#039; qui vous montre la méthode pour lire ou sauvegarder en base votre option.&lt;br /&gt;
Placez cette page de configuration dans le répertoire &#039;&#039;&#039;/admin&#039;&#039;&#039; également.&lt;br /&gt;
Ensuite dans le descripteur de module, modifiez la variable pour indiquer le nom de cette page PHP (sans le chemin qui n&#039;est pas nécessaire, la page étant forcément dans le rep admin).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;config_page_url = array(&amp;quot;setup.php@mymodule&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Testez votre page===&lt;br /&gt;
Allez sur la page &#039;&#039;&#039;Configuration-&amp;gt;module&#039;&#039;&#039;, vous devez voir apparaître une icône qui permet d&#039;accéder à la page de configuration et vous devez être capable de modifier ces options et les voir conservées en base.&lt;br /&gt;
&lt;br /&gt;
==Définir vos entrées de menu (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : si vous avez créé des pages PHP, il est nécessaire que ces écrans soient accessibles depuis le menu Dolibarr.&lt;br /&gt;
&lt;br /&gt;
===Définissez vos entrées menus===&lt;br /&gt;
Pour cela, il vous faut définir dans le fichier descripteur de module, le tableau this-&amp;gt;menu qui déclare les menus.&lt;br /&gt;
Ce tableau contient toutes les entrées qui apparaîtront dans les menus une fois le module activé.&lt;br /&gt;
Le fichier de descripteur de module exemple &#039;&#039;&#039;modMonModule.class.php&#039;&#039;&#039; possède un exemple de déclaration de menu haut ainsi que de ses entrées menu gauche associées.&lt;br /&gt;
&lt;br /&gt;
Voici un exemple de déclaration d&#039;entrées de menu dans le fichier descripteur:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
// Main menu entries&lt;br /&gt;
$this-&amp;gt;menu = array();			// List of menus to add&lt;br /&gt;
$r=0;&lt;br /&gt;
&lt;br /&gt;
// Add here entries to declare new menus&lt;br /&gt;
// Example to declare the Top Menu entry:&lt;br /&gt;
$this-&amp;gt;menu[$r]=array(	&#039;fk_menu&#039;=&amp;gt;0,			// Put 0 if this is a top menu&lt;br /&gt;
			&#039;type&#039;=&amp;gt;&#039;top&#039;,			// This is a Top menu entry&lt;br /&gt;
			&#039;titre&#039;=&amp;gt;&#039;MonModule top menu&#039;,&lt;br /&gt;
			&#039;mainmenu&#039;=&amp;gt;&#039;monmodule&#039;,&lt;br /&gt;
			&#039;leftmenu&#039;=&amp;gt;&#039;monmodule&#039;,&lt;br /&gt;
			&#039;url&#039;=&amp;gt;&#039;/monmodule/pagetop.php&#039;,&lt;br /&gt;
			&#039;langs&#039;=&amp;gt;&#039;mylangfile&#039;,	// Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.&lt;br /&gt;
			&#039;position&#039;=&amp;gt;100,&lt;br /&gt;
			&#039;enabled&#039;=&amp;gt;&#039;1&#039;,			// Define condition to show or hide menu entry. Use &#039;$conf-&amp;gt;monmodule-&amp;gt;enabled&#039; if entry must be visible if module is enabled.&lt;br /&gt;
			&#039;perms&#039;=&amp;gt;&#039;1&#039;,			// Use &#039;perms&#039;=&amp;gt;&#039;$user-&amp;gt;rights-&amp;gt;monmodule-&amp;gt;level1-&amp;gt;level2&#039; if you want your menu with a permission rules&lt;br /&gt;
			&#039;target&#039;=&amp;gt;&#039;&#039;,&lt;br /&gt;
			&#039;user&#039;=&amp;gt;2);				// 0=Menu for internal users, 1=external users, 2=both&lt;br /&gt;
$r++;&lt;br /&gt;
&lt;br /&gt;
// Example to declare a Left Menu entry:&lt;br /&gt;
$this-&amp;gt;menu[$r]=array(	&#039;fk_menu&#039;=&amp;gt;&#039;fk_mainmenu=xxx&#039;,	// Use &#039;fk_mainmenu=xxx&#039; or &#039;fk_mainmenu=xxx,fk_leftmenu=yyy&#039; where xxx is mainmenucode and yyy is a leftmenucode of parent menu&lt;br /&gt;
			&#039;type&#039;=&amp;gt;&#039;left&#039;,			// This is a Left menu entry&lt;br /&gt;
			&#039;titre&#039;=&amp;gt;&#039;MonModule left menu 1&#039;,&lt;br /&gt;
			&#039;mainmenu&#039;=&amp;gt;&#039;xxx&#039;,&lt;br /&gt;
                        &#039;leftmenu&#039;=&amp;gt;&#039;yyy&#039;,&lt;br /&gt;
			&#039;url&#039;=&amp;gt;&#039;/monmodule/pagelevel1.php&#039;,&lt;br /&gt;
			&#039;langs&#039;=&amp;gt;&#039;mylangfile&#039;,	// Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.&lt;br /&gt;
			&#039;position&#039;=&amp;gt;100,&lt;br /&gt;
			&#039;enabled&#039;=&amp;gt;&#039;1&#039;,			// Define condition to show or hide menu entry. Use &#039;$conf-&amp;gt;monmodule-&amp;gt;enabled&#039; if entry must be visible if module is enabled.&lt;br /&gt;
			&#039;perms&#039;=&amp;gt;&#039;1&#039;,			// Use &#039;perms&#039;=&amp;gt;&#039;$user-&amp;gt;rights-&amp;gt;monmodule-&amp;gt;level1-&amp;gt;level2&#039; if you want your menu with a permission rules&lt;br /&gt;
			&#039;target&#039;=&amp;gt;&#039;&#039;,&lt;br /&gt;
			&#039;user&#039;=&amp;gt;2);				// 0=Menu for internal users,1=external users, 2=both&lt;br /&gt;
$r++;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour conditionner l&#039;accès au menu selon des permission, modifier la propriété &#039;&#039;&#039;perms&#039;&#039;&#039; du tableau. Voir le chapitre sur les permissions un peu plus loin pour savoir comment ajouter des permissions.&lt;br /&gt;
&lt;br /&gt;
===Testez vos entrées menus===&lt;br /&gt;
Désactiver et réactiver votre module sous Dolibarr, les entrées menus doivent alors apparaître (si la condition dans &#039;enabled&#039; est vraie).&lt;br /&gt;
&lt;br /&gt;
==Définir vos propres permissions (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : Si vous voulez ajouter de nouvelles permissions.&lt;br /&gt;
&lt;br /&gt;
La définition des permissions que gérera votre module se fait dans le fichier descripteur créé dans la première étape.&lt;br /&gt;
Modifier la ligne &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;rights_class = &#039;monmodule&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour y mettre la bonne valeur de monmodule.&lt;br /&gt;
&lt;br /&gt;
Ensuite remplissez le tableau $this-&amp;gt;rights avec autant d&#039;entrées que de permissions différentes à gérer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;rights[$r][0] = 10001;&lt;br /&gt;
$this-&amp;gt;rights[$r][1] = &#039;Libelle par défaut de ma permission&#039;;&lt;br /&gt;
$this-&amp;gt;rights[$r][3] = 1;&lt;br /&gt;
$this-&amp;gt;rights[$r][4] = &#039;action&#039;;&lt;br /&gt;
$this-&amp;gt;rights[$r][5] = &#039;sousaction&#039;;&lt;br /&gt;
$r++;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans $this-&amp;gt;rights[$r][0], mettre un id de permission non déjà pris (Voir dans le menu &#039;&#039;&#039;Infos Système&#039;&#039;&#039; sur une installation de Dolibarr opérationnelle pour connaître les id déjà utilisés.&lt;br /&gt;
Dans $this-&amp;gt;rights[$r][3], mettre 1 si cette permission est attribué d&#039;office par défaut quand un utilisateur est créé.&lt;br /&gt;
Dans $this-&amp;gt;rights[$r][1], mettre un libellé par défaut (il sera affiché si aucune traduction n&#039;est trouvé pour votre permission dans le fichier &#039;&#039;&#039;admin.lang&#039;&#039;&#039;. La clé de traduction dit être &amp;quot;Permission10001=Description de ma super permission&#039;&#039;&#039;&amp;quot;&#039;&#039;&#039;).&lt;br /&gt;
Dans $this-&amp;gt;rights[$r][4] et $this-&amp;gt;rights[$r][5], mettre une chaîne action et sous action sans espace. Vous pourrez alors tester dans le code PHP si un utilisateurs a bien les droits par la séquence suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
if ($user-&amp;gt;rights-&amp;gt;monmodule-&amp;gt;action-&amp;gt;sousaction) ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Définir vos propres box/widgets (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : si votre module amène avec lui une ou plusieurs Boxes.&lt;br /&gt;
&lt;br /&gt;
===Définissez vos box===&lt;br /&gt;
Pour cela, modifiez les tableaux $this-&amp;gt;boxes du fichier descripteur de module.&lt;br /&gt;
Il suffit d&#039;ajouter 2 lignes par fichier box que vous allez créer dans le répertoire &#039;&#039;&#039;htdocs/monmodule/core/boxes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Exemple :&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;boxes[0][&#039;file&#039;]=&#039;mabox0.php@monmodule&#039;&lt;br /&gt;
$this-&amp;gt;boxes[0][&#039;note&#039;]=&#039;Ma box 0&#039;&lt;br /&gt;
 ...&lt;br /&gt;
$this-&amp;gt;boxes[n][&#039;file&#039;]=&#039;maboxn.php@monmodule&#039;&lt;br /&gt;
$this-&amp;gt;boxes[n][&#039;note&#039;]=&#039;Ma box n&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créez les fichiers &#039;&#039;&#039;htdocs/monmodule/core/boxes/mabox0.php&#039;&#039;&#039;, &#039;&#039;&#039;htdocs/monmodule/core/boxes/maboxn.php&#039;&#039;&#039;... en prenant exemple sur des box existantes (exemple dans le répertoire &#039;&#039;&#039;htdocs/core/boxes&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===Testez la présence de vos box dans Dolibarr===&lt;br /&gt;
Désactivez et réactivez le module.&lt;br /&gt;
&lt;br /&gt;
Allez dans le menu &#039;&#039;&#039;Accueil - Configuration - Widgets&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Vos box doivent apparaître dans la liste des box activables. Activez les puis allez sur la page d&#039;accueil et vérifiez qu&#039;elles s&#039;affichent correctement.&lt;br /&gt;
&lt;br /&gt;
==Définir vos propres exports (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : si votre module amène avec lui des exports prédéfinis de données (pour ces propres tables ou des tables déjà existantes d&#039;un autre module de Dolibarr).&lt;br /&gt;
&lt;br /&gt;
===Définissez l&#039;export===&lt;br /&gt;
Pour cela, décommentez et modifiez les tableaux $this-&amp;gt;export_xxx du votre fichier descripteur de module.&lt;br /&gt;
&lt;br /&gt;
===Testez votre export===&lt;br /&gt;
Allez dans le menu outils -&amp;gt; export de Dolibarr. Votre export doit apparaitre dans la liste des exports prédéfinis disponibles (si votre module est bien activé).&lt;br /&gt;
Le choisir, vous devez alors voir les champs possibles définis dans le tableau à l&#039;étape précédente.&lt;br /&gt;
Choissez quelques champs et tentez une génération du fichier export.&lt;br /&gt;
&lt;br /&gt;
==Définir vos styles CSS (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : lorsque dans vos écrans PHP, vous utiliser des classes de styles qui ne sont pas celle des thèmes de Dolibarr (non recommandé).&lt;br /&gt;
&lt;br /&gt;
Cette fonctionnalité est décrite mais pas encore opérationnel en 2.4&lt;br /&gt;
&lt;br /&gt;
===Créez et déclarez votre feuille de style===&lt;br /&gt;
Créez un fichier de style css nommé &#039;&#039;&#039;monmodule.css&#039;&#039;&#039; ou &#039;&#039;&#039;monmodule.css.php&#039;&#039;&#039; et placez le dans le répertoire &#039;&#039;&#039;&#039;&#039;monmodule&#039;&#039;&#039;&#039;&#039; dans &#039;&#039;&#039;htdocs&#039;&#039;&#039;. Il ne peut y avoir qu&#039;un fichier css propre à chaque module.&lt;br /&gt;
Rappelons qu&#039;il vaut mieux utiliser les styles déjà existant de Dolibarr (le fichier css utilisé par Dolibarr étant le fichier &#039;&#039;&#039;themes/nomtheme/&#039;&#039;nomtheme&#039;&#039;.css.php&#039;&#039;&#039;). Ne créez un fichier css propre à votre module que si vous devez absolument gérer des styles non déjà existants.&lt;br /&gt;
Une fois votre feuille de style prête, déclarez la dans votre fichier descripteur de module en modifiant la propriété &#039;&#039;&#039;$this-&amp;gt;module_parts&#039;&#039;&#039;.&lt;br /&gt;
La valeur à renseigner ici doit être le chemin relatif de l&#039;URL de votre fichier css.&lt;br /&gt;
Par exemple&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;module_parts = array(&#039;css&#039; =&amp;gt; array(&#039;/monmodule/css/monmodule.css.php&#039;));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Testez votre feuille de style===&lt;br /&gt;
Désactivez et réactivez votre module.&lt;br /&gt;
&lt;br /&gt;
Appelez la page d&#039;accueil de Dolibarr. Affichez la source de la page HTML.&lt;br /&gt;
&lt;br /&gt;
Vous devriez voir dans l&#039;entête HTML, une ligne déclarant votre feuille de style.&lt;br /&gt;
&lt;br /&gt;
==Définir vos fonctions Javascript (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : lorsque dans vos écrans PHP, vous utiliser des fonctions javascript non dispo en standard (fichier lib_head.js)&lt;br /&gt;
&lt;br /&gt;
Si dans vos écrans PHP, vous utilisez des fonctions javascript, il est nécessaire de faire en sorte que vos fonctions déclarées dans un fichier javascript &#039;&#039;&#039;htdocs/monmodule/js/monmodule.js&#039;&#039;&#039; soit chargées dans l&#039;entête head html.&lt;br /&gt;
Pour demander à Dolibarr qui gère la génération de la section header d&#039;inclure un de vos fichiers javascript, il est nécessaire de fournir en paramètre de la fonction llxHeader() appelée au début de votre page, d&#039;inclure le paramètre qui contient l&#039;URL vers le js à inclure.&lt;br /&gt;
&lt;br /&gt;
Exemple pour la page /htdocs/monmodule/mapage.php :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
require(&#039;../main.inc.php&#039;);&lt;br /&gt;
$morejs=array(&amp;quot;/monmodule/js/monmodule.js&amp;quot;);&lt;br /&gt;
llxHeader(&#039;&#039;,&#039;Titre&#039;,&#039;&#039;,&#039;&#039;,&#039;&#039;,&#039;&#039;,$morejs,&#039;&#039;,0,0); &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Déclencher du code sur un évènement Dolibarr (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : lorsque vous voulez que des actions particulières s&#039;exécutent suite au déclenchement d&#039;actions standards de Dolibarr (exemple : je veux mettre à jour une table de mon module quand une facture se crée dans Dolibarr), il vous faut créer un fichier de &#039;&#039;&#039;triggers&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Voir aussi [[Interfaces_Dolibarr_vers_exterieur|Interfaces de Dolibarr vers l&#039;exterieur]]&lt;br /&gt;
et [[Interfaces_Exterieur_vers_Dolibarr|Interfaces exterieures vers Dolibarr]]&lt;br /&gt;
&lt;br /&gt;
==Insérer votre code aux emplacement hooks de Dolibarr (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : lorsque vous voulez modifier ou ajouter du code autrement que lors d&#039;un événement métier (voir le chapitre précédent pour cela).&lt;br /&gt;
&lt;br /&gt;
Voir la page [[Système de Hooks]].&lt;br /&gt;
&lt;br /&gt;
==Ajouter un module de numérotation (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : lorsque vous voulez ajouter une règle de numérotation non couverte par les modules par défaut.&lt;br /&gt;
&lt;br /&gt;
Voir la page [[Créer un module de numérotation]].&lt;br /&gt;
&lt;br /&gt;
==Ajouter un nouveau modèle de document (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : lorsque vous voulez ajouter un nouveau modèle de document.&lt;br /&gt;
&lt;br /&gt;
La documentation au sujet de la génération de documents depuis des modèles est disponible sur la page [[Créer un modèle de document PDF]] ou [[Créer un modèle de document ODT]].&lt;br /&gt;
&lt;br /&gt;
==Ajouter une nouvelle police de caractère (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : lorsque vous voulez utiliser une police particulière.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez ajouter une police de caractère directement depuis votre module lors de son activation. Dans la fonction init() :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
// Fonts deployment if not already done&lt;br /&gt;
$pathfontsto = DOL_DOCUMENT_ROOT . &#039;/includes/tecnickcom/tcpdf/fonts/&#039;;&lt;br /&gt;
$pathfontsfrom = dol_buildpath(&#039;yourmodulename&#039;, 0) . &#039;/fonts/&#039;;&lt;br /&gt;
&lt;br /&gt;
// Font copy&lt;br /&gt;
if (!file_exists($pathfontsto . &#039;yourfont.php&#039;)) {&lt;br /&gt;
  $test = dol_copy($pathfontsfrom . &#039;yourfont.php&#039;, $pathfontsto . &#039;yourfont.php&#039;, 0, 0, 0, 1);&lt;br /&gt;
}&lt;br /&gt;
if (!file_exists($pathfontsto . &#039;yourfont.z&#039;)) {&lt;br /&gt;
  $test = dol_copy($pathfontsfrom . &#039;yourfont.z&#039;, $pathfontsto . &#039;yourfont.z&#039;, 0, 0, 0, 1);&lt;br /&gt;
}&lt;br /&gt;
if (!file_exists($pathfontsto . &#039;yourfont.ctg.z&#039;)) {&lt;br /&gt;
  $test = dol_copy($pathfontsfrom . &#039;yourfont.ctg.z&#039;, $pathfontsto . &#039;yourfont.ctg.z&#039;, 0, 0, 0, 1);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les fichiers nécessaires peuvent être générés à partir d&#039;un fichier .ttf sur [https://fonts.palettize.me/][https://fonts.palettize.me/] par exemple, et sont dans cette exemple stockées dans le dossier `votremodule/fonts`.&lt;br /&gt;
&lt;br /&gt;
==Ajouter un thème (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039;: Lorsque vous voulez une interface aux couleurs personnalisées à votre cas.&lt;br /&gt;
&lt;br /&gt;
Voir la page [[Themes]].&lt;br /&gt;
&lt;br /&gt;
==Ajouter un bouton (optionnel)==&lt;br /&gt;
Si vous souhaitez ajouter des boutons à vos enregistrements.&lt;br /&gt;
&lt;br /&gt;
Voir la page [[Création de boutons]].&lt;br /&gt;
&lt;br /&gt;
=[[File:Art.png]] Quelques règles de codage et fonctions pour développeurs=&lt;br /&gt;
Les règles de codage à suivre sont définis dans la [[Documentation Développeur|Documentation développeur]], rubrique &amp;quot;Informations Générales - Langage et normes de développement&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
De nombreuses fonctions prédéfinies pour les développeurs sont disponibles et décrites sur la page [[Documentation Développeur|Documentation développeur]] sous la section &amp;quot;Les couches techniques de Dolibarr&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=[[File:Art.png]] Créer un package pour livrer et installer votre module=&lt;br /&gt;
Cette procédure doit être utilisée pour fabriquer un package afin de le soumettre sur la place de marché http://www.dolistore.com.&lt;br /&gt;
Mais vous pouvez aussi l&#039;utiliser pour distribuer facillement votre module via votre propre réseau de distribution.&lt;br /&gt;
&lt;br /&gt;
*Allez dans le répertoire &#039;&#039;&#039;/build&#039;&#039;&#039; et recopiez le fichier &#039;&#039;&#039;makepack-dolibarrmodules.conf&#039;&#039;&#039; en &#039;&#039;&#039;makepack-monmodule.conf&#039;&#039;&#039;. Attention, ce répertoire peut ne pas être fourni dans les packages de versions stables. Si c&#039;est le cas, il peut être récupéré dans le snapshot disponible en téléchargement sur le site web Dolibarr dans la rubrique Version de développement (prenez dans ce cas tout le répertoire build qui est un répertoire autonome et indépendant de la version).&lt;br /&gt;
&lt;br /&gt;
Saisissez dans ce fichier la liste des noms des nouveaux fichiers que vous avez créé pour votre module (descripteur de module, nouveaux fichiers sql de tables, page php, images, etc...)&lt;br /&gt;
&lt;br /&gt;
*Lancer le script via Perl (besoin de la version Perl 5.0 ou +):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
perl makepack-dolibarrmodule.pl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Le script vous demande le nom de votre module, sa version majeure et mineure.&lt;br /&gt;
Un fichier &#039;&#039;&#039;monmodule.zip&#039;&#039;&#039; va alors être fabriqué contenant votre module prêt pour être déployé.&lt;br /&gt;
&lt;br /&gt;
*La personne qui reçoit votre module doit alors placer le fichier dans son répertoire racine d&#039;installation de Dolibarr et réaliser la commande :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
tar -xvf monmodule.zip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Si vous désirez que votre module profite à tous, vous pouvez le soumettre (le fichier zip) sur la place de marché des modules complémentaires: {{LinkToPluginDownload}} (vous devez avoir créé un compte auparavant et utiliser le lien &amp;quot;Soumettre un module/produit&amp;quot;).&lt;br /&gt;
**Si votre module a été fabriqué correctement, le fichier sera validé rapidement.&lt;br /&gt;
**Si la qualité est suffisante, que la licence le permet et que la fonctionnalité du module s&#039;avère être d&#039;un intérêt général, le code pourra être ajouté au code source de Dolibarr (sauf si vous ne le désirez pas).&lt;br /&gt;
&lt;br /&gt;
Il également possible récupérer votre module au format .zip en ayant activé la variable [[Fichier de configuration|$dolibarr_allow_download_external_modules à 1 dans le fichier conf.php]]. &lt;br /&gt;
&lt;br /&gt;
=[[File:Art.png]] Dépôt et validation du module externe sur Dolistore=&lt;br /&gt;
&lt;br /&gt;
Voir [[Module_Dolistore_Validation_Regles|Règles de Validation]]&lt;/div&gt;</summary>
		<author><name>Bfaliere</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=D%C3%A9veloppement_module&amp;diff=64260</id>
		<title>Développement module</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=D%C3%A9veloppement_module&amp;diff=64260"/>
		<updated>2025-09-24T12:42:19Z</updated>

		<summary type="html">&lt;p&gt;Bfaliere: Ajout du code pour ajouter des polices à Dolibarr&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Do NOT edit this section&lt;br /&gt;
     Links below are automatically managed by PolyglotBot&lt;br /&gt;
     You can edit links on the English source page : Module_development --&amp;gt;&lt;br /&gt;
[[en:Module_development]]&lt;br /&gt;
[[es:Desarrollo_de_un_módulo]]&lt;br /&gt;
[[de:Modul_Entwicklung]]&lt;br /&gt;
[[zh:模块开发]]&lt;br /&gt;
[[ja:モジュール_開発]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Noyau]]&lt;br /&gt;
{{TemplateDocDev}}&lt;br /&gt;
Pour créer un nouveau module, il existe plusieurs étapes. Ce didacticiel a pour but de vous décrire chacune d&#039;elles afin d&#039;ajouter un module permettant d&#039;étendre les possibilités de Dolibarr, comme par exemple ajouter une ou plusieurs des fonctionnalités suivantes:&lt;br /&gt;
&lt;br /&gt;
*Ajouter de nouvelles tables en base.&lt;br /&gt;
*Ajouter vos propres entrées dans les menus.&lt;br /&gt;
*Ajouter des objets et des écrans de saisie/consultation de nouvelle tables.&lt;br /&gt;
*Ajouter ou supprimer des onglets sur les pages de vues/édition des objets (facture, produit, commande, événement, ...)&lt;br /&gt;
*Ajouter des exports prédéfinis pour la fonction export.&lt;br /&gt;
*Ajouter de nouvelles boites/widgets pour la home page.&lt;br /&gt;
*Ajouter des variables de substitution.&lt;br /&gt;
*Définir de nouvelles permissions.&lt;br /&gt;
*Déclencher du code automatiquement sur une action Dolibarr particulière.&lt;br /&gt;
*Insérer votre code aux emplacements hooks de Dolibarr&lt;br /&gt;
*Ajouter un modèle de numérotation de la référence des objets créés.&lt;br /&gt;
*Ajouter un modèle de document PDF.&lt;br /&gt;
*Ajouter un nouveau thème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Les chapitres suivants vous présentent comment réaliser tout cela en manuel de manière simple.&lt;br /&gt;
&lt;br /&gt;
=[[File:Art.png]] Création de Module avec le générateur de module=&lt;br /&gt;
Depuis Dolibarr 9.0 il est possible de créer les fichiers principaux de votre module avec le &amp;quot;Générateur de module&amp;quot; (aussi appelé &amp;quot;Module Builder&amp;quot;). Pour l&#039;activer :&lt;br /&gt;
&lt;br /&gt;
*Activez le module &amp;quot;Générateur de Module&amp;quot; (ou &amp;quot;Module builder&amp;quot;) dans la section &amp;quot;Outils multi-modules&amp;quot; de Configuration &amp;gt; Modules/Applications&lt;br /&gt;
&lt;br /&gt;
[[File:Mod_builder_2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
*Puis cliquez sur l’icône &amp;quot;bug&amp;quot; qui est apparue dans la barre de menu en haut à droite&lt;br /&gt;
&lt;br /&gt;
[[File:Mod_builder_3.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=[[File:Art.png]] Exemple de modèle de module externe=&lt;br /&gt;
Un bon modèle/squelette de module externe Dolibarr est disponible ici : [https://github.com/Dolibarr/dolibarr/tree/develop/htdocs/modulebuilder/template GitHub Dolibarr Module Modèle]&lt;br /&gt;
&lt;br /&gt;
Vous trouverez aussi un exemple de réalisation de module via un cas pratique : la création d&#039;un module afin de créer un calendrier des commandes fournisseurs : [[Exemple de cas pratique de Module Builder]]&lt;br /&gt;
&lt;br /&gt;
=[[File:Art.png]] Créer un module=&lt;br /&gt;
Les sous chapitres suivant décrivent les actions à faire pour créer un module Dolibarr. Les premiers chapitres sont obligatoires quelle que soit la vocation du module, les suivants dépendront de ce que doit faire le module.&lt;br /&gt;
&lt;br /&gt;
==Créer un descripteur de Module (obligatoire)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : Obligatoire dès qu&#039;une extension est développée, quelle que soit sa vocation.&lt;br /&gt;
&#039;&#039;&#039;Depuis Dolibarr 9.0, il est possible de créer le descripteur de votre module avec le &amp;quot;Générateur de module&amp;quot;&#039;&#039;&#039;. Cet outil est encore encours de développement et de maturité mais peut d&#039;ores et déjà être utilisé.&lt;br /&gt;
&lt;br /&gt;
===Créer votre descripteur avec le générateur de module===&lt;br /&gt;
&lt;br /&gt;
*Lancez le générateur de module en cliquant sur l’icône &amp;quot;bug&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Mod_builder_3.png|400px]]&lt;br /&gt;
&lt;br /&gt;
*Entrez le nom de votre module sans espaces (le nom de votre module NE DOIT PAS CONTENIR le caractère underscore ou tiret bas : _) et cliquez sur Créer.&lt;br /&gt;
&lt;br /&gt;
[[File:Mod_builder_4.png|400px]]&lt;br /&gt;
&lt;br /&gt;
*Un module avec ses premiers fichiers a été initialisé. Vous pouvez alors modifier les paramètres du descripteur du module :&lt;br /&gt;
&lt;br /&gt;
[[File:Mod_builder_5.png|400px]]&lt;br /&gt;
&lt;br /&gt;
===Alternative : créer votre descripteur manuellement (sans utiliser le générateur de module)===&lt;br /&gt;
La première étape est donc de créer un fichier de description du module (descripteur). Pour cela:&lt;br /&gt;
&lt;br /&gt;
*Créez le répertoire &#039;&#039;&#039;/htdocs/&#039;&#039;monmodule&#039;&#039;/core/modules&#039;&#039;&#039;. Puis, allez dans le répertoire &#039;&#039;&#039;dev/skeletons&#039;&#039;&#039; et recopiez le fichier modMyModule.class.php dans ce répertoire &#039;&#039;&#039;htdocs/&#039;&#039;monmodule&#039;&#039;/core/modules&#039;&#039;&#039;.&lt;br /&gt;
*Renommez le fichier mod&#039;&#039;&#039;MyModule&#039;&#039;&#039;.class.php en modifiant seulement la partie &#039;&#039;&#039;MyModule&#039;&#039;&#039; (le fichier doit commencer par mod)&lt;br /&gt;
&lt;br /&gt;
Ensuite, modifiez le contenu de ce fichier afin de remplacer :&lt;br /&gt;
&lt;br /&gt;
*les &#039;&#039;modMyModule&#039;&#039; en une valeur qui corresponde à la vocation de votre module. Cette valeur doit toujours commencer par &#039;&amp;lt;nowiki/&amp;gt;&#039;&#039;&#039;mod&#039;&#039;&#039;&#039; et ne contenir que des &#039;&#039;&#039;caractères alphabétiques&#039;&#039;&#039;.&lt;br /&gt;
*$this-&amp;gt;numero = &#039;&#039;100000&#039;&#039; par un numéro de module libre. Pour éviter tout conflit, vous pouvez consulter la page suivante pour retrouver les numéros déjà alloués ou un réserver un libre : [[List of modules id|Liste des id de modules]].&lt;br /&gt;
*Modifier éventuellement les autres variables définies dans le constructeurs (Voir le commentaire dans le code du squelette pour leur signification).&lt;br /&gt;
&lt;br /&gt;
Le descripteur de votre module est alors en place.&lt;br /&gt;
&lt;br /&gt;
===Tester votre descripteur===&lt;br /&gt;
&lt;br /&gt;
Lancez Dolibarr et allez sur la page &#039;&#039;&#039;Configuration-&amp;gt;module&#039;&#039;&#039;, vous devez voir apparaître une nouvelle ligne avec votre nouveau module et la possibilité de l&#039;activer ou non (parcourez tous les onglets de chaque catégories de modules jusqu&#039;à le retrouver).&lt;br /&gt;
C&#039;est la valeur de $this-&amp;gt;special qui détermine dans quel onglet se trouve votre module.&lt;br /&gt;
&lt;br /&gt;
===Nom de module===&lt;br /&gt;
&lt;br /&gt;
Le nom de votre module NE DOIT PAS CONTENIR le caractère underscore ou tiret bas : _&lt;br /&gt;
&lt;br /&gt;
==Arborescence d&#039;un nouveau module==&lt;br /&gt;
Voici l&#039;arborescence à respecter pour l&#039;organisation des fichiers d&#039;un module (cette arborescence sera celle prise d&#039;office si vous générer les fichiers à l&#039;aide de ModuleBuilder).&lt;br /&gt;
&lt;br /&gt;
{{TemplateModuleTreeSimple}}&lt;br /&gt;
&lt;br /&gt;
Un bon modèle/squelette de module externe Dolibarr est disponible ici : [https://github.com/Dolibarr/dolibarr/tree/develop/htdocs/modulebuilder/template GitHub Dolibarr Module Modèle]&lt;br /&gt;
&lt;br /&gt;
==Créer vos tables SQL et les classes PHP DAO (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : Si votre module a besoin de gérer des données qui lui sont propres&lt;br /&gt;
&lt;br /&gt;
===Créer vos fichiers .sql===&lt;br /&gt;
Si votre module a vocation à gérer des données bien à lui, qui n&#039;existent pas en base dans la version standard de Dolibarr, il est nécessaire de définir des tables SQL pour stocker ces données.&lt;br /&gt;
&lt;br /&gt;
Créer un sous-répertoire &#039;&#039;&#039;sql&#039;&#039;&#039; dans le répertoire de votre module (&#039;&#039;&#039;monmodule/sql&#039;&#039;&#039;) afin d&#039;y placer les scripts sql que vous allez créer (Avec ModuleBuilder cette étape sera réalisée automatiquement suite à la création d&#039;un nouvel Objet depuis l&#039;onglet Objet).&lt;br /&gt;
&lt;br /&gt;
Ensuite, vérifiez dans votre fichier descripteur de module, dans la fonction &#039;&#039;&#039;init&#039;&#039;&#039; que la ligne&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight ce lang=&amp;quot;php&amp;quot;&amp;gt;$this-&amp;gt;_load_tables(&#039;/mymodule/sql/&#039;);&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
n&#039;est pas commentée.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Règles à respecter:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Ajoutez les fichiers d&#039;ordre de création de vos tables sur le principe de 1 fichier par table, nommé &#039;&#039;&#039;llx_matable.sql&#039;&#039;&#039; (pour la table), accompagné éventuellement du fichier &#039;&#039;&#039;llx_matable.key.sql&#039;&#039;&#039; (pour les index ou clé étrangères). Voir les exemples dans les fichiers existants dans &#039;&#039;&#039;install/mysql/tables&#039;&#039;&#039; pour exemple.&lt;br /&gt;
*Les types et noms recommandés pour les champs SQL sont définis sur la page [[https://wiki.dolibarr.org/index.php/Langages_et_normes#R.C3.A8gles_de_codage_SQL]].&lt;br /&gt;
*Pour ce qui est des commandes permettant d&#039;ajouter/manipuler des données, elles doivent toutes se trouver dans un fichier nommé &#039;&#039;&#039;data.sql&#039;&#039;&#039; situé dans le même répertoire &#039;&#039;&#039;/monmodule/sql/&#039;&#039;&#039;.&lt;br /&gt;
*N&#039;utilisez pas &amp;quot;chaine&amp;quot; mais &#039;chaine&#039; car les guillemets doubles (&amp;quot;) ont une signification particulière en PostGreSQL&lt;br /&gt;
&lt;br /&gt;
Exemple de contenu de fichier data.sql&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
 delete from llx_const where name=&#039;MONMODULE_IT_WORKS&#039; and entity=&#039;__ENTITY__&#039;;&lt;br /&gt;
 insert into llx_const (name, value, type, note, visible, entity) values (&#039;MONMODULE_IT_WORKS&#039;,&#039;1&#039;,&#039;chaine&#039;,&#039;A constant for my module&#039;,1,&#039;__ENTITY__&#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les ordres SQL des fichiers doivent être opérationnels pour la base de données &#039;&#039;&#039;mysql&#039;&#039;&#039;.&lt;br /&gt;
Rem: Les fichiers des autres types de bases ne sont pas à maintenir. Ils sont lus et convertis à la volée par le driver de la base de données.&lt;br /&gt;
&lt;br /&gt;
===Tester vos fichiers .sql===&lt;br /&gt;
&lt;br /&gt;
Une fois les fichiers prêts, vous pouvez retourner dans l&#039;écran de gestion des modules de Dolibarr puis désactiver le module, dropper les tables en base (si elles existent déjà) et réactiver le module.&lt;br /&gt;
Les tables doivent alors être recréées par l&#039;activation du module.&lt;br /&gt;
Si tel n&#039;est pas le cas, vérifiez vos scripts en les passant à la main, ou consultez les logs Dolibarr.&lt;br /&gt;
&lt;br /&gt;
===Générer la classe PHP DAO d&#039;accès aux tables===&lt;br /&gt;
&lt;br /&gt;
Le fichier de classe DAO PHP d&#039;un object est généré automatiquement avec ModuleBuilder lors de la création d&#039;un Object.&lt;br /&gt;
&lt;br /&gt;
À défaut d&#039;utiliser le générateur de module, vous trouverez des exemples dans le squelette de module, fichier &#039;&#039;&#039;htdocs/modulebuilder/templates/class/myobject.class.php&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dans cette classe, se trouvent des méthodes CRUD (Create/Read/Update/Delete) déjà opérationnelles pour faire un insert, un fetch (select), un update, un delete d&#039;une ligne de la table. Éditer le fichier pour utiliser le bon nom de module, de tables et placer ce fichier dans le sous-répertoire de &#039;&#039;&#039;class&#039;&#039;&#039; du module. Le Module Builder permet de faire cela en quelques clics de souris.&lt;br /&gt;
&lt;br /&gt;
==Affichage des onglets (optionnel)==&lt;br /&gt;
&lt;br /&gt;
===Ajouter ou supprimer des onglets sur les fiches objets===&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : Pour ajouter votre propre onglet parmi les onglets d&#039;un object standard (facture, commande, proposition commercial, adhérent...)&lt;br /&gt;
&lt;br /&gt;
Pour cela, allez dans le fichier descripteur de module précédemment créé et modifiez le tableau $this-&amp;gt;tabs:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
	// Array to add new pages in new tabs or remove existing one&lt;br /&gt;
	$this-&amp;gt;tabs = array(&#039;objecttype:+tabname1:Title1:mylangfile@monmodule:$user-&amp;gt;rights-&amp;gt;monmodule-&amp;gt;read:/monmodule/mapagetab1.php?id=__ID__&#039;    // To add a new tab identified by code tabname1&lt;br /&gt;
                            &#039;objecttype:+tabname2:Title2:mylangfile@monmodule:$user-&amp;gt;rights-&amp;gt;monmodule-&amp;gt;read:/monmodule/mapagetab2.php?id=__ID__&#039;,   // To add a new tab identified by code tabname2&lt;br /&gt;
                            &#039;objecttype:-tabname&#039;);                                                     // To remove an existing tab identified by code tabname&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le tableau doit contenir une liste de chaîne, chaque chaîne représentant un nouvel onglet.&lt;br /&gt;
Le format de la chaîne étant composé de 6 parties séparées par &amp;quot;:&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Partie 1 : le type d&#039;élément (objecttype) dans lequel doit apparaître l&#039;onglet qui est une valeur parmi celle-ci:&lt;br /&gt;
{{TemplateModuleTabs-fr}}&lt;br /&gt;
&lt;br /&gt;
*Partie 2 : nom de code pour l&#039;onglet à ajouter (commence par +) ou à enlever (commence par -)&lt;br /&gt;
*Partie 3 : le titre de l&#039;onglet. Cela peut être un libellé en dur ou mieux un code traduction présent dans un fichier lang.&lt;br /&gt;
*Partie 4 : le nom du fichier .lang (sans l&#039;extension .lang) qui contient la correspondance entre le code traduction et le libellé à afficher. Si ce com est suivi de @monmodule, Dolibarr cherche le fichier dans le répertoire lang propre au module, c&#039;est à dire htdocs/monmodule/langs/code_CODE/monmodule.lang, sinon Dolibarr cherche le fichier traduction dans htdocs/langs/code_CODE/mylangfile.lang&lt;br /&gt;
*Partie 5 : une condition à tester pour savoir si l&#039;onglet doit être visible ou pas. Mettre &#039;1&#039; pour qu&#039;il soit toujours visible.&lt;br /&gt;
*Partie 6 : l&#039;url de la page à afficher quand on clique sur l&#039;onglet. La chaine __ID__ sera remplacée automatiquement par l&#039;Id de l&#039;entité concernée.&lt;br /&gt;
&lt;br /&gt;
Pour que la déclaration soit effective, il faut désactiver et réactiver le module.&lt;br /&gt;
&lt;br /&gt;
Pour alimenter le contenu de l&#039;onglet avec des données issues de la base, voir le chapitre suivant.&lt;br /&gt;
&lt;br /&gt;
===Ajouter les onglets standard d&#039;un objet sur sa propre page d&#039;onglet===&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : Pour afficher les onglets existant d&#039;un objet standard (produit, tiers, etc.) sur votre nouvelle page onglet.&lt;br /&gt;
&lt;br /&gt;
Il faut appliquer la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Inclure les fichiers définissant les fonctions utiles dans vos fichiers&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pour chaque fiche entité, il y a deux fichiers à inclure avec l&#039;instruction&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;require_once($url_fichier) ;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples de fichiers à inclure (DOL_DOCUMENT_ROOT correspond au dossier dolibarr/htdocs/) :&lt;br /&gt;
&lt;br /&gt;
*Entité tiers (thirdparty) :&lt;br /&gt;
**DOL_DOCUMENT_ROOT/societe/class/societe.class.php&lt;br /&gt;
**DOL_DOCUMENT_ROOT/core/lib/company.lib.php&lt;br /&gt;
*Entité produit (product) :&lt;br /&gt;
**DOL_DOCUMENT_ROOT/product/class/product.class.php&lt;br /&gt;
**DOL_DOCUMENT_ROOT/core/lib/product.lib.php&lt;br /&gt;
*Entité facture (invoice) :&lt;br /&gt;
**DOL_DOCUMENT_ROOT/compta/facture/facture.class.php&lt;br /&gt;
**DOL_DOCUMENT_ROOT/core/lib/invoice.lib.php&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Créer et charger l&#039;objet à afficher dans votre onglet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Créez l&#039;objet de la classe voulue, et récupérez les données de l&#039;objet à partir de la base de données. Pour cela il faut utiliser les fonctions fetch() de la classe correspondante, en passant en paramètre l&#039;identifiant de l&#039;objet que vous récupérez depuis l&#039;url (ex : /mononglet.php?id=1).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Exemple :&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$id=GETPOST(&#039;id&#039;,&#039;int&#039;);&lt;br /&gt;
$ref=GETPOST(&#039;ref&#039;,&#039;alpha&#039;);&lt;br /&gt;
$product = new Product($db) ;&lt;br /&gt;
$result = $product-&amp;gt;fetch($id, $ref) ; //Tester $result pour vérifier que l&#039;accès à la base s&#039;est bien passée&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. Récupérer la liste des onglets correspondant à l&#039;entité choisie&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Utilisez la fonction XXX_prepare_head($obj), ou XXX est le nom de l&#039;entité, permettant de créer un tableau contenant les définitions des onglets à afficher. Le paramètre à passer est l&#039;objet pour lequel vous voulez afficher les onglets.&lt;br /&gt;
&lt;br /&gt;
Le tableau retourné est composé de la façon suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$head        // Tableau des onglets&lt;br /&gt;
$head[$h]    // Élément décrivant un onglet. Il y aura autant de $h que d&#039;onglets à afficher&lt;br /&gt;
$head[$h][0] // Url de la page affichée quand on clique sur l&#039;onglet&lt;br /&gt;
$head[$h][1] // Titre de l’onglet&lt;br /&gt;
$head[$h][2] // Code de l&#039;onglet, à utiliser pour choisir quel onglet sera &#039;actif&#039; (voir paragraphe suivant)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Exemple :&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$head = product_prepare_head($product, $user) ; //le paramètre $user n&#039;est pas présent sur certaines fonctions&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4. Afficher les onglets sur votre page onglet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Utilisez la fonction dol_fiche_head() qui affiche les onglets contenus dans le tableau $head retourné par XX_prepare_head().&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
dol_fiche_head($links, $active=&#039;0&#039;, $title=&#039;&#039;, $notab=0, $picto=&#039;&#039;)&lt;br /&gt;
//$links  // Tableau des onglets, appelé $head plus haut.&lt;br /&gt;
//$active // Onglet actif (mettre le nom de l&#039;onglet défini dans votre fichier de module, ou un nom contenu dans $head[$h][2]). Cet onglet sera mis en surbrillance&lt;br /&gt;
//$title  // ?&lt;br /&gt;
//$notab  // Mettre ce paramètre à 1 permet de ne pas afficher de zone bleue en dessous des onglets.&lt;br /&gt;
//$picto  // Nom de l&#039;image à utiliser au début de la barre des onglet. Les choix suivant sont possibles :&lt;br /&gt;
//            product&lt;br /&gt;
//            service&lt;br /&gt;
//            company&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette fonction affiche les onglets voulus et ouvre un élément &#039;&#039;&amp;lt; div class=&amp;quot;&amp;quot; &amp;gt;&#039;&#039; qui correspond à la zone bleue sous les onglets (si paramètre $notab = 0). Pour fermer la zone bleue, il suffit de fermer l&#039;élément &#039;&#039;&amp;lt; /div &amp;gt;&#039;&#039; dans le code PHP.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Remarque&#039;&#039; :&lt;br /&gt;
Pour plus de détail, se référer à la [http://www.dolibarr.fr/doxygen/ documentation Doxygen] ou directement au code de Dolibarr.&lt;br /&gt;
&lt;br /&gt;
==Créer vos pages écran PHP (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : Si l&#039;objet de votre module est d&#039;ajouter des fonctionnalités qui nécessitent de nouveaux écrans.&lt;br /&gt;
&lt;br /&gt;
===Créer une page écran PHP brute===&lt;br /&gt;
Vous pouvez ensuite créer vos pages PHP, qui se basent sur les données de vos tables, en utilisant les squelettes fournis comme exemple dans le répertoire &#039;&#039;&#039;modulebuilder&#039;&#039;&#039; (Pour le développement d&#039;un script en ligne de commande, voir [[Développement de scripts]]). La encore, si vous avez utilisez ModuleBuilder, des cas de pages (liste, page de création, onglet notes, etc...) auront été créés automatiquement lors de l&#039;initialisation de l&#039;objet.&lt;br /&gt;
&lt;br /&gt;
Pour créer une nouvelle page écran utilisateur, créez un sous-répertoire de &#039;&#039;&#039;htdocs&#039;&#039;&#039; (si non déjà fait) propre à votre module (Dans &#039;&#039;&#039;htdocs/monmodule&#039;&#039;&#039; par exemple) afin d&#039;y placer les pages que vous allez créer.&lt;br /&gt;
&lt;br /&gt;
Y recopier le fichier &#039;&#039;&#039;myobject_page.php&#039;&#039;&#039; qui va servir de point de départ.&lt;br /&gt;
Modifiez le fichier afin que le main.inc.php soit trouvé&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
// Load Dolibarr environment&lt;br /&gt;
$res=0;&lt;br /&gt;
// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined)&lt;br /&gt;
if (! $res &amp;amp;&amp;amp; ! empty($_SERVER[&amp;quot;CONTEXT_DOCUMENT_ROOT&amp;quot;])) $res=@include($_SERVER[&amp;quot;CONTEXT_DOCUMENT_ROOT&amp;quot;].&amp;quot;/main.inc.php&amp;quot;);&lt;br /&gt;
// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME&lt;br /&gt;
$tmp=empty($_SERVER[&#039;SCRIPT_FILENAME&#039;])?&#039;&#039;:$_SERVER[&#039;SCRIPT_FILENAME&#039;];$tmp2=realpath(__FILE__); $i=strlen($tmp)-1; $j=strlen($tmp2)-1;&lt;br /&gt;
while($i &amp;gt; 0 &amp;amp;&amp;amp; $j &amp;gt; 0 &amp;amp;&amp;amp; isset($tmp[$i]) &amp;amp;&amp;amp; isset($tmp2[$j]) &amp;amp;&amp;amp; $tmp[$i]==$tmp2[$j]) { $i--; $j--; }&lt;br /&gt;
if (! $res &amp;amp;&amp;amp; $i &amp;gt; 0 &amp;amp;&amp;amp; file_exists(substr($tmp, 0, ($i+1)).&amp;quot;/main.inc.php&amp;quot;)) $res=@include(substr($tmp, 0, ($i+1)).&amp;quot;/main.inc.php&amp;quot;);&lt;br /&gt;
if (! $res &amp;amp;&amp;amp; $i &amp;gt; 0 &amp;amp;&amp;amp; file_exists(dirname(substr($tmp, 0, ($i+1))).&amp;quot;/main.inc.php&amp;quot;)) $res=@include(dirname(substr($tmp, 0, ($i+1))).&amp;quot;/main.inc.php&amp;quot;);&lt;br /&gt;
// Try main.inc.php using relative path&lt;br /&gt;
if (! $res &amp;amp;&amp;amp; file_exists(&amp;quot;../main.inc.php&amp;quot;)) $res=@include(&amp;quot;../main.inc.php&amp;quot;);&lt;br /&gt;
if (! $res &amp;amp;&amp;amp; file_exists(&amp;quot;../../main.inc.php&amp;quot;)) $res=@include(&amp;quot;../../main.inc.php&amp;quot;);&lt;br /&gt;
if (! $res &amp;amp;&amp;amp; file_exists(&amp;quot;../../../main.inc.php&amp;quot;)) $res=@include(&amp;quot;../../../main.inc.php&amp;quot;);&lt;br /&gt;
if (! $res) die(&amp;quot;Include of main fails&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Comme vous pouvez le constater, plusieurs tentatives de chargement du fichier main.inc.php (ou master.inc.php) ont été tentées. Le but est de réussir dans le plus grand nombre de cas possibles. Le minimum est de 2 lignes: une pour essayer de charger le fichier master / main.inc.php dans le répertoire racine de dolibarr et une autre pour essayer de charger le fichier afin de prendre en charge le cas où le module est déployé dans le répertoire &amp;quot;custom&amp;quot;. Mais vous pouvez avoir à gérer plus de situations. L&#039;exemple fourni devrait pouvoir charger le fichier main / master.inc.php dans presque toutes les situations / configurations.&lt;br /&gt;
&lt;br /&gt;
Notez que vous pouvez ajouter plus &amp;quot;../&amp;quot; en fonction de la profondeur du fichier par rapport à l&#039;arborescence de votre module.&lt;br /&gt;
&lt;br /&gt;
C&#039;est dans le main qu&#039;est chargé l&#039;environnement technique ainsi que les habilitations. Les variables objets suivantes sont alors positionnées:&lt;br /&gt;
&lt;br /&gt;
*$user    L&#039;objet qui contient les caractéristiques de l&#039;utilisateur + ses droits.&lt;br /&gt;
*$conf    L&#039;objet qui contient la configuration de Dolibarr.&lt;br /&gt;
*$db      L&#039;objet qui contient le handler de connexion à la base de données.&lt;br /&gt;
*$langs   L&#039;objet qui contient la langue de l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
*L&#039;inclusion d&#039;une classe ou librairie dédiée au module, sans savoir d&#039;où le fichier sera appelé, se fait en utilisant une fonction de Dolibarr (et non en utilisant directement le include_once)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Exemple :&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
dol_include_once(&#039;/monmodule/class/maclasse.class.php&#039;, &#039;MaClasse&#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*L&#039;appel des classes fournies en standard avec Dolibarr se fera par contre par le require_once directe avec la syntaxe suivante:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Exemple :&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
require_once DOL_DOCUMENT_ROOT.&#039;/core/class/doli.class.php&#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
La raison est que si le dol_include_once est pratique car il scanne chaque répertoire de chemin alternatif pour trouver le fichier, il est aussi moins performant car génère des accès et recherches disque à chaque appel (en effet, PHP intègre un cache des fichiers lus mais n&#039;intègre pas un cache des fichiers &amp;quot;non trouvés&amp;quot;. Et comme un fichier donné n&#039;est que dans une seule arborescence, il y a toujours une arborescence alternative où il ne se trouve pas et qui génère des accès superflus au disque dur, pénalisant en terme de performance. Comme pour les fichiers internes à Dolibarr, on connait toujours le chemin exacte, le require_once avec ce chemin direct doit être préféré).&lt;br /&gt;
&lt;br /&gt;
===Accès à la base===&lt;br /&gt;
Si vous avez besoin de réaliser des modifications en base dans votre propre table ajoutée, utilisez la classe générée plus haut qui contient les méthodes pour cela.&lt;br /&gt;
&lt;br /&gt;
Si toutefois vous voulez faire des accès dans des tables sans objet PHP dédié, ceci reste possible (par exemple pour récupérer une liste d&#039;enregistrement). Dans ce cas, pensez à suivre ces exemples:&lt;br /&gt;
&lt;br /&gt;
Pour un insert, update ou delete :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$db-&amp;gt;begin();   // Debut transaction&lt;br /&gt;
$db-&amp;gt;query(&amp;quot;Ma requete insert, update ou delete&amp;quot;);&lt;br /&gt;
$db-&amp;gt;commit();       // Valide&lt;br /&gt;
ou $db-&amp;gt;rollback()  // Annule&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour une lecture :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$resql=$db-&amp;gt;query(&amp;quot;Ma requete select&amp;quot;);&lt;br /&gt;
if ($resql)&lt;br /&gt;
{&lt;br /&gt;
	$num = $db-&amp;gt;num_rows($resql);&lt;br /&gt;
	$i = 0;&lt;br /&gt;
	if ($num)&lt;br /&gt;
	{&lt;br /&gt;
		while ($i &amp;lt; $num)&lt;br /&gt;
		{&lt;br /&gt;
			$obj = $db-&amp;gt;fetch_object($resql);&lt;br /&gt;
			if ($obj)&lt;br /&gt;
			{&lt;br /&gt;
				// You can use here results&lt;br /&gt;
				print $obj-&amp;gt;field1;&lt;br /&gt;
				print $obj-&amp;gt;field2;&lt;br /&gt;
			}&lt;br /&gt;
			$i++;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Définition du style===&lt;br /&gt;
Pour que le look de la page soit aligné avec le thème Dolibarr, il est nécessaire d&#039;utiliser les styles des CSS de Dolibarr.&lt;br /&gt;
&lt;br /&gt;
Par exemple :&lt;br /&gt;
&lt;br /&gt;
*class=&amp;quot;&#039;&#039;&#039;liste_titre&#039;&#039;&#039;&amp;quot; sur les balises &#039;&#039;tr&#039;&#039; et &#039;&#039;td&#039;&#039; pour une ligne de titre de tableau.&lt;br /&gt;
*class=&amp;quot;&#039;&#039;&#039;pair&#039;&#039;&#039;&amp;quot; ou class=&amp;quot;&#039;&#039;&#039;impair&#039;&#039;&#039;&amp;quot; sur les balises &#039;&#039;tr&#039;&#039; et &#039;&#039;td&#039;&#039; des lignes de données de tableau.&lt;br /&gt;
*class=&amp;quot;&#039;&#039;&#039;flat&#039;&#039;&#039;&amp;quot; sur tous les champs de saisie (&#039;&#039;input, select, textarea&#039;&#039;...).&lt;br /&gt;
*class=&amp;quot;&#039;&#039;&#039;button&#039;&#039;&#039;&amp;quot; sur les objets de type &#039;&#039;input type=&amp;quot;submit&amp;quot;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Utilisez le sélecteur de date de Dolibarr===&lt;br /&gt;
Si vous le désirez, vous pouvez profiter du sélecteur de date dans des écrans Dolibarr. Pour cela, utilisez la ligne suivante:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$form=new Form($db);&lt;br /&gt;
$form-&amp;gt;select_date(&#039;&#039;,&#039;mykey&#039;,0,0,0,&amp;quot;myform&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
La chaîne mykey identifie la zone date. Il faut y mettre une valeur différente s&#039;il y a plusieurs zones.&lt;br /&gt;
La chaine myform est le nom de la zone FORM (dans form name=&amp;quot;myform&amp;quot; de la page HTML).&lt;br /&gt;
L&#039;affichage d&#039;un sélecteur de date doit donc être intégré dans une zone FORM Html.&lt;br /&gt;
&lt;br /&gt;
Pour récupérer la valeur, à l&#039;issu du POST, la commande est:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$mydate = dol_mktime(12, 0 , 0, GETPOST(&#039;mykeymonth&#039;, &#039;int&#039;), GETPOST(&#039;mykeyday&#039;, &#039;int&#039;), GETPOST(&#039;mykeyyear&#039;, &#039;int&#039;));&lt;br /&gt;
print strftime(&#039;%A %d %B %Y&#039;, $mydate);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Définir votre page de configuration (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : si votre module offre plusieurs options paramétrables.&lt;br /&gt;
&lt;br /&gt;
===Créez votre page d&#039;édition de configuration===&lt;br /&gt;
Si votre module offre plusieurs options paramétrables, il est nécessaire de créer une page PHP pour éditer les options (qui sont stockées dans la [[Table llx_const|table &#039;&#039;&#039;llx_const&#039;&#039;&#039;]]).&lt;br /&gt;
Créez une page PHP nommée &#039;&#039;&#039;monmodule_setupapage.php&#039;&#039;&#039; qui affiche les options possibles et les met à jour.&lt;br /&gt;
Il est nécessaire de prendre exemple sur une page dans &#039;&#039;&#039;/admin&#039;&#039;&#039; qui vous montre la méthode pour lire ou sauvegarder en base votre option.&lt;br /&gt;
Placez cette page de configuration dans le répertoire &#039;&#039;&#039;/admin&#039;&#039;&#039; également.&lt;br /&gt;
Ensuite dans le descripteur de module, modifiez la variable pour indiquer le nom de cette page PHP (sans le chemin qui n&#039;est pas nécessaire, la page étant forcément dans le rep admin).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;config_page_url = array(&amp;quot;setup.php@mymodule&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Testez votre page===&lt;br /&gt;
Allez sur la page &#039;&#039;&#039;Configuration-&amp;gt;module&#039;&#039;&#039;, vous devez voir apparaître une icône qui permet d&#039;accéder à la page de configuration et vous devez être capable de modifier ces options et les voir conservées en base.&lt;br /&gt;
&lt;br /&gt;
==Définir vos entrées de menu (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : si vous avez créé des pages PHP, il est nécessaire que ces écrans soient accessibles depuis le menu Dolibarr.&lt;br /&gt;
&lt;br /&gt;
===Définissez vos entrées menus===&lt;br /&gt;
Pour cela, il vous faut définir dans le fichier descripteur de module, le tableau this-&amp;gt;menu qui déclare les menus.&lt;br /&gt;
Ce tableau contient toutes les entrées qui apparaîtront dans les menus une fois le module activé.&lt;br /&gt;
Le fichier de descripteur de module exemple &#039;&#039;&#039;modMonModule.class.php&#039;&#039;&#039; possède un exemple de déclaration de menu haut ainsi que de ses entrées menu gauche associées.&lt;br /&gt;
&lt;br /&gt;
Voici un exemple de déclaration d&#039;entrées de menu dans le fichier descripteur:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
// Main menu entries&lt;br /&gt;
$this-&amp;gt;menu = array();			// List of menus to add&lt;br /&gt;
$r=0;&lt;br /&gt;
&lt;br /&gt;
// Add here entries to declare new menus&lt;br /&gt;
// Example to declare the Top Menu entry:&lt;br /&gt;
$this-&amp;gt;menu[$r]=array(	&#039;fk_menu&#039;=&amp;gt;0,			// Put 0 if this is a top menu&lt;br /&gt;
			&#039;type&#039;=&amp;gt;&#039;top&#039;,			// This is a Top menu entry&lt;br /&gt;
			&#039;titre&#039;=&amp;gt;&#039;MonModule top menu&#039;,&lt;br /&gt;
			&#039;mainmenu&#039;=&amp;gt;&#039;monmodule&#039;,&lt;br /&gt;
			&#039;leftmenu&#039;=&amp;gt;&#039;monmodule&#039;,&lt;br /&gt;
			&#039;url&#039;=&amp;gt;&#039;/monmodule/pagetop.php&#039;,&lt;br /&gt;
			&#039;langs&#039;=&amp;gt;&#039;mylangfile&#039;,	// Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.&lt;br /&gt;
			&#039;position&#039;=&amp;gt;100,&lt;br /&gt;
			&#039;enabled&#039;=&amp;gt;&#039;1&#039;,			// Define condition to show or hide menu entry. Use &#039;$conf-&amp;gt;monmodule-&amp;gt;enabled&#039; if entry must be visible if module is enabled.&lt;br /&gt;
			&#039;perms&#039;=&amp;gt;&#039;1&#039;,			// Use &#039;perms&#039;=&amp;gt;&#039;$user-&amp;gt;rights-&amp;gt;monmodule-&amp;gt;level1-&amp;gt;level2&#039; if you want your menu with a permission rules&lt;br /&gt;
			&#039;target&#039;=&amp;gt;&#039;&#039;,&lt;br /&gt;
			&#039;user&#039;=&amp;gt;2);				// 0=Menu for internal users, 1=external users, 2=both&lt;br /&gt;
$r++;&lt;br /&gt;
&lt;br /&gt;
// Example to declare a Left Menu entry:&lt;br /&gt;
$this-&amp;gt;menu[$r]=array(	&#039;fk_menu&#039;=&amp;gt;&#039;fk_mainmenu=xxx&#039;,	// Use &#039;fk_mainmenu=xxx&#039; or &#039;fk_mainmenu=xxx,fk_leftmenu=yyy&#039; where xxx is mainmenucode and yyy is a leftmenucode of parent menu&lt;br /&gt;
			&#039;type&#039;=&amp;gt;&#039;left&#039;,			// This is a Left menu entry&lt;br /&gt;
			&#039;titre&#039;=&amp;gt;&#039;MonModule left menu 1&#039;,&lt;br /&gt;
			&#039;mainmenu&#039;=&amp;gt;&#039;xxx&#039;,&lt;br /&gt;
                        &#039;leftmenu&#039;=&amp;gt;&#039;yyy&#039;,&lt;br /&gt;
			&#039;url&#039;=&amp;gt;&#039;/monmodule/pagelevel1.php&#039;,&lt;br /&gt;
			&#039;langs&#039;=&amp;gt;&#039;mylangfile&#039;,	// Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.&lt;br /&gt;
			&#039;position&#039;=&amp;gt;100,&lt;br /&gt;
			&#039;enabled&#039;=&amp;gt;&#039;1&#039;,			// Define condition to show or hide menu entry. Use &#039;$conf-&amp;gt;monmodule-&amp;gt;enabled&#039; if entry must be visible if module is enabled.&lt;br /&gt;
			&#039;perms&#039;=&amp;gt;&#039;1&#039;,			// Use &#039;perms&#039;=&amp;gt;&#039;$user-&amp;gt;rights-&amp;gt;monmodule-&amp;gt;level1-&amp;gt;level2&#039; if you want your menu with a permission rules&lt;br /&gt;
			&#039;target&#039;=&amp;gt;&#039;&#039;,&lt;br /&gt;
			&#039;user&#039;=&amp;gt;2);				// 0=Menu for internal users,1=external users, 2=both&lt;br /&gt;
$r++;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour conditionner l&#039;accès au menu selon des permission, modifier la propriété &#039;&#039;&#039;perms&#039;&#039;&#039; du tableau. Voir le chapitre sur les permissions un peu plus loin pour savoir comment ajouter des permissions.&lt;br /&gt;
&lt;br /&gt;
===Testez vos entrées menus===&lt;br /&gt;
Désactiver et réactiver votre module sous Dolibarr, les entrées menus doivent alors apparaître (si la condition dans &#039;enabled&#039; est vraie).&lt;br /&gt;
&lt;br /&gt;
==Définir vos propres permissions (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : Si vous voulez ajouter de nouvelles permissions.&lt;br /&gt;
&lt;br /&gt;
La définition des permissions que gérera votre module se fait dans le fichier descripteur créé dans la première étape.&lt;br /&gt;
Modifier la ligne &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;rights_class = &#039;monmodule&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
pour y mettre la bonne valeur de monmodule.&lt;br /&gt;
&lt;br /&gt;
Ensuite remplissez le tableau $this-&amp;gt;rights avec autant d&#039;entrées que de permissions différentes à gérer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;rights[$r][0] = 10001;&lt;br /&gt;
$this-&amp;gt;rights[$r][1] = &#039;Libelle par défaut de ma permission&#039;;&lt;br /&gt;
$this-&amp;gt;rights[$r][3] = 1;&lt;br /&gt;
$this-&amp;gt;rights[$r][4] = &#039;action&#039;;&lt;br /&gt;
$this-&amp;gt;rights[$r][5] = &#039;sousaction&#039;;&lt;br /&gt;
$r++;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans $this-&amp;gt;rights[$r][0], mettre un id de permission non déjà pris (Voir dans le menu &#039;&#039;&#039;Infos Système&#039;&#039;&#039; sur une installation de Dolibarr opérationnelle pour connaître les id déjà utilisés.&lt;br /&gt;
Dans $this-&amp;gt;rights[$r][3], mettre 1 si cette permission est attribué d&#039;office par défaut quand un utilisateur est créé.&lt;br /&gt;
Dans $this-&amp;gt;rights[$r][1], mettre un libellé par défaut (il sera affiché si aucune traduction n&#039;est trouvé pour votre permission dans le fichier &#039;&#039;&#039;admin.lang&#039;&#039;&#039;. La clé de traduction dit être &amp;quot;Permission10001=Description de ma super permission&#039;&#039;&#039;&amp;quot;&#039;&#039;&#039;).&lt;br /&gt;
Dans $this-&amp;gt;rights[$r][4] et $this-&amp;gt;rights[$r][5], mettre une chaîne action et sous action sans espace. Vous pourrez alors tester dans le code PHP si un utilisateurs a bien les droits par la séquence suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
if ($user-&amp;gt;rights-&amp;gt;monmodule-&amp;gt;action-&amp;gt;sousaction) ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Définir vos propres box/widgets (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : si votre module amène avec lui une ou plusieurs Boxes.&lt;br /&gt;
&lt;br /&gt;
===Définissez vos box===&lt;br /&gt;
Pour cela, modifiez les tableaux $this-&amp;gt;boxes du fichier descripteur de module.&lt;br /&gt;
Il suffit d&#039;ajouter 2 lignes par fichier box que vous allez créer dans le répertoire &#039;&#039;&#039;htdocs/monmodule/core/boxes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Exemple :&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;boxes[0][&#039;file&#039;]=&#039;mabox0.php@monmodule&#039;&lt;br /&gt;
$this-&amp;gt;boxes[0][&#039;note&#039;]=&#039;Ma box 0&#039;&lt;br /&gt;
 ...&lt;br /&gt;
$this-&amp;gt;boxes[n][&#039;file&#039;]=&#039;maboxn.php@monmodule&#039;&lt;br /&gt;
$this-&amp;gt;boxes[n][&#039;note&#039;]=&#039;Ma box n&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créez les fichiers &#039;&#039;&#039;htdocs/monmodule/core/boxes/mabox0.php&#039;&#039;&#039;, &#039;&#039;&#039;htdocs/monmodule/core/boxes/maboxn.php&#039;&#039;&#039;... en prenant exemple sur des box existantes (exemple dans le répertoire &#039;&#039;&#039;htdocs/core/boxes&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===Testez la présence de vos box dans Dolibarr===&lt;br /&gt;
Désactivez et réactivez le module.&lt;br /&gt;
&lt;br /&gt;
Allez dans le menu &#039;&#039;&#039;Accueil - Configuration - Widgets&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Vos box doivent apparaître dans la liste des box activables. Activez les puis allez sur la page d&#039;accueil et vérifiez qu&#039;elles s&#039;affichent correctement.&lt;br /&gt;
&lt;br /&gt;
==Définir vos propres exports (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : si votre module amène avec lui des exports prédéfinis de données (pour ces propres tables ou des tables déjà existantes d&#039;un autre module de Dolibarr).&lt;br /&gt;
&lt;br /&gt;
===Définissez l&#039;export===&lt;br /&gt;
Pour cela, décommentez et modifiez les tableaux $this-&amp;gt;export_xxx du votre fichier descripteur de module.&lt;br /&gt;
&lt;br /&gt;
===Testez votre export===&lt;br /&gt;
Allez dans le menu outils -&amp;gt; export de Dolibarr. Votre export doit apparaitre dans la liste des exports prédéfinis disponibles (si votre module est bien activé).&lt;br /&gt;
Le choisir, vous devez alors voir les champs possibles définis dans le tableau à l&#039;étape précédente.&lt;br /&gt;
Choissez quelques champs et tentez une génération du fichier export.&lt;br /&gt;
&lt;br /&gt;
==Définir vos styles CSS (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : lorsque dans vos écrans PHP, vous utiliser des classes de styles qui ne sont pas celle des thèmes de Dolibarr (non recommandé).&lt;br /&gt;
&lt;br /&gt;
Cette fonctionnalité est décrite mais pas encore opérationnel en 2.4&lt;br /&gt;
&lt;br /&gt;
===Créez et déclarez votre feuille de style===&lt;br /&gt;
Créez un fichier de style css nommé &#039;&#039;&#039;monmodule.css&#039;&#039;&#039; ou &#039;&#039;&#039;monmodule.css.php&#039;&#039;&#039; et placez le dans le répertoire &#039;&#039;&#039;&#039;&#039;monmodule&#039;&#039;&#039;&#039;&#039; dans &#039;&#039;&#039;htdocs&#039;&#039;&#039;. Il ne peut y avoir qu&#039;un fichier css propre à chaque module.&lt;br /&gt;
Rappelons qu&#039;il vaut mieux utiliser les styles déjà existant de Dolibarr (le fichier css utilisé par Dolibarr étant le fichier &#039;&#039;&#039;themes/nomtheme/&#039;&#039;nomtheme&#039;&#039;.css.php&#039;&#039;&#039;). Ne créez un fichier css propre à votre module que si vous devez absolument gérer des styles non déjà existants.&lt;br /&gt;
Une fois votre feuille de style prête, déclarez la dans votre fichier descripteur de module en modifiant la propriété &#039;&#039;&#039;$this-&amp;gt;module_parts&#039;&#039;&#039;.&lt;br /&gt;
La valeur à renseigner ici doit être le chemin relatif de l&#039;URL de votre fichier css.&lt;br /&gt;
Par exemple&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;module_parts = array(&#039;css&#039; =&amp;gt; array(&#039;/monmodule/css/monmodule.css.php&#039;));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Testez votre feuille de style===&lt;br /&gt;
Désactivez et réactivez votre module.&lt;br /&gt;
&lt;br /&gt;
Appelez la page d&#039;accueil de Dolibarr. Affichez la source de la page HTML.&lt;br /&gt;
&lt;br /&gt;
Vous devriez voir dans l&#039;entête HTML, une ligne déclarant votre feuille de style.&lt;br /&gt;
&lt;br /&gt;
==Définir vos fonctions Javascript (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : lorsque dans vos écrans PHP, vous utiliser des fonctions javascript non dispo en standard (fichier lib_head.js)&lt;br /&gt;
&lt;br /&gt;
Si dans vos écrans PHP, vous utilisez des fonctions javascript, il est nécessaire de faire en sorte que vos fonctions déclarées dans un fichier javascript &#039;&#039;&#039;htdocs/monmodule/js/monmodule.js&#039;&#039;&#039; soit chargées dans l&#039;entête head html.&lt;br /&gt;
Pour demander à Dolibarr qui gère la génération de la section header d&#039;inclure un de vos fichiers javascript, il est nécessaire de fournir en paramètre de la fonction llxHeader() appelée au début de votre page, d&#039;inclure le paramètre qui contient l&#039;URL vers le js à inclure.&lt;br /&gt;
&lt;br /&gt;
Exemple pour la page /htdocs/monmodule/mapage.php :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
require(&#039;../main.inc.php&#039;);&lt;br /&gt;
$morejs=array(&amp;quot;/monmodule/js/monmodule.js&amp;quot;);&lt;br /&gt;
llxHeader(&#039;&#039;,&#039;Titre&#039;,&#039;&#039;,&#039;&#039;,&#039;&#039;,&#039;&#039;,$morejs,&#039;&#039;,0,0); &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Déclencher du code sur un évènement Dolibarr (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : lorsque vous voulez que des actions particulières s&#039;exécutent suite au déclenchement d&#039;actions standards de Dolibarr (exemple : je veux mettre à jour une table de mon module quand une facture se crée dans Dolibarr), il vous faut créer un fichier de &#039;&#039;&#039;triggers&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Voir aussi [[Interfaces_Dolibarr_vers_exterieur|Interfaces de Dolibarr vers l&#039;exterieur]]&lt;br /&gt;
et [[Interfaces_Exterieur_vers_Dolibarr|Interfaces exterieures vers Dolibarr]]&lt;br /&gt;
&lt;br /&gt;
==Insérer votre code aux emplacement hooks de Dolibarr (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : lorsque vous voulez modifier ou ajouter du code autrement que lors d&#039;un événement métier (voir le chapitre précédent pour cela).&lt;br /&gt;
&lt;br /&gt;
Voir la page [[Système de Hooks]].&lt;br /&gt;
&lt;br /&gt;
==Ajouter un module de numérotation (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : lorsque vous voulez ajouter une règle de numérotation non couverte par les modules par défaut.&lt;br /&gt;
&lt;br /&gt;
Voir la page [[Créer un module de numérotation]].&lt;br /&gt;
&lt;br /&gt;
==Ajouter un nouveau modèle de document (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : lorsque vous voulez ajouter un nouveau modèle de document.&lt;br /&gt;
&lt;br /&gt;
La documentation au sujet de la génération de documents depuis des modèles est disponible sur la page [[Créer un modèle de document PDF]] ou [[Créer un modèle de document ODT]].&lt;br /&gt;
&lt;br /&gt;
==Ajouter une nouvelle police de caractère (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039; : lorsque vous voulez utiliser une police particulière.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez ajouter une police de caractère directement depuis votre module lors de son activation. Dans la fonction init() :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
// Fonts deployment if not already done&lt;br /&gt;
$pathfontsto = DOL_DOCUMENT_ROOT . &#039;/includes/tecnickcom/tcpdf/fonts/&#039;;&lt;br /&gt;
$pathfontsfrom = dol_buildpath(&#039;yourmodulename&#039;, 0) . &#039;/fonts/&#039;;&lt;br /&gt;
&lt;br /&gt;
// Font copy&lt;br /&gt;
if (!file_exists($pathfontsto . &#039;yourfont.php&#039;)) {&lt;br /&gt;
  $test = dol_copy($pathfontsfrom . &#039;yourfont.php&#039;, $pathfontsto . &#039;yourfont.php&#039;, 0, 0, 0, 1);&lt;br /&gt;
}&lt;br /&gt;
if (!file_exists($pathfontsto . &#039;yourfont.z&#039;)) {&lt;br /&gt;
  $test = dol_copy($pathfontsfrom . &#039;yourfont.z&#039;, $pathfontsto . &#039;yourfont.z&#039;, 0, 0, 0, 1);&lt;br /&gt;
}&lt;br /&gt;
if (!file_exists($pathfontsto . &#039;yourfont.ctg.z&#039;)) {&lt;br /&gt;
  $test = dol_copy($pathfontsfrom . &#039;yourfont.ctg.z&#039;, $pathfontsto . &#039;yourfont.ctg.z&#039;, 0, 0, 0, 1);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ajouter un thème (optionnel)==&lt;br /&gt;
&#039;&#039;&#039;Quand&#039;&#039;&#039;: Lorsque vous voulez une interface aux couleurs personnalisées à votre cas.&lt;br /&gt;
&lt;br /&gt;
Voir la page [[Themes]].&lt;br /&gt;
&lt;br /&gt;
==Ajouter un bouton (optionnel)==&lt;br /&gt;
Si vous souhaitez ajouter des boutons à vos enregistrements.&lt;br /&gt;
&lt;br /&gt;
Voir la page [[Création de boutons]].&lt;br /&gt;
&lt;br /&gt;
=[[File:Art.png]] Quelques règles de codage et fonctions pour développeurs=&lt;br /&gt;
Les règles de codage à suivre sont définis dans la [[Documentation Développeur|Documentation développeur]], rubrique &amp;quot;Informations Générales - Langage et normes de développement&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
De nombreuses fonctions prédéfinies pour les développeurs sont disponibles et décrites sur la page [[Documentation Développeur|Documentation développeur]] sous la section &amp;quot;Les couches techniques de Dolibarr&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=[[File:Art.png]] Créer un package pour livrer et installer votre module=&lt;br /&gt;
Cette procédure doit être utilisée pour fabriquer un package afin de le soumettre sur la place de marché http://www.dolistore.com.&lt;br /&gt;
Mais vous pouvez aussi l&#039;utiliser pour distribuer facillement votre module via votre propre réseau de distribution.&lt;br /&gt;
&lt;br /&gt;
*Allez dans le répertoire &#039;&#039;&#039;/build&#039;&#039;&#039; et recopiez le fichier &#039;&#039;&#039;makepack-dolibarrmodules.conf&#039;&#039;&#039; en &#039;&#039;&#039;makepack-monmodule.conf&#039;&#039;&#039;. Attention, ce répertoire peut ne pas être fourni dans les packages de versions stables. Si c&#039;est le cas, il peut être récupéré dans le snapshot disponible en téléchargement sur le site web Dolibarr dans la rubrique Version de développement (prenez dans ce cas tout le répertoire build qui est un répertoire autonome et indépendant de la version).&lt;br /&gt;
&lt;br /&gt;
Saisissez dans ce fichier la liste des noms des nouveaux fichiers que vous avez créé pour votre module (descripteur de module, nouveaux fichiers sql de tables, page php, images, etc...)&lt;br /&gt;
&lt;br /&gt;
*Lancer le script via Perl (besoin de la version Perl 5.0 ou +):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
perl makepack-dolibarrmodule.pl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Le script vous demande le nom de votre module, sa version majeure et mineure.&lt;br /&gt;
Un fichier &#039;&#039;&#039;monmodule.zip&#039;&#039;&#039; va alors être fabriqué contenant votre module prêt pour être déployé.&lt;br /&gt;
&lt;br /&gt;
*La personne qui reçoit votre module doit alors placer le fichier dans son répertoire racine d&#039;installation de Dolibarr et réaliser la commande :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
tar -xvf monmodule.zip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Si vous désirez que votre module profite à tous, vous pouvez le soumettre (le fichier zip) sur la place de marché des modules complémentaires: {{LinkToPluginDownload}} (vous devez avoir créé un compte auparavant et utiliser le lien &amp;quot;Soumettre un module/produit&amp;quot;).&lt;br /&gt;
**Si votre module a été fabriqué correctement, le fichier sera validé rapidement.&lt;br /&gt;
**Si la qualité est suffisante, que la licence le permet et que la fonctionnalité du module s&#039;avère être d&#039;un intérêt général, le code pourra être ajouté au code source de Dolibarr (sauf si vous ne le désirez pas).&lt;br /&gt;
&lt;br /&gt;
Il également possible récupérer votre module au format .zip en ayant activé la variable [[Fichier de configuration|$dolibarr_allow_download_external_modules à 1 dans le fichier conf.php]]. &lt;br /&gt;
&lt;br /&gt;
=[[File:Art.png]] Dépôt et validation du module externe sur Dolistore=&lt;br /&gt;
&lt;br /&gt;
Voir [[Module_Dolistore_Validation_Regles|Règles de Validation]]&lt;/div&gt;</summary>
		<author><name>Bfaliere</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=64259</id>
		<title>Setup Other</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=64259"/>
		<updated>2025-09-24T08:55:06Z</updated>

		<summary type="html">&lt;p&gt;Bfaliere: /* Category-Tags Module */ Add new constant to display categories in menus.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[fr:Paramétrage_Divers]]&lt;br /&gt;
[[es:Configuración_Varios]]&lt;br /&gt;
[[de:Erweiterte_Einstellungen]]&lt;br /&gt;
[[zh:其他设置]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Admin]]&lt;br /&gt;
{{TemplateDocUser}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Help About Screen&#039;&#039;&#039;: Other setup&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Menu Path&#039;&#039;&#039;: Home ► Setup ► Other&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Introduction&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some options are not visible in the interface (often because they are deprecated or are beta features). In most cases you do not need these functions and their use may make the application unstable or may not work as expected.&lt;br /&gt;
&lt;br /&gt;
 {{warning|32px}} This page contains the list of some advanced development parameters. In most cases, they are parameters for internal usage, development, external modules, features in development not stable or that may lead to security risk. For standard usage of Dolibarr, such parameters &#039;&#039;&#039;SHOULD NOT&#039;&#039;&#039; be used. All experimental options are NOT supported. They may be removed in a future, modified at any version and break stability of your application.&lt;br /&gt;
&lt;br /&gt;
To enable/override a parameter you have to define the constant name and set it to 1 (unless otherwise stated) in &amp;lt;code&amp;gt;Home ► Setup ► Other Setup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The options here may not be documented since they are not stable and are unsupported (remember they are experimental or development options). The basic format of how the list is written is broken down in the example below:&lt;br /&gt;
&lt;br /&gt;
UNSTABLE_OR_DEV_OPTION ► &#039;&#039;Description of config and goal&#039;&#039; ► &#039;&#039;(specific version information) or values&#039;&#039;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
=Global Options=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ADD_UNSPLASH_LOGIN_BACKGROUND&#039;&#039;&#039; ► The background image will be refreshed on every login page refresh. Background image is pulled from the popular open source image website Unsplash. If an already saved static background image exists, then this code will override it (but not delete the saved image). Warning: Using this may allow this external website to steel your login credentials (the value to be put is the URL of the service, exemple&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;: https://source.unsplash.com/random) ► (v10.0)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_HIDE_POWERED_BY&#039;&#039;&#039; ► Hide the &amp;quot;Powered by Dolibarr&amp;quot; picto on public pages&lt;br /&gt;
*&#039;&#039;&#039;MAIN_APPLICATION_TITLE&#039;&#039;&#039; ► This will change the title of software (that appears on the login page by default). Warning: changing this may make Dolibarr version detection to fail by smartphone applications like [[Application Android - DoliDroid]], breaking some features when using Dolibarr from such application. If the text start with a &amp;quot;+&amp;quot;, the text will be added to the standard &amp;quot;Dolibarr&amp;quot; label instead of replacing it.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_AUTOFILL_DATE&#039;&#039;&#039; ► If this constant is defined (to something other than &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;), the date of invoice, proposal, order or payment are auto-filled with the current date. It is highly recommended to NOT ENABLE this feature. This can create a lot of input errors with data not validated by users. This leads to incorrect values saved in the database causing confusion when you have to do your accountancy reports!&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES&#039;&#039;&#039; ► Add a timestamp and user automatically when editing the &#039;&#039;public&#039;&#039; note.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES&#039;&#039;&#039; ► Add a timestamp and user automatically when editing the &#039;&#039;private&#039;&#039; note.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DEFAULT_PAYMENT_TERM_ID&#039;&#039;&#039; ► With ID of a payment term, will use this as default payment term each time you create a new proposal, order, invoice (customer and supplier). Deprecated. Replaced with the default setup feature instead (see French page of wiki for some exemple&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;: [[Paramétrage Valeurs par défaut]])&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DEFAULT_PAYMENT_TYPE_ID&#039;&#039;&#039; ► With ID of a payment type, will use this as default payment type each time you create a new proposal, order, invoice (customer and supplier). Deprecated. Replaced with the default setup feature instead (see French page of wiki for some exemple&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;: [[Paramétrage Valeurs par défaut]])&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DEFAULT_LANGUAGE_FILTER&#039;&#039;&#039; ► Useful if you do not want to show &amp;lt;code&amp;gt;en_US&amp;lt;/code&amp;gt; language option in combo boxes (other languages can easily be removed in &amp;lt;code&amp;gt;langs&amp;lt;/code&amp;gt; directory but not &amp;lt;code&amp;gt;en_US&amp;lt;/code&amp;gt;) ► (v10.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_LANGUAGES_ALLOWED&#039;&#039;&#039; ► Is a list of languages without spaces, example&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;: &amp;lt;code&amp;gt;fr_FR,en_US,de_DE,it_IT&amp;lt;/code&amp;gt; If defined, only those languages will appear in combos. ► (v11.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_NOTES_TAB&#039;&#039;&#039; ► Show or hide notes tab in the card page&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_CONTACTS_TAB&#039;&#039;&#039; ► Show or hide contacts tab in the card page&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_FULL_SCANLIST&#039;&#039;&#039; ► Disables the complete scan of tables to allow the pagination to show total number of pages. May be useful to activate on systems with a very high quantity of data (tables with more than 2 000 000 records).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_JQUERY_JNOTIFY&#039;&#039;&#039; ► Disable usage of &amp;lt;code&amp;gt;JNotify&amp;lt;/code&amp;gt; to show confirm or error messages&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_AJAX_COMBOX&#039;&#039;&#039; ► If you have a large number of third parties or products, you can disable the autocomplete feature on the third parties list by setting this constant to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; ► (v3.6.0+)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_MULTIPLE_FILEUPLOAD&#039;&#039;&#039; ► Disable users to upload multiple files at once.&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_TRUNC&#039;&#039;&#039; ► Disable all truncings in select list. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLEDRAFTSTATUS&#039;&#039;&#039; ► Disable the status &amp;quot;Draft&amp;quot; for some objects (project, donation, ...) so the object is directly created with status &amp;quot;Validated&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOC_USE_OBJECT_THIRDPARTY_NAME&#039;&#039;&#039; ► Add name of thirdparty at begin of generated document.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOC_USE_TIMING&#039;&#039;&#039; ► Add a timestamp at end of generated document. Value must be format of timestamp. For example: &amp;lt;code&amp;gt;%Y%m%d%H%M&amp;lt;/code&amp;gt; (only for ODT files)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOC_UPLOAD_NOT_RENAME_BY_DEFAULT&#039;&#039;&#039; ► Disable the auto renaming on upload file ► (v10.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOL_SCRIPTS_ROOT&#039;&#039;&#039; ► Define directory who contains &#039;scripts&#039; directory (e.g. &amp;lt;code&amp;gt;/var/www/dolibarr&amp;lt;/code&amp;gt;). Value of this variable may be requested by some external script or tools.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ENABLE_LOG_TO_HTML&#039;&#039;&#039; ► If this constant is defined, it is possible to have logs inside pages by adding the parameter &amp;lt;code&amp;gt;&amp;amp;logtohtml=1&amp;lt;/code&amp;gt; into URL.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES&#039;&#039;&#039; ► Allow to import lines into current document from &amp;quot;linked&amp;quot; compatible documents ► (v8.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FIRST_TO_UPPER&#039;&#039;&#039; ► Dolibarr add uppercase to Third Parties, contacts or members names if not done. Warning: with some languages (whose words with uppercase are not same words, or pagecode does not always have an uppercase, like Cyrillic languages), this feature may alter your data.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ALL_TO_UPPER&#039;&#039;&#039; ► Dolibarr puts uppercase for Third Parties, contacts or members names if not done. Warning, with some languages (whose words with uppercase are not same words, or pagecode does not always have an uppercase, like Cyrillic languages), this feature may alter your data. ► (v11.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ALL_TOWN_TO_UPPER&#039;&#039;&#039; ► Dolibarr puts uppercase for town names if not done. ► (v13.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FILESYSTEM_ENCODING&#039;&#039;&#039; ► With some PHP versions, PHP is not able to detect the page code for filesystem of the server OS. To solve this, Dolibarr assumes your OS filesystem is &amp;lt;code&amp;gt;UTF-8&amp;lt;/code&amp;gt; if on Linux or OSX system, and &amp;lt;code&amp;gt;ISO-8859-1&amp;lt;/code&amp;gt; if on Windows. If not, for example on a Windows server with a NTFS &amp;lt;code&amp;gt;UTF-8&amp;lt;/code&amp;gt; pagecode, you can set the variable &amp;lt;code&amp;gt;MAIN_FILESYSTEM_ENCODING&amp;lt;/code&amp;gt; to &amp;quot;&amp;lt;code&amp;gt;utf-8&amp;lt;/code&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FORCELANGDIR&#039;&#039;&#039; ► Relative path of the directory holding your custom &amp;lt;code&amp;gt;langs&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
*&#039;&#039;&#039;MAIN_HTML_TITLE&#039;&#039;&#039; ► Can be used to control how the html page title is formatted. If value contains key &#039;&amp;lt;code&amp;gt;noapp&amp;lt;/code&amp;gt;&#039;, application name will not be output. If value contains &#039;&amp;lt;code&amp;gt;thirdpartynameonly&amp;lt;/code&amp;gt;&#039;, on tab for thirdparties, only name of thirdparties are output. Value can be list of tags: &#039;&amp;lt;code&amp;gt;noapp;thirdpartynameonly&amp;lt;/code&amp;gt;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_HELPCENTER_LINKTOUSE&#039;&#039;&#039; ► Define the URL link to use as the target page for link &amp;quot;I need help&amp;quot; onto logon page&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_LOGOUT_GOTO_URL&#039;&#039;&#039; ► URL to which the user will be redirected after LOGOUT&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAXTABS_IN_CARD&#039;&#039;&#039; ► Maximum number of tabs visible. Others are grouped into a combo list.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAXLIST_OVERLOAD&#039;&#039;&#039; ► Maximum number of line in space&#039;s domain.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING&#039;&#039;&#039; ► A warning saying setup of modules is not complete is shown if the number of enabled modules is lower or equal than this value (&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if not defined)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_NO_CONCAT_DESCRIPTION&#039;&#039;&#039; ► Allow to use only input custom description in lines (proposal, order, invoice) ► (v10.0)   &amp;lt; v20.0. [ OSBOLETE since 20.0 | SEE Product module admin configuration to set the description behavior of products and services ]. This value is overwritten by PRODUCT_AUTOFILL_DESC, controled by the option in the product module admin configuration, and is no longer used. Kept in code to allow compatibility if custom modules are using it. Removed completely from v22.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_OPTIMIZE_SPEED&#039;&#039;&#039; ► Use some speed enhancements. See page [[FAQ Increase Performance]] for more information.&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PASSWORD_FORGOTLINK  ►&#039;&#039;&#039; Change forgotten password link on login page. ► (v9.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN&#039;&#039;&#039; ► When creating an order, contract, invoice from another object, specific contacts of objects are set as specific contact of the new object when possible. ► (v4.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PUBLIC_NOTE_IN_ADDRESS&#039;&#039;&#039; ► Show public note in address block ► (v4.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_REMOVE_INSTALL_WARNING&#039;&#039;&#039; ► Remove all security warnings that appear to administrator users if URL &amp;lt;code&amp;gt;/install&amp;lt;/code&amp;gt; is public. You should solve the problem if warning occurs, instead of removing the warning! For this, create a file called &amp;lt;code&amp;gt;install.lock&amp;lt;/code&amp;gt; into Dolibarr root directory. This will stop the warning but also make the page &amp;lt;code&amp;gt;/install&amp;lt;/code&amp;gt; not possible to use, to protect your installation.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_REPEATCONTACTONEACHTAB&#039;&#039;&#039; ► If added and set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, this adds contacts on all tabs, not only main tab.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_REPLACE_TRANS_xx_XX&#039;&#039;&#039; ► Where &amp;lt;code&amp;gt;xx_XX&amp;lt;/code&amp;gt; is language code. If value is &amp;lt;code&amp;gt;string1:newstring1;string2:newstring2&amp;lt;/code&amp;gt; then replace &amp;lt;code&amp;gt;string1&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;newstring1&amp;lt;/code&amp;gt; in all translation done for language &amp;lt;code&amp;gt;xx_XX&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND&#039;&#039;&#039; ► Change way of rounding total including tax of lines, rounding first of after.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND_SUPPLIER&#039;&#039;&#039;► Change way of rounding total including tax of lines, rounding first of after.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SERVER_TZ&#039;&#039;&#039; ► If you can&#039;t set the time zone of your PHP installation, set this constant. Better is to set it to UTC. In future, this constant will be forced to &#039;&amp;lt;code&amp;gt;UTC&amp;lt;/code&amp;gt;&#039; so PHP server time zone will not have effect any more. Examples: &amp;lt;code&amp;gt;Europe/Paris&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;auto&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SEARCH_FORM_ON_HOME_AREAS&#039;&#039;&#039; ► Show the search form on home page areas for core modules (Removed after v5 due to global search combo) ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SEARCHFORM_SUPPLIER_INVOICE_DISABLED&#039;&#039;&#039; ► Disable the supplier invoice on the search form&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE&#039;&#039;&#039; ► If only one result is found, then setting this value to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; will take you direct to the item (default method).  Setting the value to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; will show the result in the list as a single result ► (v5.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SERVICES_ARE_ECOMMERCE_200238EC&#039;&#039;&#039;  ► If seller and buyer are in Europe and buyer is not a company, use the VAT of buying country. It can have value &#039;1&#039; or &#039;2&#039;. If value 2, the VATs available to select only the ones of buying country. If &#039;1&#039;, the VATs available to select mix the ones of selling country and the ones of buying country. ► (v18.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SHOW_TUNING_INFO&#039;&#039;&#039; ► Add tuning information into JavaScript console. Better when xdebug is enabled.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SHOW_TECHNICAL_ID&#039;&#039;&#039; ► Show also technical IDs on elements cards or some lists (not supported everywhere).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SHOWDATABASENAMEINHELPPAGESLINK&#039;&#039;&#039; ► Show database name in upper help menu ► (v8.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_ALTERNATE_TRANSLATION_FOR&#039;&#039;&#039; ► List of fields per object that need an alternate translation. Example: &amp;lt;code&amp;gt;MAIN_USE_ALTERNATE_TRANSLATION_FOR=societe:name,town;contact:firstname,lastname&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_HOURMIN_IN_DATE_RANGE&#039;&#039;&#039; ► On all entities lines (invoice, order, contract...), it is possible to add hour and minutes with date on fields &amp;quot;date start&amp;quot; and &amp;quot;date end&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_JQUERY_JEDITABLE&#039;&#039;&#039; ► Allow to update from screen, directly into database, some properties of elements (invoices, proposals, ...) using Ajax. This make response time faster, but avoid using this feature, because it bypasses some business actions (updates on other data that should be done consistently) and ignores business controls on data you saved. Consequently this feature breaks consistency of data and possibly the stability of the software.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_JQUERY_MULTISELECT&#039;&#039;&#039; ► Allow to use Ajax when a choice that require multiselect is used (for the moment only external modules uses select box with multiselect values). Set the value to the jQuery plugin name to use (multiselect, multiple-select, select2…). Setting it to any other value will result in unwanted side-effects and/or bugs.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_OLD_SEARCH_FORM&#039;&#039;&#039; ► Display the old search form in left menu.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS&#039;&#039;&#039; ► Allow to force the VAT rate to a given value (instead of higher VAT rate of country) if the VAT rate of product was not defined.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_UNKNOWN_CUSTOMERS_ARE_COMPANIES&#039;&#039;&#039; ► If we can&#039;t guess if a thirdparty is a company or individual (not VAT ID fill, no Prof ID fill, no type of thirdparty fill), then we suppose it is a company (B2B business) if 1, we suppose it is an individual (B2C business) if 0.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_VAT_COMPANIES_IN_EEC_WITH_INVALID_VAT_ID_ARE_INDIVIDUAL&#039;&#039;&#039; ► For intra CEE sales, we use by default, on proposal, order or invoice creation, a 0 VAT for customers that are companies (see MAIN_UNKNOWN_CUSTOMERS_ARE_COMPANIES to change behaviour to know if a thirdparty is a company or an individual). But if the option MAIN_USE_VAT_COMPANIES_IN_EEC_WITH_INVALID_VAT_ID_ARE_INDIVIDUAL is set, we will use the 0 VAT only if a VAT ID is defined for the customer.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_VAT_OF_PRODUCT_FOR_INDIVIDUAL_CUSTOMER_OUT_OF_EEC&#039;&#039;&#039; ► For to use the default VAT of product for individual customers that are out E.E.C. (European Economic Community) ► (v7.0+). &#039;&#039;There is no reason to use this.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_VIEW_LINE_NUMBER&#039;&#039;&#039; ► Shows a line number for each line of products/services at documents like proposal / order / invoice. Only on screen, not on PDF.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_VIEW_LINE_NUMBER_IN_LIST&#039;&#039;&#039; ► Shows a line number in lists ► (v12.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_VOLUME_DEFAULT_ROUND&#039;&#039;&#039; ► Accuracy of volume (number of decimals)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_VOLUME_DEFAULT_UNIT&#039;&#039;&#039; ► Default unit for weight (&amp;lt;code&amp;gt;0=kg&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-3=g&amp;lt;/code&amp;gt;, ...)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_WEIGHT_DEFAULT_ROUND&#039;&#039;&#039; ► Accuracy of weight (number of decimals)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_WEIGHT_DEFAULT_UNIT&#039;&#039;&#039; ► Default unit for weight (&amp;lt;code&amp;gt;0=kg&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-3=g&amp;lt;/code&amp;gt;, ...)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;USER_HIDE_INACTIVE_IN_COMBOBOX&#039;&#039;&#039; ► Disable display inactive users in combobox.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_PDF_THUMBS&#039;&#039;&#039; ► Disable thumbs PDF in case of imagick bug&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_KEEP_REF_CUSTOMER_ON_CLONING&#039;&#039;&#039; ► Keep the Customer Reference on cloned object (Propal/Invoice)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DONT_KEEP_NOTE_ON_CLONING&#039;&#039;&#039; ► Remove the object notes during cloning ► (v11.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOC_SORT_FIELD&#039;&#039;&#039; ► Set the default sorting field on document page (name by default) ► (v11.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOC_SORT_ORDER&#039;&#039;&#039; ► Set the default sorting order (ASC or DESC) on document page (ASC by default) ► (v11.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_ZIPTOWN_DICTIONNARY&#039;&#039;&#039; ► Use dictionary ZIP for create card.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_TOP_MENU_SEARCH_DROPDOWN&#039;&#039;&#039; ► Show search in top menu with theme eldy ► (v11.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PHONE_SEPAR&#039;&#039;&#039; ► Separ phone number other space ► (v12.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;GRAPH_USE_FISCAL_YEAR&#039;&#039;&#039; ► Widgets uses fiscal year&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SHOW_SOCINFO_ON_PRINT&#039;&#039;&#039; ► Permit to add user company information on each printed document (when click on Dolibarr print button) ► (v12.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FEATURES_LEVEL&#039;&#039;&#039; ► Level of features to show: &amp;lt;code&amp;gt;-1=stable+deprecated&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0=stable only (default)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;1=stable+experimental&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;2=stable+experimental+development&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SHOW_TECHNICAL_ID&#039;&#039;&#039; ► Show technical id for object.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_HTTP_CONTENT_SECURITY_POLICY&#039;&#039;&#039; ► Allows you to fill in the content security rules ► (v6.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_ON_SEARCH_AND_LIST_GO_ON_CUSTOMER_OR_SUPPLIER_CARD&#039;&#039;&#039; ► Allow to change the link of the third party to customer/supplier card instead of contact card on List.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MODULE_SETUP_ON_LIST_BY_DEFAULT&#039;&#039;&#039; ► If set to &amp;quot;common&amp;quot; the setup module becomes list by defaut&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PAGESIZE_CHOICES&#039;&#039;&#039;  ► Configure select field to choose number of lines displayed on listing (&amp;lt;code&amp;gt;10:10,15:15,20:20,30:30,40:40,50:50,100:100,250:250,500:500,1000:1000,5000:5000&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_TOP_MENU_QUICKADD_DROPDOWN&#039;&#039;&#039; ► Add a dropdown menu with shortcuts to create new objects ► (v13.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EMAILCOLLECTOR_MAIL_WITHOUT_HEADER&#039;&#039;&#039; ► Remove the header stored by email collector ► (v13.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_VAT_OF_PRODUCT_FOR_COMPANIES_IN_EEC_WITH_INVALID_VAT_ID&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_OPTIMIZEFORTEXTBROWSER&#039;&#039;&#039; ► Optimise interface for a text only browser. This variable is set to 1 automatically if your browser is lynx or links&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_NB_OF_YEAR_IN_WIDGET_GRAPH&#039;&#039;&#039; ► Set the number of years visible on some graph of some widgets (2 is default value)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_CREATEFROM_KEEP_LINE_ORIGIN_INFORMATION&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;API_DISABLE_LOGIN_API&#039;&#039;&#039; ►(v14.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_LOGIN_BADCHARUNAUTHORIZED&#039;&#039;&#039; ► Add possibility to define bad character unauthorized into login name REGEX expression (Default value is @&amp;lt;&amp;gt;&amp;quot;\&#039;)  ► (v16.0)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SHOW_ALL_FILES_ON_DOCUMENT_TOOLTIP&#039;&#039;&#039;  ► Add all files visible from the object to be visible from the list of object.&lt;br /&gt;
*&#039;&#039;&#039;MAIN_LIST_ALLOW_PUBLIC_NOTES&#039;&#039;&#039;  ► Display public notes on list&lt;br /&gt;
*&#039;&#039;&#039;MAIN_LIST_ALLOW_PRIVATE_NOTES&#039;&#039;&#039;  ► Display private notes on list&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_CHECKBOX_LEFT_COLUMN&#039;&#039;&#039; ► Display private check boxes on the left ► (v17.0)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_STATS_GRAPHS_SHOW_N_YEARS&#039;&#039;&#039; ► Nb of years to shows in widget and graph ► (v14.0)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_HOOK_DEBUG&#039;&#039;&#039; ► if &amp;gt;=2 the hook in the logs are more verbose ► (v18.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ENABLE_AJAX_TOOLTIP&#039;&#039;&#039; ► if 1 the tooltips are updated with AJAX request ► (v18.0)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_NO_INPUT_PRICE_WITH_TAX&#039;&#039;&#039; ► if 1 the TTC input field is removed from propal/invoices/... ► (v17.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_SELECT2_FOCUS_PROTECTION&#039;&#039;&#039; ► if 1 disable the focus protection ► (v17.0)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_ADVANCED_PERMS ►&#039;&#039;&#039; Add advanced user permission&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FREE_PRODUCT_CHECKED_BY_DEFAULT ►&#039;&#039;&#039; Check &amp;quot;product&amp;quot; or &amp;quot;service&amp;quot; by default on order/invoices/propal cards (set value &amp;quot;product&amp;quot; or &amp;quot;service&amp;quot;)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_LINK_BY_REF ►&#039;&#039;&#039; Allow to link documents by choosing the type and ref from the object linked option&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Official supported option&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following options are not hidden option. They are available by default from the interface.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ONLY_LOGIN_ALLOWED ►&#039;&#039;&#039; Activate maintenance mode and set user that is allowed to login. Value must be user login. Available into menu Home - Admin tools - User session, it is filled with admin user when clicking on button &amp;quot;Block other session&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Security Options=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SECURITY_ANTI_SSRF_SERVER_IP&#039;&#039;&#039; ► Can set a complete list of IPs of server.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SECURITY_CSRF_WITH_TOKEN&#039;&#039;&#039; ► Activate a second anti-CSRF protection on POST (so a POST from another web site can&#039;t be done). Note there is also a default protection using test on referrer that is not reliable. This second protection uses TOKEN on forms and is more powerful. Value can be: 0=CSRF protection disabled; 1=CSRF protection is on POST URLs only (default from version Dolibarr 15.0+); 2=CSRF protection is required on POST + some GET URL that contains some white listed parameters like the parameter &amp;quot;action&amp;quot; used to request database change (default from version Dolibarr 16+), 3=CSRF protection is enabled on any POST and GET URLs (a valid CSRF token is expected whatever are the parameters, warning: can be enabled on Dolibarr but some external modules developped by thirdparty may not be ready yet with this option)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MODULES_FOR_EXTERNAL&#039;&#039;&#039; ► Limit available modules for external users. By default value is &#039;&amp;lt;code&amp;gt;facture,commande,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda&amp;lt;/code&amp;gt;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ALLOW_SVG_FILES_AS_IMAGES&#039;&#039;&#039; ► Allow to use SVG file as image files. Warning: This may introduce security vulnerability (javascript can be embedded into SVG file).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_RESTRICTHTML_ONLY_VALID_HTML&#039;&#039;&#039; ► Refused parameter if value is not a valid HTML content. The content is also sanitized with Tidy.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_RESTRICTHTML_ONLY_VALID_HTML_TIDY&#039;&#039;&#039; ► Refused parameter if value is not a HTML content validated by Tidy PHP library. The content is also sanitized with Tidy.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_RESTRICTHTML_REMOVE_ALSO_BAD_ATTRIBUTES&#039;&#039;&#039; ► Sanitize also non standard attributes on HTML content.&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SECURITY_SALT&#039;&#039;&#039; ► A salt string to base the hashing on. 8 strings length recommended.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SECURITY_MAX_IMG_IN_HTML_CONTENT&#039;&#039;&#039; ► Maximum number of Images on the HTML content&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SECURITY_ALLOW_UNSECURED_LABELS_WITH_HTML&#039;&#039;&#039; ► Allow HTML tags into products label&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SECURITY_FORCERP&#039;&#039;&#039; = &amp;quot;strict-origin-when-cross-origin&amp;quot; (default) so browser doesn&#039;t send any referrer when going into another web site domain / &amp;quot;same-origin&amp;quot; / &amp;quot;strict-origin&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Adherent Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MEMBER_NEWFORM_FORCEMORPHY&#039;&#039;&#039; ► Force nature of member set to &amp;quot;phy&amp;quot; for physical or to &amp;quot;mor&amp;quot; for moral ► (v12.0)&lt;br /&gt;
*&#039;&#039;&#039;MEMBER_ALLOW_CHANGE_OF_TYPE&#039;&#039;&#039; ► Member can edit their type on public subscription page ► (v13.0)&lt;br /&gt;
*&#039;&#039;&#039;ADHERENT_DEFAULT_CREATE_THIRDPARTY&#039;&#039;&#039; ► Thirdparty is created when creating a new member ► (v13.0)&lt;br /&gt;
*&#039;&#039;&#039;MEMBER_SUBSCRIPTION_SUGGEST_END_OF_MONTH&#039;&#039;&#039; ► If set to 1, the member subscription end date will be suggested for the end of the month ► (v18.0)&lt;br /&gt;
*&#039;&#039;&#039;MEMBER_SUBSCRIPTION_SUGGEST_END_OF_YEAR&#039;&#039;&#039; ► If set to 1, the member subscription end date will be suggested for the end of the year ► (v18.0)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_NB_OF_YEAR_IN_MEMBERSHIP_WIDGET_GRAPH&#039;&#039;&#039; ► If set, it limits the number of years visible on graph and widgets of membership (empty is default value to show all) ► (v18.0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Accountancy Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ACCOUNTANCY_COMBO_FOR_AUX&#039;&#039;&#039; ► Add graphic option for ACCOUNTANCY_COMBO_FOR_AUX. Having this option on may slow down and even freeze the accounting features if you have a very large number of thirdparties ► (v10.0)&lt;br /&gt;
*&#039;&#039;&#039;ACCOUNTING_DEFAULT_NOT_NOTIFIED_VALIDATION_DATE&#039;&#039;&#039; ► Avoid validating the lines with the accountancy export.(1= box unchecked by default / 0 = box checked by default) ► (v14.0)&lt;br /&gt;
*&#039;&#039;&#039;ACCOUNTING_DEFAULT_NOT_NOTIFIED_EXPORT_DATE&#039;&#039;&#039; ► Avoid flagging the lines as exported with the accountancy export.(1= box unchecked by default / 0 = box checked by default) ► (v14.0)&lt;br /&gt;
*&#039;&#039;&#039;ACCOUNTANCY_USE_PRODUCT_ACCOUNT_ON_THIRDPARTY ►&#039;&#039;&#039; Add 2 fields on thirdparty card which allow you to set an account for all sells products and an other for all buying products for this customer ► (v14.0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Agenda Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AGENDA_ALL_CALENDARS&#039;&#039;&#039; ► Change the default view of calendar pages to see all the Agenda&#039;s (instead or yours only be default)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS&#039;&#039;&#039; ► To automatically set end date of event to start date + delta on event creation page.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AGENDA_DISABLE_LOCATION&#039;&#039;&#039; ► Disable location field in action card  ► (&amp;gt;=v5.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AGENDA_MAX_EVENTS_DAY_VIEW&#039;&#039;&#039; ► Define the maximum number of visible entries for each day in agenda. Default value is 3. Value 0 means no limit.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AGENDA_USE_EVENT_TYPE&#039;&#039;&#039; ► Add a mandatory field &amp;quot;Type&amp;quot; when creating an event (&#039;&#039;&#039;&#039;&#039;deprecated&#039;&#039;&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ADD_EVENT_ON_ELEMENT_CARD&#039;&#039;&#039; ► Allow to create an event from a document (proposal, order, invoice)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AGENDA_SUPPORT_PRIORITY_IN_EVENTS&#039;&#039;&#039; ► Allow to have priorities in events ► (&amp;gt;=v13.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AGENDA_ADDACTIONFORPHONE&#039;&#039;&#039; ► Allow you to create a event from phone number ► (=&amp;lt;v12.0) - Need to be fix for (=&amp;gt;v12.0) https://github.com/Dolibarr/dolibarr/issues/22720&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AGENDA_ADDACTIONFOREMAIL&#039;&#039;&#039; ► Allow you to create a event from Email ► (=&amp;lt;v12.0) - Need to be fix for (=&amp;gt;v12.0) https://github.com/Dolibarr/dolibarr/issues/22720&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ACTIONCOM_CAN_ADD_ANY_CONTACT&#039;&#039;&#039; ► Allow you to add any contact on events if set at 1a https://github.com/Dolibarr/dolibarr/releases/tag/18.0.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
=Bank Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;BANK_CAN_RECONCILIATE_CASHACCOUNT&#039;&#039;&#039; ► Can reconciliate cash accounts ► (v3.8)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;BANK_DISABLE_CHECK_DEPOSIT&#039;&#039;&#039; ► Disable check deposit feature&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;BANK_ASK_PAYMENT_BANK_DURING_ORDER&#039;&#039;&#039; ► Ask bank account during creation of an order&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL&#039;&#039;&#039; ► Ask bank account during creation of a proposal&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;BANK_USE_OLD_VARIOUS_PAYMENT&#039;&#039;&#039; ► To allow to enter miscellaneous payments (not covered by other modules) using old method. &#039;&#039;&#039;&#039;&#039;Deprecated&#039;&#039;&#039;&#039;&#039;. Entering various payment is preferred ► (&amp;lt;=v12.0).&lt;br /&gt;
*&#039;&#039;&#039;MAIN_IBAN_IS_NEVER_MANDATORY&#039;&#039;&#039; ► IBAN and BIC informations not mandatory. (V15)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=BOM and MO Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ALLOW_USE_KITS_INTO_BOM_AND_MO&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;BOM_SUB_BOM&#039;&#039;&#039; ►Allow to add a BOM in another BOM►(v16.0)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Bookmarks Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;BOOKMARKS_SHOW_IN_MENU&#039;&#039;&#039; ► Numbers of bookmark entries to be displayed (10 by default)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Inalterable Log Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;BLOCKEDLOG_ADD_ACTIONS_SUPPORTED&#039;&#039;&#039; ► Can complete list of triggered action that are logged&lt;br /&gt;
*&#039;&#039;&#039;BLOCKEDLOG_USE_REMOTE_AUTHORITY&#039;&#039;&#039; ► URL of the remote authority for the blockchain&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Category-Tags Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CATEGORY_SHOW_COUNTS&#039;&#039;&#039; ► Shows nb of object by tags in tag tree&lt;br /&gt;
*&#039;&#039;&#039;CATEGORY_EDIT_IN_MENU_NOT_IN_POPUP ►&#039;&#039;&#039; Display categories menu instead of managing it only from &amp;quot;Tools&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Contracts=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CONTRACT_SUPPORT_PRODUCTS&#039;&#039;&#039; ► Products are also suggested into module contract.&lt;br /&gt;
*&#039;&#039;&#039;CONTRACT_ALLOW_EXTERNAL_DOWNLOAD&#039;&#039;&#039; ► When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. ► (v7.0+)&lt;br /&gt;
*&#039;&#039;&#039;CONTRACT_HIDE_PLANNED_DATE_ON_PDF&#039;&#039;&#039; ► allows you to not display dates on pdf files.&lt;br /&gt;
*&#039;&#039;&#039;CONTRACT_HIDE_REAL_DATE_ON_PDF&#039;&#039;&#039; ► allows you to not display dates on pdf files.&lt;br /&gt;
*&#039;&#039;&#039;CONTRACT_HIDE_PRICE_ON_PDF&#039;&#039;&#039; ► allows you to not display price on pdf files.&lt;br /&gt;
*&#039;&#039;&#039;CONTRACT_HIDE_QTY_ON_PDF&#039;&#039;&#039; ► allows you to not quantity dates on pdf files.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Cron module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CRON_DISABLE_KEY_CHANGE&#039;&#039;&#039; ► When you provide an instance to a customer, you probably also add an entry in the cron of this user so Dolibarr batch and scheduler can work correctly. For security purpose, it may have a security key that is inside the command line into the cron entry and this entry must match the value defined into Dolibarr setup (setup of module &#039;Scheduled Jobs&#039;). Because, a customer of a Saas platform will probably have no access to edit the cron file, it is also import that he has no way to edit the key into the Dolibarr setup, so the key in the cron command line will always match the key in Dolibarr setup, and the Dolibarr batches will executed without security errors. To be sure, the customer does not change the value, you can set this constant to 1 into the table [[Table_llx_const]].&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CRON_DISABLE_TUTORIAL_CRON&#039;&#039;&#039; ► Disable the tutorial about how to install the cron script (on a SaaS hosting, this should be done by the web hosting provider)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CRON_WARNING_DELAY_HOURS&#039;&#039;&#039; ► Set this value to the frequency set for the cron script (so a warning will be shown to user to warn it about max frequency of its scheduled jobs)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Direct Debit Orders=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;WITHDRAWAL_ALLOW_ANY_INVOICE_STATUS&#039;&#039;&#039; ► If this option is set, all invoices status (even already paid) may appear on the list of invoices qualified for a direct debit payment. This is the list of invoices with a payment request done, and not linked to a direct debit payment. By default, only &amp;quot;unpayed&amp;quot; invoices are used to avoid to pay twice the same invoice.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Donation Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;DONATION_USE_THIRDPARTIES&#039;&#039;&#039; ► If this option is set, a thirdparty field appear on donation forms.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
=Email=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_COPY_FILE_IN_EVENT_AUTO&#039;&#039;&#039; ► Add attachment document on event auto generated by sending email from dolibarr. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EMAIL_USE_LAYOUT&#039;&#039;&#039;► Enable the use of predefined layout when writing an email.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAILFORM_DISABLE_ENTERKEY&#039;&#039;&#039; ► Activate JavaScript code to disable the enter key in the MAIL form. ► (&amp;gt;= 8.0.1)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_DEBUG&#039;&#039;&#039; ► Write content with header of last mail into file &amp;lt;code&amp;gt;dolibarr_mail.log&amp;lt;/code&amp;gt; into directory &amp;lt;code&amp;gt;dolibarr_main_data_root&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_DEBUG_ERR_WITH_DATE&#039;&#039;&#039; ► Use a different filename (by adding a prefix of date) for each email sent with error when MAIN_MAIL_DEBUG.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_DEBUG_LOG_WITH_DATE&#039;&#039;&#039; ► Use a different filename (by adding a prefix of date) to log each email sent (whatever is result) when MAIN_MAIL_DEBUG.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_FORCE_FROM&#039;&#039;&#039; ► (v19+) Can force the value into the From field of the SMTP header. Note that email sender is always saved into the &amp;quot;Reply-To&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_ALLOW_SENDMAIL_F&#039;&#039;&#039; ► On Linux or BSD system, PHP email function use the command sendmail local to server. In some cases, the sender email must be provided on command line of sendmail with option &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt;. This option is here to ask Dolibarr to call the function mail of PHP by adding value for the option &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt;. Note that in most cases, even with sendmail, sender email is correctly managed as it is added in the email technical header. This option is here only for setup or version of sendmail that ask the -f option to be mandatory or for sendmail setup that does not use by default the From of the header email to define the sender (with this option, the from can be forced on command line to avoid to have the from lost by sendmail).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_SENDMAIL_FORCE_BA&#039;&#039;&#039; ► On Linux or BSD system, PHP email function use the command sendmail local to server. In some case, we want to recipient to be provided to sendmail into the email content instead of its command line parameter. For this we must add the -ba parameter to sendmail. This option asks PHP to provide this parameter when sending a mail. Note that another solution is to edit the mail.force_extra_parameters=-ba into &amp;lt;code&amp;gt;php.ini&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_NO_FULL_EMAIL&#039;&#039;&#039; ► Recipient email and sender are cleaned to be on form &amp;quot;&amp;lt;email&amp;gt;&amp;quot; instead of &amp;quot;Name &amp;lt;email&amp;gt;&amp;quot;. This might solve problem of compatibility with very old mailers.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FIX_FOR_BUGGED_MTA&#039;&#039;&#039; ► Some MTA agent are bugged and add some CR chars each time they saw a LF. Because Dolibarr emails are forged to be already cleaned, if MTA agent do that, you will send an email with two CR chars. This may result in having recipient not able to read your email. To fix this, add this constant to 1. Dolibarr will then create an email that is not RFC compliant but because the MTA agent is bugged, the email will be modified and become correct during sending, solving the problem of bad email received. Add this constant if your recipient experience problems when opening email for example users using webmail of &amp;lt;code&amp;gt;orange.fr&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;hotmail.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_DO_NOT_USE_SIGN&#039;&#039;&#039; ► Do not add user signature at end of suggested pre-defined email&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_FORCE_NOT_SENDING_TO&#039;&#039;&#039; ► If en email is defined into this variable, emails will never be sent to this email.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIL_FORCE_DELIVERY_RECEIPT_INVOICE&#039;&#039;&#039; ► Set default as &amp;quot;Yes&amp;quot; on requesting delivery receipt when sending email through the &#039;&#039;Customer Invoice&#039;&#039; module.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIL_FORCE_DELIVERY_RECEIPT_ORDER&#039;&#039;&#039; ► Set default as &amp;quot;Yes&amp;quot; on requesting delivery receipt when sending email through the &#039;&#039;Customer Order&#039;&#039; module.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIL_FORCE_DELIVERY_RECEIPT_PROPAL&#039;&#039;&#039; ► Set default as &amp;quot;Yes&amp;quot; on requesting delivery receipt when sending email through the &#039;&#039;Customer Proposal&#039;&#039; module.&lt;br /&gt;
*&#039;&#039;&#039;MAIL_FORCE_DELIVERY_RECEIPT_SUPPLIER_PROPOSAL&#039;&#039;&#039; ► Set default as &amp;quot;Yes&amp;quot; on requesting delivery receipt when sending email through the &#039;&#039;Supplier Proposal&#039;&#039; module.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EMAIL_SUPPORT_ACK ►&#039;&#039;&#039; Restore email acknowledgment checkbox on sending emails. This feature is commonly abandoned by mailers. Active from Dolibarr V17 - see [https://github.com/Dolibarr/dolibarr/blob/33744f74da1a5c20f8aa9950018ab4e549e00205/ChangeLog#L53 changelog]&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EMAIL_USECCC&#039;&#039;&#039; ► 1 = Shows field BCC into email forms, If value is an email = Shows the BCC pre filled with the email value.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_AUTOCOPY_PROPOSAL_TO&#039;&#039;&#039;, &#039;&#039;&#039;MAIN_MAIL_AUTOCOPY_ORDER_TO&#039;&#039;&#039;, &#039;&#039;&#039;MAIN_MAIL_AUTOCOPY_INVOICE_TO&#039;&#039;&#039;, &#039;&#039;&#039;MAIN_MAIL_AUTOCOPY_SHIPMENT_TO&#039;&#039;&#039;, &#039;&#039;&#039;MAIN_MAIL_AUTOCOPY_..._TO&#039;&#039;&#039; ► Email to use as a BCC recipient when sending email for proposal, order or invoice. You can make this value visible by setting MAIN_EMAIL_USECCC (to 1 or to another email, see previous point)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EMAIL_ADD_TRACK_ID&#039;&#039;&#039; ► When value is 1 (this is also default value if option is not set): The record &amp;quot;Message-id&amp;quot; added into smtp header includes a tracking id to define where the email was sent from. When value is 2: you send an email from third party card, the sender email is completed with the email source tracking string  &amp;quot;+thiXXX&amp;quot; on email (your email will be sent with the &amp;quot;From&amp;quot; that is myname+thi123@mycompany.com). So when user receiving email will make &amp;quot;Answer&amp;quot;, email will be sent to myname@mycompany.com but with the tracking id included (into header or into target email), allowing you to know to which third party or object, the email exchange is related to.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL&#039;&#039;&#039; ► Restrict sending of 1 email message to &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; recipients for same email message (x for To: + CC: + BCC:). If not defined, value is &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;. Required to fight against spamming that include 1000 recipients in 1 message. Note that &#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL&#039;&#039;&#039;, &#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL&#039;&#039;&#039; and &#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL&#039;&#039;&#039; are also available.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML&#039;&#039;&#039; ► Force to send all email (event with text only content) as HTML formatted email.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_USE_MULTI_PART&#039;&#039;&#039; ► Forge email content using an alternate text part ► (for 5.0.2+). By default with 6.0+&lt;br /&gt;
*&#039;&#039;&#039;MAIN_INFO_SOCIETE_MAIL_ALIASES&#039;&#039;&#039; ► add address aliases for the from field on mail. Set his value with &amp;quot;Firstname Name &amp;lt;firstname.lastname@mydomain.tld, Otherfirstname OtherlastName &amp;lt;othermail@mydomain.tld&amp;gt;,...&amp;quot; ► (v5.0.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS&#039;&#039;&#039; ► If images were stored into the medias directory from CKEditor, then images into emails are replaced with &amp;quot;inline content&amp;quot;. This may increase seriously risk of being detected as SPAM.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS&#039;&#039;&#039; ► (A better name of this option should be MAIN_EXTERNAL_MAIL_CLIENT_IP_ADDRESS). Set here the list of IPs where your Dolibarr instances are hosted. You can also set the URLs where to get the IP addresses, for exemple: &amp;quot;https://ipv4.urltoshowip.com/_service_showmyip.php,https://ipv6.urltoshowup.com/_service_showmyip.php. So when your customer go into the setup area of email:&lt;br /&gt;
**If he chose mail method, a message will explain him how to setup its SPF record for its email domain (showing the list of IP). This is to avoid to have its emails, sent from its Dolibarr instance, fails due to strict antispam rule of some emailing servers.&lt;br /&gt;
**If he chose smtp method, a message will explain him the list of IP he can use if there is restriction on IP by the SMTP agent. If you also need to add a message to help SPF setup, see option &#039;&#039;&#039;MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_IMAP_USE_PHPIMAP&#039;&#039;&#039; ► Use embedded PHP-imap library (not using the native php imap) instead of native php imap extension ► (v17.0+, available as official option in setup of emailcollector by default from v19)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_ENABLED_USER_DEST_SELECT&#039;&#039;&#039; ► Show also internal users into list of recipients of email in email sending form ► (v8.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIL_PREFIX_FOR_EMAIL_ID&#039;&#039;&#039; ► Prefix for the mails ID. Default value is &amp;lt;code&amp;gt;$_SERVER[&amp;quot;SERVER_NAME&amp;quot;]&amp;lt;/code&amp;gt; ► (&amp;gt;= 8.0.1)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=SMS= &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SMS_DEBUG&#039;&#039;&#039; ► Write content of SMS sent into file &amp;lt;code&amp;gt;dolibarr_sms.log&amp;lt;/code&amp;gt; into directory &amp;lt;code&amp;gt;dolibarr_main_data_root&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Emailing Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_PREFIX_FOR_EMAIL_ID&#039;&#039;&#039; ► Set the value that will be used to compose the &amp;quot;Email ID&amp;quot; into email headers. If you set this value to &#039;&amp;lt;code&amp;gt;SERVER_NAME&amp;lt;/code&amp;gt;&#039;, the virtual host of web server will be used. By default, this is not defined, so a hash key, unique to each instance, is used.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_NO_USING_PHPMAIL&#039;&#039;&#039; ► If set, the module emailing can&#039;t be used with mail setup of &amp;quot;phpmail&amp;quot;. Using a thirdparty SMTP server is required. You can complete warning message by adding an email to contact for setup help with constant &amp;lt;code&amp;gt;&#039;&#039;&#039;MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS&#039;&#039;&#039;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS&#039;&#039;&#039; ► Contains the email of contact to show into the message visible to a user when he try to use emailing module without SMTP server and if option &#039;&#039;&#039;MAILING_NO_USING_PHPMAIL&#039;&#039;&#039; is set to on.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_LIMIT_WARNING_PHPMAIL&#039;&#039;&#039; ► Show a warning message (var contains the &#039;&#039;&#039;message to show&#039;&#039;&#039;, or &#039;&#039;&#039;translation key&#039;&#039;&#039;) on emailing send form if setup is on &amp;quot;phpmail&amp;quot;. Note: The application always try to translation the message considering the message is a translation key, before showing the translation or message if translation was not found.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_LIMIT_WARNING_NOPHPMAIL&#039;&#039;&#039; ► Show a warning message (var contains the &#039;&#039;&#039;message to show&#039;&#039;&#039;, or &#039;&#039;&#039;translation key&#039;&#039;&#039;) on emailing send form if setup is something else than &amp;quot;phpmail&amp;quot;. Note: The application always try to translation the message considering the message is a translation key, before showing the translation or message if translation was not found.&lt;br /&gt;
*&#039;&#039;&#039;EMAILING_USE_ADVANCED_SELECTOR&#039;&#039;&#039; ► Enable the advanced selector for recipients.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_LIMIT_SENDBYWEB&#039;&#039;&#039; ► Restrict number of emails you can send in same sending session with emailing module from GUI. The value &amp;quot;&amp;lt;code&amp;gt;dolibarr_mailing_limit_sendbyweb&amp;lt;/code&amp;gt;&amp;quot; if defined into config file is used in priority for this limit. A negative value means, sending by web is forbidden.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_LIMIT_SENDBYCLI&#039;&#039;&#039; ► Restrict number of emails you can send in same sending session with emailing module from CLI script. The value &amp;quot;&amp;lt;code&amp;gt;dolibarr_mailing_limit_sendbycli&amp;lt;/code&amp;gt;&amp;quot; if defined into config file is used in priority for this limit.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Expense Report=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS&#039;&#039;&#039; ► Can enter several expense reports on same or overlapping date periods. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;EXPENSEREPORT_OVERRIDE_VAT&#039;&#039;&#039; ► Setting this constant to 1 will allow expense reports to show VAT even if the global VAT setting is off ► (v10.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;EXPENSEREPORT_USE_OLD_NUMBERING_RULE&#039;&#039;&#039; ► The module Expense Report use numbering rules that you can setup (like other modules do). If you need to keep the hard-coded numbering rule of expenses report used in v6.0 set this constant to 1 ► (&amp;gt;=v7.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_EXPENSE_IK&#039;&#039;&#039; ► This feature allows you to set index kilometres against a mileage index for different types of vehicles. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_EXPENSE_RULE&#039;&#039;&#039; ► This feature allows you to set a variety of rules per user/group/all so they can only create reports within their limits. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Export Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;EXPORT_CSV_SEPARATOR_TO_USE&#039;&#039;&#039; ► String value to use as default separator to delimit fields of exported files (by default Dolibarr uses &amp;quot;&amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt;&amp;quot;). Example: EXPORT_CSV_SEPARATOR_TO_USE=&amp;lt;code&amp;gt;;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;EXPORT_CSV_FORCE_CHARSET&#039;&#039;&#039; ► Choose the charset used in the output file built by the CSV exporter. By default it is ISO-8859-1. Example: EXPORT_CSV_FORCE_CHARSET= &amp;lt;code&amp;gt;utf-8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;EXPORTTOOL_CATEGORIES&#039;&#039;&#039; ► Can export categories (several lines) into one column with the &amp;quot;product export profile&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;USE_STRICT_CSV_RULES&#039;&#039;&#039; ► Use strict/real CSV format for export. Do not clean/replace CR+LF with &#039;\n&#039; but quote them using the escaping CSV char (&amp;lt;code&amp;gt;&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
*&#039;&#039;&#039;EXPORTS_SHARE_MODELS&#039;&#039;&#039;  ► Share export models between users.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Foundation Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MEMBER_URL_REDIRECT_SUBSCRIPTION&#039;&#039;&#039; ► Link called and shown when a member account is autocreated in member module by a guest user.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MEMBER_EXT_URL_SUBSCRIPTION_INFO&#039;&#039;&#039; ► Link of external page pointed by the &amp;quot;Show here&amp;quot; link added in front of payment cell, into the page to make online subscription.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=Holiday Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;HOLIDAY_HIDE_BALANCE&#039;&#039;&#039; ► Hide the user&#039;s vacation balance on the vacation request page&lt;br /&gt;
&lt;br /&gt;
[https://wiki.dolibarr.org/Setup_Other#Top (back to top)]&lt;br /&gt;
=Interventions Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;FICHINTER_CLASSIFY_BILLED&#039;&#039;&#039;► Allow to classify an intervention card as &amp;quot;Billed&amp;quot;. This add also trigger &amp;lt;code&amp;gt;FICHINTER_CLASSIFY_BILLED&amp;lt;/code&amp;gt; into list of possible automatic event into agenda.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;FICHINTER_DISABLE_DETAILS&#039;&#039;&#039;► Disable entry of detail lines on intervention. Can validate with no line. Only one line will be shown per intervention on list.&lt;br /&gt;
**If set to &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; details are disabled only on intervention list ► (v21.0+)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Invoice Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DEPOSIT_MULTI_TVA&#039;&#039;&#039; ► In deposits invoice, creates one line per VAT rate from the origin document ► (6.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED&#039;&#039;&#039; ► If a credit note was partially refunded (a refund was sent to the customer), with common situation, we wait to have the remain refunded too. With this option, it is possible to convert the remain of invoice into a discount to reuse it into another invoice.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED&#039;&#039;&#039; ► See INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED, but for supplier credit notes.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_CAN_BE_EDITED_EVEN_IF_PAYMENT_DONE&#039;&#039;&#039; ► Allow to edit invoices even if payment was started. Note: If the module &amp;quot;BlockedLog&amp;quot; is active (required in some countries for legal reasons), this will not change content of archived logs tracked by this module. By definition there is no way to change or remove archived records. It will just update data in your application and a new record to track your change into the read-only archive log.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_CAN_ALWAYS_BE_REMOVED&#039;&#039;&#039; ► Allow to always delete invoices (even if invoice is not last one). Note: If the module &amp;quot;BlockedLog&amp;quot; is active (required by some countries for legal reason), this will not change content of archived logs tracked by this module. By definition there is no way to change or remove archived records. It will just update data in your application and a new record to track your change into the read-only archive log.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_CAN_NEVER_BE_EDITED&#039;&#039;&#039; ► Never allow to edit invoices (except draft invoices with ref like (PROV%)). See also INVOICE_CAN_NEVER_BE_REMOVED.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_CAN_NEVER_BE_REMOVED&#039;&#039;&#039; ► Never allow to delete invoices (except draft invoices with ref like (PROV%)). See also INVOICE_CAN_NEVER_BE_EDITED&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_POSITIVE_CREDIT_NOTE&#039;&#039;&#039; ► All amounts on PDF credit notes are positive.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;FACTURE_DEPOSITS_ARE_JUST_PAYMENTS&#039;&#039;&#039; ► An old way to create initial payment. This treats deposit invoices as a special case and not as legal deposit invoice. Deposit invoices don&#039;t get counted on turnover. They are then applied as a payment, like a discount, on the final invoice. By default, when you include the deposit into draft of final invoice, the amount of final invoice is reduced. With this option, final amount is not reduced but a payment is registered. WARNING: In a lot of european countries, using this option is not allowed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;FACTURE_SENDBYEMAIL_FOR_ALL_STATUS&#039;&#039;&#039; ► Can send invoice by email to customer even if invoice has status &amp;quot;draft&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_CREDIT_NOTE_STANDALONE&#039;&#039;&#039; ► Start implementation to allow a credit note even without invoice (dangerous) ► (v3.9)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_USE_SITUATION&#039;&#039;&#039; ► 1=Enable the &amp;quot;situation invoice&amp;quot; feature. Warning, this feature is bugged and may not be compatible with the final version of the feature once the bug will be solved. Also, using the double-entry accountancy module is not possible when this option is on (due to the same design problem). 2=Enable the &amp;quot;situation invoice&amp;quot; feature with a rewrite. This mode should be better to become a future stable feature.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_USE_SITUATION_CREDIT_NOTE&#039;&#039;&#039; ► Enable the &amp;quot;situation credit note&amp;quot; feature (need &amp;lt;code&amp;gt;INVOICE_USE_SITUATION&amp;lt;/code&amp;gt;) ► (v8.0)&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_USE_RETAINED_WARRANTY&#039;&#039;&#039; ► Enable the retained warranty on invoice ► (v14.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_DISABLE_DEPOSIT&#039;&#039;&#039; ► Disable deposit invoices&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_DISABLE_REPLACEMENT&#039;&#039;&#039; ► Disable replacement invoices&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_DISABLE_CREDIT_NOTE&#039;&#039;&#039; ► Disable credit notes&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;bdi&amp;gt;&#039;&#039;&#039;INVOICE_ADD_EXTRAFIELD_IN_NOTE&#039;&#039;&#039; ► Add extrafields in note for canelle template ► (v17.0+)&amp;lt;/bdi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_DEFAULT_NOTE_PUBLIC&#039;&#039;&#039; &amp;lt;bdi&amp;gt;► Default text in public note&amp;lt;/bdi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: To decode a QR image of a ZATCA code: https://www.onlinebarcodereader.com/. You can also use the mobile application https://play.google.com/store/apps/details?id=com.posbankbh.einvoiceqrreader&amp;amp;gl=FR&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT&#039;&#039;&#039; ► See PDF option&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN&#039;&#039;&#039; ► See PDF options&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;WORKFLOW_BILL_ON_SHIPMENT&#039;&#039;&#039; ► Change label of button with suitable label when you need to create invoice on shipments&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_ALLOW_EXTERNAL_DOWNLOAD&#039;&#039;&#039; ► When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. Use the tag __DIRECTDOWNLOAD_URL_INVOICE__ in email template to insert it. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_POINTOFTAX_DATE&#039;&#039;&#039; ► Add Point of Tax Date on invoices for country-specific legality reasons ► (v4.0+)&lt;br /&gt;
*&#039;&#039;&#039;FACTURE_ENABLE_NEGATIVE&#039;&#039;&#039; ► Can validate an invoice when amount is negative&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;FACTURE_ENABLE_NEGATIVE_LINES&#039;&#039;&#039; ► Allows to add negative lines to an invoice ► (v8.0.2+)&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_INVOICE_ENABLE_NEGATIVE&#039;&#039;&#039; ► Can validate an supplier invoice when amount is negative ► (V21 ?)&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_INVOICE_ENABLE_NEGATIVE_LINES&#039;&#039;&#039; ► Allows to add negative lines to an supplier invoice ► (V21 ?)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_USE_DEFAULT_DOCUMENT&#039;&#039;&#039; ► Allow user to select a default invoice documents models according to invoice type. On invoice create page, the model is dynamically changed on invoice type selection. ► (v9.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;FACTURE_REUSE_NOTES_ON_CREATE_FROM&#039;&#039;&#039; ► Reuse the Public Note and Private note of the previous object (Proposal,...) when creating the bill.&lt;br /&gt;
*&#039;&#039;&#039;FACTUREFOURN_REUSE_NOTES_ON_CREATE_FROM&#039;&#039;&#039; ► Reuse the Public Note and Private note of the previous object when creating the supplier bill ► (V13.0)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SHOW_FACNUMBER_IN_DISCOUNT_LIST&#039;&#039;&#039; ► Display the reference of credit notes in discount list when creating the bill.&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_ALLOW_FREE_REF&#039;&#039;&#039; ► Capability to change reference of an invoice. This will be possible as long as the invoice has the status “Draft” and only if your country is not in Europe(V11)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_DISALLOW_REOPEN&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_MAX_FUTURE_DELAY&#039;&#039;&#039; ► Numbers of seconds allowed for billing in the future ► (V14.0)&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_AUTO_NEXT_MONTH_ON_LINES&#039;&#039;&#039; ► Increase start date and end date by one month, if an invoice line is a clone of a time based service AND if this services started on the first day of month and ended on the last day of month ► (V13.0.1)&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_KEEP_DISCOUNT_LINES_AS_IN_ORIGIN&#039;&#039;&#039; ► Does not change a line with a negative price into an absolute discount when creating an invoice ► (V16 ?)&lt;br /&gt;
*&#039;&#039;&#039;INVOICEREC_SET_AUTOFILL_DATE_START&#039;&#039;&#039; and &#039;&#039;&#039;INVOICEREC_SET_AUTOFILL_DATE_END ►&#039;&#039;&#039; Set start and end date to yes for lines of template invoice when created from a draft invoice ► (V16)&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_REC_DATE_TO_YES&#039;&#039;&#039; &#039;&#039;&#039;►&#039;&#039;&#039; Set start and end date to yes by default in add line form for template invoice ► (V16)&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_SUBTYPE_ENABLED&#039;&#039;&#039; ► Extends Dolibarr standard invoice with more invoice types used in some countries. A combo box in the new invoice creation card allows the selection of &amp;quot;subtypes&amp;quot; with values from dictionary &amp;quot;Invoice Subtypes&amp;quot; ► (v19.0+)&lt;br /&gt;
*&#039;&#039;&#039;LIST_OF_QUALIFIED_INVOICES_LIMIT_DEFINED&#039;&#039;&#039; &#039;&#039;&#039;►&#039;&#039;&#039; Perf options to limit list of invoices for &amp;quot;credit note&amp;quot; source (on form &amp;quot;create a credit note&amp;quot;), usable for big quantities of invoices for one customer like you can have with TakePos ► (V22+)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Leave=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_NON_WORKING_DAYS_INCLUDE_SATURDAY&#039;&#039;&#039; ► Set this value to 0 if you want to have the Saturday as a working day&lt;br /&gt;
*&#039;&#039;&#039;MAIN_NON_WORKING_DAYS_INCLUDE_SUNDAY&#039;&#039;&#039; ► Set this value to 0 if you want to have the Sunday as a working day&lt;br /&gt;
&lt;br /&gt;
=Look or Theme=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FAVICON_URL&#039;&#039;&#039; ► favicon url&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EASTER_EGG_COMMITSTRIP&#039;&#039;&#039; ► Show a comic image from the CommitStrip website. Images are refreshed daily. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_STATUS_USES_CSS&#039;&#039;&#039; ►  Change status design using new style ► (v10.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_INCLUDE_GLOBAL_STATS_IN_OPENED_DASHBOARD&#039;&#039;&#039; ► This conf will auto remove global stats box item if there are already in the new dashboard of opened elements and keep displayed stats on the opened item box (not only on mouse over) ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_TOP_MENU_SEARCH_DROPDOWN&#039;&#039;&#039; ► Actually only for eldy theme, this conf move search input  to top menu and use new design too ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THEME_AGRESSIVENESS_RATIO&#039;&#039;&#039; ► This conf can be used to increase/decrease aggressiveness of colors. Value 0 is medium, value is between -100 (light grey colors) to +100 (very flashy colors) ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THEME_SHOW_BORDER_ON_INPUT&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_GLOBAL_WORKBOARD&#039;&#039;&#039; ► Hide the work board of the main page ► (v13.0+)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_GLOBAL_BOXSTATS&#039;&#039;&#039; ► Hide the Statistic Box of the main page&lt;br /&gt;
*&#039;&#039;&#039;ALLOW_THEME_JS ►&#039;&#039;&#039; Allow JS file in theme folder (same name as theme folder)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Manifest (Progressive Web App)=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MANIFEST_APPLI_THEME_COLOR ►&#039;&#039;&#039; Theme color for manifest&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MANIFEST_APPLI_BG_COLOR ►&#039;&#039;&#039; Background color  for manifest&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MANIFEST_APPLI_LOGO_URL  ►&#039;&#039;&#039; Logo for manifest&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MANIFEST_APPLI_LOGO_URL_SIZE  ►&#039;&#039;&#039; Logo url size for app (150, 192, 512px) missing 3 configurations&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Order Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MASSACTION_CREATEBILLS_REDIRECT_IF_ONE&#039;&#039;&#039; ► If set 1, redirects to the one bill created from massaction create bills from order list ► (v20.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MASSACTION_CREATEBILLS_REDIRECT_IF_MANY&#039;&#039;&#039; ► If set to 1, redirects to the invoice list after plural invoices where generated from tho massaction create bills from order list  ► (v20.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ORDERLIST_CREATEBILLS_ONEBYTHIRD&#039;&#039;&#039; ► Allow defining value for option &amp;quot;one by thirdparty&amp;quot; in massaction create bills from orders list page (no by default, yes if set to &#039;yes&#039; or 1) ► (v20.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_PROPAL_REFCLIENT_FOR_ORDER&#039;&#039;&#039; =&amp;gt; Copy customer reference from proposal to order. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ORDER_REQUIRE_SOURCE&#039;&#039;&#039; =&amp;gt; Make the input field &amp;quot;Source of order&amp;quot; mandatory.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ORDER_VALID_AFTER_CLOSE_PROPAL&#039;&#039;&#039; =&amp;gt; When an order is created on a proposal close, the order is directly defined with status &amp;quot;Validated&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ORDER_ALLOW_EXTERNAL_DOWNLOAD&#039;&#039;&#039; =&amp;gt; When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ORDER_ENABLE_NEGATIVE&#039;&#039;&#039; =&amp;gt; Can validate an order when amount is negative&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_PROPAGATE_EXTRAFIELDS_TO_ORDER&#039;&#039;&#039; =&amp;gt; Copy also extrafields from thirdparty to order (if name match). ► (v11.0+)&lt;br /&gt;
*&#039;&#039;&#039;ORDER_DEFAULT_NOTE_PUBLIC&#039;&#039;&#039; ► Default text in public note&lt;br /&gt;
*&#039;&#039;&#039;MAIN_REMOVE_DROPDOWN_CREATE_BUTTONS_ON_ORDER&#039;&#039;&#039; =&amp;gt; Remove the create dropdown button on order card (introduce on v19) to come back with old buttons.  &#039;&#039;&#039;►&#039;&#039;&#039; (v20.0+)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=PDF Options=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ADD_PDF_BACKGROUND&#039;&#039;&#039; ► Define this constant with short name of a PDF file (example &amp;quot;&amp;lt;code&amp;gt;mypdf.pdf&amp;lt;/code&amp;gt;&amp;quot;) that must be saved into directory &amp;quot;&amp;lt;code&amp;gt;documents/mycompany&amp;lt;/code&amp;gt;&amp;quot;. This will add PDF as a background of some of your generated PDF files (proposals,invoices,orders). If you need to concat PDF, see instead [[Module Concat PDF]].&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_FORCE_SAVEAS&#039;&#039;&#039; ► If your browser always asks to save downloaded files on disk (like PDF), try this this option. File may be displayed directly in your browser. Values&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;: 0= Default (file is auto downloaded), 1= For to output the file into the browser tab, 2= For to output the file into a browser tab open with target_blank&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_PDF_AUTOUPDATE&#039;&#039;&#039; ► Disable automatic generation of PDF each time we add/update/delete a product line (we can still build document by clicking on &amp;quot;Generate&amp;quot;). This option may increase interface speed on servers with low CPU.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_PDF_COMPRESSION&#039;&#039;&#039; ► Disable PDF compression.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOCUMENTS_WITH_PICTURE_WIDTH&#039;&#039;&#039; ► Can change size of picture when hidden option &amp;lt;code&amp;gt;MAIN_GENERATE_PROPOSALS_WITH_PICTURE&amp;lt;/code&amp;gt; is used. By default value is &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS&#039;&#039;&#039; ► Adding the company address at the bottom of the page. Disabled by default&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_PROPOSALS_WITH_PICTURE&#039;&#039;&#039; ► Include the first image of the product into the line of the generated PDF for customer proposals.&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_ORDERS_WITH_PICTURE&#039;&#039;&#039; ► Include the first image of the product into the line of the generated PDF for customer orders.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_INVOICES_WITH_PICTURE&#039;&#039;&#039; ► Include the first image of the product into the line of the generated PDF for customer invoices.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE&#039;&#039;&#039; ► Include the first image of the product into the line of the generated PDF for supplier proposals ► (v5.0.3+)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_SUPPLIER_ORDER_WITH_PICTURE&#039;&#039;&#039; ► Include the first image of the product into the line of the generated PDF for supplier orders&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT&#039;&#039;&#039; ► Disable VAT on generated documents. like for an association. (Works with crabe template)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN&#039;&#039;&#039; ► Hide column with VAT information but only column not total.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_INVERT_SENDER_RECIPIENT&#039;&#039;&#039; ► Invert sender and recipient in some PDF. Note: This option is set automatically if country if Germany.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ODT_AS_PDF&#039;&#039;&#039; ► Activate ODT to PDF conversion. Value can be &amp;quot;libreoffice&amp;quot; or &amp;quot;unoconv&amp;quot;. Do not use value &#039;&#039;&#039;&amp;lt;nowiki/&amp;gt;&#039;jodconverter&#039;&amp;lt;nowiki/&amp;gt;&#039;&#039;&#039; any more, as it is declared deprecated and partly not functional, use value &#039;&#039;&#039;&amp;lt;nowiki/&amp;gt;&#039;libreoffice&#039;&#039;&#039;&#039; instead, it requires only &#039;&#039;&#039;soffice&#039;&#039;&#039; (OpenOffice or LibreOffice) installed on server (use &#039;&#039;&#039;apt install soffice libreoffice-common libreoffice-writer&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
If you got this error: javaldx failed! Warning: failed to read path from javaldx with no return to prompt when running soffice --headless -env:UserInstallation=file:&amp;quot;/tmp&amp;quot; --convert-to pdf --outdir xxx ./yyy.odt, check that directory defined into env:UserInstallation parameters exists and is writeable.&lt;br /&gt;
&lt;br /&gt;
You may also have a look at this page if your server is on Windows: [[Générer automatiquement des documents PDF à partir de fichier ODT avec Doliwamp]]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ODT_AS_PDF_DEL_SOURCE&#039;&#039;&#039; ► For ODT generation. If set, then initial behaviour is conserved but ODT file is removed when option to convert it as PDF (see previous) is on. Disabled by default&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_FORCE_FONT&#039;&#039;&#039; ► To ignore font defined into language file and force usage of a particular font. For example &amp;quot;&amp;lt;code&amp;gt;DejaVuSans&amp;lt;/code&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_FORCE_FONT_SIZE&#039;&#039;&#039; ► To force size of font (by default 10). For example &amp;quot;&amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&amp;quot; ► (v11.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_FREETEXT_HEIGHT&#039;&#039;&#039; ► Change height of space reserved to output the free text.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_TITLE_BACKGROUND_COLOR&#039;&#039;&#039; ► Can define a background color onto title line. Example: &amp;lt;code&amp;gt;220,220,200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_USE_LARGE_LOGO&#039;&#039;&#039; ► Use the original logo with its higher resolution into the PDF instead of the small thumb. This may lead to very very large PDF !&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_BACKGROUND_ON_PDF&#039;&#039;&#039; ► Define this constant with short name of an image (example &amp;quot;&amp;lt;code&amp;gt;myimage.jpg&amp;lt;/code&amp;gt;&amp;quot;) that must be saved into directory &amp;quot;&amp;lt;code&amp;gt;documents/mycompany/logos&amp;lt;/code&amp;gt;&amp;quot;. This will add this background image into your generated PDF files.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_COMPANY_NAME_OF_CONTACT&#039;&#039;&#039; ► Use contact name and information rather than company&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_ADDALSOTARGETDETAILS&#039;&#039;&#039; ► If 1, add details of recipient on generated PDFs (email, fax, url and phone). Can be useful in cases where a printed order/invoice etc is given to a delivery driver/courier etc.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_TVAINTRA_IN_SOURCE_ADDRESS&#039;&#039;&#039; ► Show VAT N° in source address of PDF to comply with legalities in certain countries. Note that VAT number should be already visible in footer of page ► (v8.0.1+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING&#039;&#039;&#039; ► Add optional esign field in pdf propal ► (v8.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PROFID1_IN_SOURCE_ADDRESS&#039;&#039;&#039; ► Show Professional ID 1 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PROFID2_IN_SOURCE_ADDRESS&#039;&#039;&#039; ► Show Professional ID 2 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PROFID3_IN_SOURCE_ADDRESS&#039;&#039;&#039; ► Show Professional ID 3 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PROFID4_IN_SOURCE_ADDRESS&#039;&#039;&#039; ► Show Professional ID 4 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PROFID5_IN_SOURCE_ADDRESS&#039;&#039;&#039; ► Show Professional ID 5 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PROFID6_IN_SOURCE_ADDRESS&#039;&#039;&#039; ► Show Professional ID 6 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN&#039;&#039;&#039; ► Hide bank number (&amp;quot;code banque/guichet/compte&amp;quot; for France, &amp;quot;sort code/account number&amp;quot; for GB, ...) and keep only BIC/IBAN on PDF.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PDF_BOLD_PRODUCT_REF_AND_PERIOD&#039;&#039;&#039; ► Add more visibility (bold) on product ref and period of service in desc. ► (v12.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES&#039;&#039;&#039; ► Modify the use/position of Supplier Ref/Internal Ref with the item Label (name) on PDF documents.&lt;br /&gt;
&lt;br /&gt;
Default (constant not set or Value &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;): Internal ref followed by supplier ref in brackets.&amp;quot;COMPANY-REF-001 (Vendor SKU SUPPLIER-REF-001) - LABEL...&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Value &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: Supplier ref only eg.&amp;quot;SUPPLIER-REF-001 - LABEL...&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Value &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;: Supplier ref followed by internal ref in brackets. eg.&amp;quot;SUPPLIER-REF-001 (InternalRef COMPANY-REF-001) - LABEL...&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME&#039;&#039;&#039; ► Include alternative/alias name into name on PDF.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PDF_SECURITY_ENCRYPTION&#039;&#039;&#039; ► Encrypt PDF produced by dolibarr. See additional parameters&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;:PDF_SECURITY_ENCRYPTION_RIGHTS (block &#039;modify&#039; or &#039;copy&#039;) - &#039;&#039;&#039;PDF_SECURITY_ENCRYPTION_USERPASS&#039;&#039;&#039; - &#039;&#039;&#039;PDF_SECURITY_ENCRYPTION_OWNERPASS&#039;&#039;&#039; (random if not specified) - &#039;&#039;&#039;PDF_SECURITY_ENCRYPTION_STRENGTH&#039;&#039;&#039; (0 = RC4 40 bit; 1 = RC4 128 bit; 2 = AES 128 bit; 3 = AES 256 bit) - &#039;&#039;&#039;PDF_SECURITY_ENCRYPTION_PUBKEYS&#039;&#039;&#039; Array of recipients containing public-key certificates (&#039;c&#039;) and permissions (&#039;p&#039;) - For example: array(array(&#039;c&#039; =&amp;gt; &#039;file://../examples/data/cert/tcpdf.crt&#039;, &#039;p&#039; =&amp;gt; array(&#039;print&#039;))). WARNING: if an &#039;encrypted PDF&#039; provides a protection against manual change done by mistake, it does NOT provide any protection against modification of your PDF in a security point of view: A protected PDF can still be modified by any advanced PDF editors. Don&#039;t forget this: If a software can read the PDF, this software can also rebuild it differently !&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PDF_SHOW_PROJECT&#039;&#039;&#039; ► Show project onto PDF (supported on supplier order only for the moment)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PDF_USE_ALSO_LANGUAGE_CODE&#039;&#039;&#039; ► The value of this constant must be a language code (&#039;fr_FR&#039;, &#039;en_US&#039;, &#039;sa_SA&#039;, ...). If set, the PDF document will contains both language (default and the one defined by the constant).&lt;br /&gt;
*&#039;&#039;&#039;DOC_SHOW_FIRST_SALES_REP&#039;&#039;&#039; ► Show the sales representant on header (at least on propal azur and rubis template)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_DASH_BETWEEN_LINES&#039;&#039;&#039;&lt;br /&gt;
*&lt;br /&gt;
*&#039;&#039;&#039;SHOW_SUBPRODUCT_REF_IN_PDF&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;PDF_HIDE_PRODUCT_LABEL_IN_SUPPLIER_LINES&#039;&#039;&#039; ► hide product label in supplier order lines (V15+)&lt;br /&gt;
*&#039;&#039;&#039;SHIPPING_PDF_DISPLAY_AMOUNT_HT&#039;&#039;&#039; ► Show HT unit price and HT total price for lines of PDF shipment&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOCUMENTS_HIDE_DESCRIPTION_FOR_FACTURE&#039;&#039;&#039; ► To Hide product description in Customer Invoice&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOCUMENTS_HIDE_DESCRIPTION_FOR_COMMANDE&#039;&#039;&#039; ► To Hide product description in Sales Order&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOCUMENTS_HIDE_DESCRIPTION_FOR_ORDER_SUPPLIER&#039;&#039;&#039; ► To Hide product description in Purchase Order&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOCUMENTS_HIDE_DESCRIPTION_FOR_INVOICE_SUPPLIER&#039;&#039;&#039; ► To Hide product description in Vendor Invoice&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PDF_PROPAL_SHOW_PRICE_INCL_TAX&#039;&#039;&#039; ► Display price with tax on Proposal(cyan template), Order(eratosthene template), Bill(sponge template) (V17+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PDF_USE_GETALIASNBPAGE_FOR_TOTAL&#039;&#039;&#039; ► Display the page number alias&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_NO_SENDER_FRAME&#039;&#039;&#039; ► Do not display the &amp;quot;sender&amp;quot; mention&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_HIDE_SENDER_NAME&#039;&#039;&#039; ► Do not display the sender name&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_NO_RECIPENT_FRAME&#039;&#039;&#039; ► Do not display BillTo&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MULTICURRENCY_SHOW_ALSO_MAIN_CURRENCY_ON_PDF&#039;&#039;&#039; ► Show the amount in the 2 currencies on PDF when using the MultiCurrency module&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Point of Sale (POS)=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CASHDESK_SHOW_KEYPAD&#039;&#039;&#039; ► Show a mouse key pad into the &#039;Simple Point of Sale&#039; module.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;POS_ADDON&#039;&#039;&#039; ► Set this value to an existing numbering module rule (for example &#039;&amp;lt;code&amp;gt;mod_facture_terre&amp;lt;/code&amp;gt;&#039;, &#039;&amp;lt;code&amp;gt;mod_facture_mars&amp;lt;/code&amp;gt;&#039;, ...) to force the numbering module to use for invoice ref definition when invoice is created by the POS. For example setting value &amp;lt;code&amp;gt;POS_ADDON&amp;lt;/code&amp;gt; to &#039;&amp;lt;code&amp;gt;mod_facture_terre&amp;lt;/code&amp;gt;&#039; will use the numbering module &#039;&amp;lt;code&amp;gt;terre&amp;lt;/code&amp;gt;&#039; for invoice generated from POS, whatever is the numbering rule defined into invoice module setup (you can also use POS_NUMBERING_TERRE_FORCE_PREFIX and POS_NUMBERING_MARS_FORCE_PREFIX variable to change the prefix used).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;TAKEPOS_ENABLE_SUMUP&#039;&#039;&#039; ► Enable the compatibility of TakePOS with the card reader terminal [https://SumUp.fr SumUp]&lt;br /&gt;
*&#039;&#039;&#039;TAKEPOS_CAN_FORCE_BANK_ACCOUNT_DURING_PAYMENT&#039;&#039;&#039; ► Possibility to force the bank account during the payment in TakePOS  ► (v13.0)&lt;br /&gt;
*&#039;&#039;&#039;TAKEPOS_CONTROL_CASH_OPENING&#039;&#039;&#039; ► Control the cash opening&lt;br /&gt;
*&#039;&#039;&#039;TAKEPOS_NUMPAD_FORCE_PAYMENT_ICONS_LABELS&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Products Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CATEGORY_GRAPHSTATS_ON_PRODUCTS&#039;&#039;&#039; ► Show graph of products with categories and totals in Products Area screen&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE&#039;&#039;&#039; ► Avoid customs code and country of origin to be set as product description when added to Propal/Order/Invoice&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_ADD_TYPE_IN_DOCUMENTS&#039;&#039;&#039; ► Add text &amp;quot;Product&amp;quot; or &amp;quot;Service&amp;quot; at beginning of details lines on built PDF documents.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DONOTSEARCH_ANYWHERE&#039;&#039;&#039; ► When Ajax search is enabled, search is done on criteria anywhere in label of product. By adding this option, search is done only on start of label. This is really faster when you have a huge number of products.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DIRECT_STATUS_UPDATE&#039;&#039;&#039; ► Allows you to change the status of the product (&#039;&#039;for sale/not for sale for purchase/not for purchase&#039;&#039;) directly on the product page via a &#039;&#039;on/off&#039;&#039; switch button. This can be convenient for those who need to quickly disable certain statuses of products without having to go through the editing product page individually. Also can be very useful if used as a filter on the product and product search list. This option doesn&#039;t generate a MODIFY trigger, so be careful with external modules. ► (v4.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SEARCH_PRODUCT_BY_FOURN_REF&#039;&#039;&#039; ►  Allow to search a product by supplier ref in document&#039;s add line form. ► (&amp;gt;= 8.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_FREE_LINES&#039;&#039;&#039; ► Disallow using free lines to add line in documents ► (&amp;gt;= 8.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SHOW_PRODUCT_ACTIVITY_TRIM&#039;&#039;&#039; ► Show Product and Services turnover before for all four quarters tax over recent years recent years on the product area ► (v5.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUIT_DESC_IN_LIST&#039;&#039;&#039; ► Show long description of product/service into lists.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_PROPAGATE_CUSTOMER_PRICES_ON_CHILD_COMPANIES&#039;&#039;&#039; ► Disable propagation of prices per customer from a customer to its child company.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_PUBLIC_URL&#039;&#039;&#039; ► Disable public url in product card ► (v14.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_STOCK_LEVELS&#039;&#039;&#039; ► Disable properties of stock limits and desired optimal value on product ► (v14.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_NATURE&#039;&#039;&#039; ► Disable nature in product card ► (v14.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_WEIGHT&#039;&#039;&#039; ► Disable weight in product card ► (v14.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_PRICES&#039;&#039;&#039; ► Disable prices in product card ► (v14.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_ACCOUNTING&#039;&#039;&#039;  ► Disable accounting in product card ► (v14.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_SIZE&#039;&#039;&#039; ► Disable size in product card.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_LENGTH&#039;&#039;&#039; ► Disable length in product card ► (v4.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_SURFACE&#039;&#039;&#039; ► Disable surface in product card. ► (v4.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_VOLUME&#039;&#039;&#039; ► Disable volume in product card.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_CUSTOM_INFO&#039;&#039;&#039; ► Disable custom info (custom code and country origin) in product/service card.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL&#039;&#039;&#039; ► When option to use price per level/segment is on, this allows to also set a dedicated vat for each price level.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUIT_CUSTOMER_PRICES_BY_QTY&#039;&#039;&#039; ► If price per quantity ► &#039;&#039;Experimental&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES&#039;&#039;&#039; ► If price per quantity and customer ► &#039;&#039;Experimental&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_LOT_ENABLE_QUALITY_CONTROL&#039;&#039;&#039; ► Enable feature (Display fields for life time and quality control duration) for quality control on product and lot&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_MAX_LENGTH_COMBO&#039;&#039;&#039; ► Limit the length of the label displayed when adding lines in proposals/invoices/orders&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_MAX_VISIBLE_PHOTO&#039;&#039;&#039; ► Show a maximum number of product photos (as thumbnails) on the product main card. Example, setting this constant to &#039;&amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&#039; will show the first five product photos found on the product card.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUIT_PDF_MERGE_PROPAL&#039;&#039;&#039; ► Enable module Propal merge product PDF&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_USE_OLD_PATH_FOR_PHOTO&#039;&#039;&#039; ► Ask dolibarr to check also old path (before 3.7) where photos were stored.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_USE_UNITS&#039;&#039;&#039; ► Add other units on products (Use same dictionary as default unit feature) and propagate this unit on line of documents.&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EDIT_LINE_ALLOW_ALL_UNIT_TYPE ►&#039;&#039;&#039; Allow the selection of other unit types when editing the document line&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;RESOURCE_ON_PRODUCTS&#039;&#039;&#039; ► Allow to affect resources on products/services ► (v10.0+)&lt;br /&gt;
*&#039;&#039;&#039;RESOURCE_ON_SERVICES&#039;&#039;&#039; ► Allow to affect resources on products/services ► (v10.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_SHOW_ORIGIN_IN_COMBO&#039;&#039;&#039; ► Show origin of products when adding lines in proposals/invoices/orders ► (v12.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUIT_ATTRIBUTES_HIDECHILD&#039;&#039;&#039;  ► Add option hide child if variantes&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_ADD_FORM_ADD_TO&#039;&#039;&#039; ► Add a product to a draft proposal/order/invoice, from the product card.&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_SELLBY&#039;&#039;&#039; ► Hide the Sell by date ► (v13.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_EATBY&#039;&#039;&#039; ► Hide the Eat by date ► (v13.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DENY_CHANGE_PRODUCT_TYPE&#039;&#039;&#039; ► Forbid to change the product type&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_SORT_BY_CATEGORY&#039;&#039;&#039; ► Sort the product by categories instead of by ID&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_ADD_NET_MEASURE&#039;&#039;&#039; ► Support Net Measure in product&#039;s card.php (For real weight, volume or piece; needed for some business ie fruits, vegetables....). Note brut value is already available natively, use this option only if you need 2 weights, 2 volumes, ...for each product) ► (v11.0.1+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_PRICE_BASE_TYPE&#039;&#039;&#039;  ► value &#039;TTC&#039; / &#039;HT&#039; specify the default value of the price (with or without taxes) ► (v16.0.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_LOAD_EXTRAFIELD_INTO_OBJECTLINES&#039;&#039;&#039; ► Load product extrafiled on object lines&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_USE_SUB_COST_PRICES_IF_COST_PRICE_EMPTY&#039;&#039;&#039;&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;: Calculate the parent product production price by child prices.&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_SEARCH_AUTO_SELECT_IF_ONLY_ONE&#039;&#039;&#039;&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;: Set to 0 to disable or 1 to enable (by default) the auto select product behavior in combobox when there is only one result.(v21.0+)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Projects Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY&#039;&#039;&#039; ► Option related to the combo list Project on elements. It is a list of thirdparty IDs. If set, you can link an object to a project owned by one of this thirdparty in the list.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_ALLOW_COMMENT_ON_PROJECT&#039;&#039;&#039; ► Add comment feature on a project&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_ALLOW_COMMENT_ON_TASK&#039;&#039;&#039; ► Add comment feature on project task&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_ALWAYS_DISCARD_CLOSED_PROJECTS_IN_SELECT&#039;&#039;&#039; ► Discards closed projects in every select field. A closed project can&#039;t be associated to an object ► (v20.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS&#039;&#039;&#039; ► Option related to the combo list Project on elements. Can link an element (purhcase invoice, purchase order, reception, ...) to any project even if object has a different supplier than the one of the project to link to. See also PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY that is different because it allows to define some given thirdparty ID to allow.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_CREATE_ON_OVERVIEW_DISABLED&#039;&#039;&#039; ► Hide the &amp;quot;create ...&amp;quot; button on the overview pagec&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_DISABLE_UNLINK_FROM_OVERVIEW&#039;&#039;&#039; ► Enable removing the button from a link in the project overview. ► (&amp;gt;= v8.0.1)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_HIDE_UNSELECTABLES&#039;&#039;&#039; ► Hide into select list, all project that we can&#039;t select (closed or draft)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_HIDE_TASKS&#039;&#039;&#039; ► Hide tasks. For user using project only as an analytics key and not using tasks.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_LIST_SHOW_STARTDATE&#039;&#039;&#039; ► Shows start date of projects in project lists.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_LINK_ON_OVERWIEW_DISABLED&#039;&#039;&#039; ► Hide the &amp;quot;link to&amp;quot; form on the overview page ► (v4.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_SHOW_REF_INTO_LISTS&#039;&#039;&#039; ► Add column with project ref into list (with 3.7 list of supplier invoices only, will be expanded to other lists)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS&#039;&#039;&#039; ► Can add time spent on tasks, even if i am not assigned to task (however, task must be a project i am a contact).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_OPEN_ALWAYS_ON_TAB&#039;&#039;&#039; ► Set to value &#039;task&#039;, or &#039;preview&#039; to always open the project on the given tab instead of main tab.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_ELEMENTS_FOR_MINUS_MARGIN&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;TIMESPENT_ALWAYS_UPDATE_THM&#039;&#039;&#039; ► when it&#039;s on always check current time of user to update it in task time line ► (v17.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_CREATE_NO_DRAFT&#039;&#039;&#039; ► when you create project status will be validate ► (v19.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_ENABLE_SUB_PROJECT&#039;&#039;&#039; ► Add support for parent projects ► (v19.0)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Proposals Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_PROPOSALS_WITH_PICTURE&#039;&#039;&#039; ► Add a picture of the product (the first one found if there are several) into the generated PDF of proposals. Note that using this will reduce the available width for the product description.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PROPAL_CHOOSE_ODT_DOCUMENT&#039;&#039;&#039; ► On setup page, you&#039;ll be able to select which ODT document to use when close or cancel proposals.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING&#039;&#039;&#039; ► add optional esign field in pdf propal ► (v8.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROPAL_CLONE_ON_CREATE_PAGE&#039;&#039;&#039; ► On the create proposal page, ask if we want to create the proposal by cloning an already existing one. You should use instead the &amp;quot;Clone&amp;quot; button available on existing proposals.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROPAL_DISABLE_SIGNATURE&#039;&#039;&#039; ► Do no show the box for signature.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUIT_PDF_MERGE_PROPAL&#039;&#039;&#039; ► When generating the proposal PDF, all PDFs linked to products linked to proposal are also included into final PDF&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD&#039;&#039;&#039; ► When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROPOSAL_AUTO_ADD_AUTHOR_AS_CONTACT&#039;&#039;&#039; ► Add Proposal Author as user contact follow proposal&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROPOSAL_PDF_HIDE_PAYMENTTERM&#039;&#039;&#039; ► Do not show the payment term on proposal ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROPOSAL_PDF_HIDE_PAYMENTMODE&#039;&#039;&#039; ► Do not show the payment mode on proposal ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES&#039;&#039;&#039; ► Button &amp;quot;Classified Billed&amp;quot; is visible on proposal even if there is no invoice linked to proposal.&lt;br /&gt;
*&#039;&#039;&#039;PROPAL_REOPEN_UNSIGNED_ONLY&#039;&#039;&#039;  ► Do not allow reopening of signed (or billed) proposals. (V15)&lt;br /&gt;
*&#039;&#039;&#039;PROPOSAL_ARE_NOT_BILLABLE&#039;&#039;&#039;  ► Disable billing button on proposals (V15)&lt;br /&gt;
*&#039;&#039;&#039;PROPAL_DEFAULT_NOTE_PUBLIC&#039;&#039;&#039; ► Default text in public note&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Services Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SERVICE_ARE_ECOMMERCE_200238EC&#039;&#039;&#039; ►  If seller and buyer are in Europe and buyer is not a company, use the VAT of buying country. For french speaking people, see also the page [[Loi_européenne_TVA_Vente_à_Distance_VAD_et_e-commerce_BtoC]].&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FILL_SERVICE_DATES_FROM_LAST_SERVICE_LINE&#039;&#039;&#039;  ► (v13.0) On add line form add a button to fill service dates from the last service line&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Shipments=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS&#039;&#039;&#039; ► If set, you can add a shipment line, with no stock source defined. ► (&amp;gt;= 8.0.1)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SHIPMENT_GETS_ALL_ORDER_PRODUCTS&#039;&#039;&#039; ► Add all order lines in shipment, including the one with 0 in quantity&lt;br /&gt;
*&#039;&#039;&#039;SHIPPING_PDF_HIDE_ORDERED&#039;&#039;&#039; ►Hide column quantity ordered on shipment pdf (&amp;gt;=15.0)&lt;br /&gt;
*&#039;&#039;&#039;STOCK_SUPPORTS_SERVICES&#039;&#039;&#039; ►Allow to manage services into warehouse and allow to ship services&lt;br /&gt;
*&#039;&#039;&#039;SHIPMENT_SUPPORTS_SERVICES&#039;&#039;&#039; ►Allow to ship services without stock (&amp;gt;=19.0)&lt;br /&gt;
*&#039;&#039;&#039;SHIPPING_DISPLAY_STOCK_ENTRY_DATE&#039;&#039;&#039; ►Display date entry stock exped and sort in date order (&amp;gt;=19.0)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Stocks=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED&#039;&#039;&#039; ► Disable stock dispatch when total expected was already received&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;STOCK_EXCLUDE_VIRTUAL_PRODUCTS&#039;&#039;&#039; ► If product is a virtual product, we do not manage stock for it.&lt;br /&gt;
*&#039;&#039;&#039;STOCK_ALLOW_DELETE_OF_MOVEMENT&#039;&#039;&#039; ► Enable massaction option to delete in movements list (be carefull !!).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ENTREPOT_EXTRA_STATUS&#039;&#039;&#039; ► Instead of the 2 status (Closed, Open), a Warehouse has 3 status: Closed, Open (for all movements), Open (for internal movement only). Internal movement only means you can&#039;t use the warehouse to make shipment or receptions.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_STATUS_FOR_VIRTUAL_STOCK&#039;&#039;&#039; ► For the calculation of virtual stocks, by default supplier orders with the status 3 (ordered) and 4 (partially received) are used. You can enter the list of statuses to be taken into account separated by commas for this calculation (example: 0,1,2,3)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;STOCK_MOVEMENT_LIST_HIDE_UNIT_PRICE&#039;&#039;&#039; ► to hide unit price on some pages (V15+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;DISABLE_QTY_OVERWRITE&#039;&#039;&#039; ► Disable quantity overwrites on inventories ► (v19.0)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_WAREHOUSE_LIST_DISPLAY_MODE&#039;&#039;&#039; ► Change warehouse select list display mode  ► (v21.0) (see github pull request [https://github.com/Dolibarr/dolibarr/pull/31013 #31013] for more info)&lt;br /&gt;
**0&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;: Default behavior, display parents of warehouse&lt;br /&gt;
**1&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;: Display only current warehouse label only&lt;br /&gt;
**2&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;: Display last parent warehouse label&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Suppliers Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;FOURN_PRODUCT_AVAILABILITY&#039;&#039;&#039; ► On the Suppliers price page of the products, activate the supplier product availability. &#039;&#039;This is duplicate feature with delivery_delay introduced with 3.8.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;RELOAD_PAGE_ON_SUPPLIER_CHANGE&#039;&#039;&#039; ► On creation of a supplier order/invoice, reload form with supplier-specific details when supplier is selected from drop-down list.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_INVOICE_WITH_PREDEFINED_PRICES_ONLY&#039;&#039;&#039; ► Restrict selection of products in supplier invoice to only those with a buying price defined for that supplier. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_AUTOADD_USER_CONTACT&#039;&#039;&#039; ► Add user approving supplier order as a contact automatically.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_DEFAULT_PAYMENT_MODE_ID&#039;&#039;&#039; ► Set the default payment method for suppliers (&amp;lt;code&amp;gt;rowid&amp;lt;/code&amp;gt; in table &amp;lt;code&amp;gt;llx_c_paiement&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_USE_DISPATCH_STATUS&#039;&#039;&#039; ► Add a status on each dispatch order line when receiving products from suppliers ► (v4.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_NO_DIRECT_APPROVE&#039;&#039;&#039; ► No button &amp;quot;Validate and Approve&amp;quot;. Always do step &amp;quot;Validate&amp;quot; and &amp;quot;Approve&amp;quot; in 2 steps.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_WITH_PREDEFINED_PRICES_ONLY&#039;&#039;&#039; ► Restrict selection of products in supplier order to only those with a buying price defined for that supplier. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT&#039;&#039;&#039; ► Can modify the buying price used for PMP calculation when making a stock reception on a supplier order. ► (v6.0+)&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_PROPOSAL_WITH_PREDEFINED_PRICES_ONLY&#039;&#039;&#039; ► Restrict selection of products in supplier proposal to only those with a buying price defined for that supplier. ► (v6.0+)&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_MORE_THAN_WISHED&#039;&#039;&#039; ► The supplier order status is set to &amp;quot;Totally received&amp;quot; even if there are more products received than ordered. ► (v15.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;DISPLAY_DISCOUNTED_SUPPLIER_PRICE&#039;&#039;&#039; ► Allow to display discounted supplier price when searching product in supplier documents ► (v10.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_CAN_EDIT_SUPPLIER_ON_SUPPLIER_ORDER&#039;&#039;&#039; ►  Allow to change the supplier on a draft supplier order ► (v10.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_CAN_UPDATE_BUYINGPRICE_DURING_RECEIPT&#039;&#039;&#039; ►  Allow to change price on receipt ► (v19.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_HIDE_SUPPLIER_OBJECTLINES&#039;&#039;&#039; ►  Hide the supplier information on objectlines (invoices, etc..) ► (v19.0)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Third Parties Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;COMPANY_AQUARIUM_CLEAN_REGEX&#039;&#039;&#039; ► Add a REGEX rule on the third parties names. It applies a regex replacement pattern on generated code if COMPANY_AQUARIUM_CLEAN_REGEX is set. Value must be a regex with parenthesis. The part into parenthesis is kept, the rest removed. For example if COMPANY_AQUARIUM_CLEAN_REGEX = &#039;&amp;lt;code&amp;gt;^..(..)..(.*)&amp;lt;/code&amp;gt;&#039; the first char and second char are removed and the char 5 and 6 too ► (&amp;gt;= 8.0.1)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_UNKNOWN_CUSTOMERS_ARE_COMPANIES&#039;&#039;&#039; ► See in Global options section.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_VAT_COMPANIES_IN_EEC_WITH_INVALID_VAT_ID_ARE_INDIVIDUAL&#039;&#039;&#039; ► See in Global options section.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_EMAIL_MANDATORY&#039;&#039;&#039; ► E-mail is a mandatory field when creating a thirdparty&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_DISABLE_CUSTOMERS&#039;&#039;&#039; ► Remove all menu and features related to customers&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_DISABLE_PROSPECTS&#039;&#039;&#039; ► Remove all menu and features related to prospects&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_DISABLE_PROSPECTSCUSTOMERS ►&#039;&#039;&#039; Remove the status &amp;quot;Customer/Prospect&amp;quot; when thirdparties creation or modification&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_DISABLE_STATE&#039;&#039;&#039; ► Do not use field &amp;quot;state/province&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_SORT_ON_TYPEENT&#039;&#039;&#039; ► The combo list of &amp;quot;type of third party&amp;quot; is sorted on alphabetical order instead of the field &amp;quot;position&amp;quot; that appears into dictionary instead.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_ASK_FOR_SHIPPING_METHOD&#039;&#039;&#039; ► Shipping method can be predefined on customer card and will be used as default on order creation&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_ADD_REF_IN_LIST&#039;&#039;&#039; ► Displays the code before the name in the lists  ► Value 1 -&amp;gt; Code + name + alias ou Code + name if colone alias 2 -&amp;gt; Code + alias 3 -&amp;gt; Alias&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_CAN_HAVE_CATEGORY_EVEN_IF_NOT_CUSTOMER_PROSPECT_SUPPLIER&#039;&#039;&#039; ► Possible to add Categories to third parties that are not customer, prospect or supplier.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_DEFAULT_USELOCALTAX1&#039;&#039;&#039; ► When creating a new third party, the field &amp;quot;Use second tax&amp;quot; is set to on or off depending on value of this parameter.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_DEFAULT_USELOCALTAX2&#039;&#039;&#039; ► When creating a new third party, the field &amp;quot;Use third tax&amp;quot; is set to on or off depending on value of this parameter.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT&#039;&#039;&#039; ► Do not set status &amp;quot;Customer/Prospect&amp;quot; to &amp;quot;on&amp;quot; when creating a new third party from menu &amp;quot;New third party&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_INCLUDE_PARENT_IN_LINKTO&#039;&#039;&#039; ► Search also for elements on parent third party when using the &amp;quot;link to&amp;quot; object feature.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO&#039;&#039;&#039; ► Search also for elements on third party that own the project of the current element when using the &amp;quot;link to&amp;quot; object feature (if project is owned by a different thirdparty than current one).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD&#039;&#039;&#039; ► When a logo is uploaded, a share key is automatically set so the file can be downloaded using the share key.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_SUGGEST_ALSO_ADDRESS_CREATION&#039;&#039;&#039; ► Enabled contact creation on third-party create card&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_QUICKSEARCH_ON_FIELDS&#039;&#039;&#039; ► Personalized search criteria ► Example: $conf-&amp;gt;global-&amp;gt;THIRDPARTY_QUICKSEARCH_ON_FIELDS = &#039;s.nom=ThirdPartyName;s.name_alias=AliasNameShort;s.code_client=CustomerCode&#039;&lt;br /&gt;
*&#039;&#039;&#039;MEMBER_CAN_CONVERT_CUSTOMERS_TO_MEMBERS&#039;&#039;&#039; ► Enabled member creation on third-party create card&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_DISABLE_PARENTCOMPANY&#039;&#039;&#039; ► Disables attachment to a parent company.&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_CUSTOMERPROSPECT_BY_DEFAULT&#039;&#039;&#039; ► Set the third party to customer by default&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_SUPPLIER_BY_DEFAULT&#039;&#039;&#039; ► Set the third party to supplier by default&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_CUSTOMERTYPE_BY_DEFAULT&#039;&#039;&#039; ► Set the third party type by default (3 = customer &amp;amp; prospect / 2 = prospect / 1 = customer )&lt;br /&gt;
*&#039;&#039;&#039;CONTACT_DISABLE_PERSONALINFO&#039;&#039;&#039; ► Disable Personal data on contact page&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_DISABLE_WORKFORCE&#039;&#039;&#039; ► Disable work force selector on society page&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_SHOW_VAT_IN_LIST&#039;&#039;&#039; ► display VAT number in combo list of thirdparties ► (V15+)&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_DEFAULT_CREATE_CONTACT&#039;&#039;&#039; ► When set, a contact is created at the creation of an individual third party ► (v14.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SUPPORT_SHARED_CONTACT_BETWEEN_THIRDPARTIES&#039;&#039;&#039; ► Able to share contact between several third parties&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Ticket Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;TICKET_SHOW_MESSAGES_ON_CARD&#039;&#039;&#039; ►Display all ticket related messages on the main ticket card. ► (&amp;gt;= 10.0)&lt;br /&gt;
*&#039;&#039;&#039;TICKET_AUTO_ASSIGN_CONTRACT_CREATE&#039;&#039;&#039; ►Automatically create a contract linked to the ticket ► (&amp;gt;= 10.0)&lt;br /&gt;
*&#039;&#039;&#039;TICKET_AUTO_CREATE_FICHINTER_CREATE&#039;&#039;&#039; ►Automatically create an intervention linked to the ticket ► (&amp;gt;= 10.0)&lt;br /&gt;
*&#039;&#039;&#039;TICKET_AUTO_ASSIGN_USER_CREATE&#039;&#039;&#039; &#039;&#039;&#039;►&#039;&#039;&#039; (&amp;gt;= 21.0) 0=No auto assignement, 1=Auto assign current user if no user was set, 2=Auto assign current user even if another user was set.&lt;br /&gt;
*&#039;&#039;&#039;TICKET_CHECK_NOTIFY_THIRDPARTY_AT_CREATION&#039;&#039;&#039; ►Automatically check &amp;quot;notify thirdparty at creation&amp;quot; ( &amp;gt;=16)&lt;br /&gt;
*&#039;&#039;&#039;TICKETS_MESSAGE_FORCE_MAIL&#039;&#039;&#039; ► Pre check email sending on ticket message (&amp;gt;=15)&lt;br /&gt;
*&#039;&#039;&#039;TICKET_SEND_PRIVATE_EMAIL ►&#039;&#039;&#039; Allow a private message to be sent by mail (&amp;gt;=17)&lt;br /&gt;
*&#039;&#039;&#039;TICKET_LIMIT_VIEW_ASSIGNED_ONLY&#039;&#039;&#039;  &#039;&#039;&#039;►&#039;&#039;&#039; Only display tickets assigned to the user&lt;br /&gt;
*&#039;&#039;&#039;TICKET_ADD_AUTHOR_AS_CONTACT&#039;&#039;&#039; &#039;&#039;&#039;►&#039;&#039;&#039; If set to 1: Automatically adds the author as internal contact. If set to 2: Automatically adds the author as external contact if external user. (&amp;gt;=20)&lt;br /&gt;
*&#039;&#039;&#039;TICKET_ASSIGN_CONTACT_TO_MESSAGE&#039;&#039;&#039; &#039;&#039;&#039;►&#039;&#039;&#039; If known, the external contact is assigned to the message. (&amp;gt;=19)&lt;br /&gt;
*&#039;&#039;&#039;TICKET_ALLOW_CLASSIFICATION_MODIFICATION_EVEN_IF_CLOSED&#039;&#039;&#039; &#039;&#039;&#039;►&#039;&#039;&#039;Allow modify ticket classification even if closed. (&amp;gt;=19)&lt;br /&gt;
*&#039;&#039;&#039;WORKFLOW_TICKET_CLOSE_INTERVENTION&#039;&#039;&#039; ►On ticket close, automatically close an intervention linked to the ticket&lt;br /&gt;
*&#039;&#039;&#039;TICKET_INCLUDE_SUSPENDED_STATUS&#039;&#039;&#039; ► Use ticket suspended status (&amp;gt;=19)&lt;br /&gt;
*&#039;&#039;&#039;TICKET_INCLUDE_LINK_TO_PUBLIC_INTERFACE_IN_MESSAGE&#039;&#039;&#039; ► Add a link in bottom of emails sent from ticket page with link to public ticket admin tool (&amp;gt;=22)&lt;br /&gt;
&lt;br /&gt;
=VAT Report=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_INCLUDE_ZERO_VAT_IN_REPORTS&#039;&#039;&#039; ► Include lines with VAT to 0% (for &amp;quot;auto-liquidation&amp;quot; in EEC) ► (v8.0.3+)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Website Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;WEBSITE_USE_WEBSITE_ACCOUNTS&#039;&#039;&#039; ► Add a table and a tab to manage some accounts for websites to a third party&lt;br /&gt;
*&#039;&#039;&#039;WEBSITE_ALLOW_OVERWRITE_GIT_SOURCE&#039;&#039;&#039; ► Add a button to export a website over the GIT sources&lt;br /&gt;
*&#039;&#039;&#039;WEBSITE_ADD_CSS_TO_BODY&#039;&#039;&#039; ► Add a CSS class to the body tag of websites&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=WYSIWYG Editor=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;FCKEDITOR_ENABLE_DETAILS_FULL&#039;&#039;&#039; ► Can cut and paste external images (hosted on external server) into description of proposal, orders or invoices. WARNING: PDF generation is not guaranteed with this. Also if the image is removed or renamed by the image hosting service, your proposal, order or invoice will be broken.&lt;br /&gt;
*&#039;&#039;&#039;FCKEDITOR_ALLOW_ANY_CONTENT&#039;&#039;&#039; ► Allow to enter any content. However, this will totally disable content filtering which is one of the most important CKEditor features. You can use this to keep all your tags and attributes in the html content.&lt;br /&gt;
*&#039;&#039;&#039;FCKEDITOR_ENABLE_SCAYT_AUTOSTARTUP ►&#039;&#039;&#039; Allow to activate the SpellCheckAsYouType (SCAYT) plugins of CKEditor i.e an automatic spell checking. The value to activate this option is 1.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=STRIPE Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;STRIPE_FORCE_VERSION&#039;&#039;&#039; ► Force the STRIPE version. For Example: &amp;quot;2019-09-09&amp;quot; (v11+)&lt;br /&gt;
*&#039;&#039;&#039;STRIPE_REUSE_EXISTING_INTENT_IF_FOUND&#039;&#039;&#039; ► With this, you will have idempotency key but the payment intention will be reuse and not Generate again (13+)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=ClickToDial Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CLICKTODIAL_FORCENEWTARGET&#039;&#039;&#039; ► Open in new page.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=For SaaS / Cloud hosting integrators=&lt;br /&gt;
&lt;br /&gt;
The following options are useless for a common usage of Dolibarr. But they are usefull if you plan to host / provide Dolibarr instances as Software As A Service (SAAS) to your customers.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CRON_DISABLE_KEY_CHANGE&#039;&#039;&#039; ► When you provide an instance to a customer, you probably also add an entry in the cron of this user so Dolibarr batch and scheduler can work correctly. For security purpose, it may have a security key that is inside the command line into the cron entry and this entry must match the value defined into Dolibarr setup (setup of module &#039;Scheduled Jobs&#039;). Because, a customer of a Saas platform will probably have no access to edit the cron file, it is also import that he has no way to edit the key into the Dolibarr setup, so the key in the cron command line will always match the key in Dolibarr setup, and the Dolibarr batches will executed without security errors. To be sure, the customer does not change the value, you can set this constant to 1 into the table [[Table_llx_const]].&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CRON_DISABLE_TUTORIAL_CRON&#039;&#039;&#039; ► Disable the tutorial about how to install the cron script (on a SaaS hosting, this should be done by the web hosting provider)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CRON_WARNING_DELAY_HOURS&#039;&#039;&#039; ► Set this value to the frequency set for the cron script (so a warning will be shown to user to warn it about max frequency of its scheduled jobs)&lt;br /&gt;
 &lt;br /&gt;
*&#039;&#039;&#039;MAILING_NO_USING_PHPMAIL&#039;&#039;&#039; ► To avoid bad use of the emailing module, it is recommended to set this option to 1 (This option is described previously). Also you can complete the message visible by customers when they try to setup the SMTP credentials of their Dolibarr by using the constant MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS (This option is described previously). For example, you can point to a FAQ on your website.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL&#039;&#039;&#039; ► If you have set a system limit on number of recipients on your system, you can set also this option to match the same value, so users will be informed: So &#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL&#039;&#039;&#039; restricts sending of 1 email message to &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; recipients for the same email message (x for To: + CC: + BCC:). If not defined, value is &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;. Required to fight against spamming that include a ton of recipients in 1 message. Note that &#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL&#039;&#039;&#039;, &#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL&#039;&#039;&#039; and &#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL&#039;&#039;&#039; are also available. Note that this is not a hard limit; it is just the quantity that will be displayed on warnings on screen. For a real limit, this must be implemented into the system.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_LIMIT_SENDBYDAY&#039;&#039;&#039; ► This is a limit of number of emails, an instance can send. Note that this is not a hard limit; it is just the quantity that will be displayed on warnings on screen. For a real limit, this must be implemented into the system.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_LIMIT_WARNING_PHPMAIL&#039;&#039;&#039; ► Set this value to a translation key. Then add translation keys into the instance so user will see a message when into the email setup page. For example, you can set a message to say &#039;&#039;Warning: To avoid abuse, when using default setup, you are restricted to 500 emails per day for all your application (account may be suspended in case of violation of this rule. You can setup application to use your own SMTP server for sending email so you want have no restriction at all (see menu Home-Setup-Emails)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ALWAYS_CREATE_LOCK_AFTER_LAST_UPGRADE&#039;&#039;&#039; ► If set, when you launch upgrades of your customer instances, you are sure that the upgrade process recreate automatically the file install.lock and remove the upgrade.unlock so the administration tools like install.php, upgrade.php and repair.php can&#039;t be used on your customer instance (until the install.lock file is deleted or the upgrade.unlock file is created).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS&#039;&#039;&#039; ► (A better name of this option should be MAIN_EXTERNAL_MAIL_CLIENT_IP_ADDRESS). Set here the list of IPs where your Dolibarr instances are hosted. So when your customer go into the setup area of email:&lt;br /&gt;
**If he chose mail method, a message will explain him how to setup its SPF record for its email domain (showing the list of IP). This is to avoid to have its emails, sent from its Dolibarr instance, fails due to strict antispam rule of some emailing servers.&lt;br /&gt;
**If he chose smtp method, a message will explain him the list of IP he can use if there is restriction on IP by the SMTP agent. If you also need to add a message to help SPF setup, see option &#039;&#039;&#039;MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD&#039;&#039;&#039; ► Set here the string to add in the SPF record This string will be shown into a help message when the user in in the setup of email page and has choose a method using an external SMTP server.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FIRST_PING_OK_ID&#039;&#039;&#039; ► Set this value to &amp;quot;disabled&amp;quot; to remove completely any ping after a complete setup.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FILECHECK_LOCAL_SUFFIX&#039;&#039;&#039; and &#039;&#039;&#039;MAIN_FILECHECK_LOCAL_EXT&#039;&#039;&#039; ► If you offer a customized or patched version of Dolibarr, when the user will use the tool to check the integrity of files, the default xml file name used for signature checking will be the official file provided by the Dolibarr team, so it does not includes your own changes. To have the suggested signature file being your own file, you can set the constant MAIN_FILECHECK_LOCAL_SUFFIX to a suffix. For example, set this to &amp;quot;&#039;&#039;&#039;-mysaassolution&#039;&#039;&#039;&amp;quot;. So, when the user will use the file integrity tool, the default file to check for signature will be &amp;quot;&#039;&#039;&#039;/install/filelist-10.0.2-mysaassolution.xml&#039;&#039;&#039;&amp;quot; instead of &amp;quot;&#039;&#039;&#039;/install/filelist-10.0.2.xml&#039;&#039;&#039;&amp;quot;. All you have to do is generate the signature file &#039;&#039;&#039;mysaassolution&#039;&#039;&#039; using the tool &#039;&#039;&#039;build/generate_filelist_xml.php&#039;&#039;&#039; and put this file into the install directory of your customer instance. Doing this, your customer, and yourself, will be able to check if a file was modified without being disturbed by false alerts due to your customized files or patches (they will be included in the signature used for check). Also, if you want to zip the customized signature file into &amp;quot;&#039;&#039;&#039;/install/filelist-10.0.2-mysaassolution.xml.zip&#039;&#039;&#039;&amp;quot;, you can set the constant MAIN_FILECHECK_LOCAL_EXT to &#039;.zip&#039;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP&#039;&#039;&#039; ► Set to 1 by default (so warning is hidden). You can set it to 0 to show a warning to encourage admin to set its own SMTP service.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_SENDMODE_password&#039;&#039;&#039; ► To force the mode to send the email on the &amp;quot;password forgotten&amp;quot; page. So you can decide to use php mail or SMTP method for this specific use case.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING&#039;&#039;&#039; ► If set to N, the warning saying modules are not activated will be shown if number of activated module is &amp;lt; N (Having this variable not defined is same than having it set to 1). This may be usefull if you preinstall an application with some modules already loaded by default and you want to keep the warning to be sure the user will enable other modules he need, even if some modules are already enabed.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_NO_UPGRADE_REDIRECT_ON_LEVEL_3_CHANGE&#039;&#039;&#039; ► The page to make the migration is not shown automatically when you deploy files of version X.Y.Z+delta over an  installation with a database version X.Y.Z. The upgrade page will be shown automatically only if there is a change on value of X or Y in version.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SYSLOG_DISABLE_LOGHANDLER_SYSLOG&#039;&#039;&#039; ► Set this to 1 to disable usage of syslog (having all customer instances logging in the same system file is not a good idea).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;WEBSITE_REPLACE_INFO_ABOUT_USAGE_WITH_WEBSERVER&#039;&#039;&#039; ► Put here a text or a translation key of a text to show when the user will use the feature &amp;quot;Deploy&amp;quot; when he want to deploy a website done with Dolibarr CMS. So you can, for example, show him a message that this feature is not part of its subscription and putting a website online may need a complementary subscription.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bfaliere</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Outils_de_d%C3%A9veloppement&amp;diff=62622</id>
		<title>Outils de développement</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Outils_de_d%C3%A9veloppement&amp;diff=62622"/>
		<updated>2025-02-24T16:28:25Z</updated>

		<summary type="html">&lt;p&gt;Bfaliere: /* Modules complémentaires */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Do NOT edit this section&lt;br /&gt;
     Links below are automatically managed by PolyglotBot&lt;br /&gt;
     You can edit links on the English source page : Environment_and_development_tools --&amp;gt;&lt;br /&gt;
[[en:Environment_and_development_tools]]&lt;br /&gt;
[[es:Herramientas_de_Desarrollo]]&lt;br /&gt;
[[zh:开发环境与工具]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocDevFr}}&lt;br /&gt;
&lt;br /&gt;
Tout environnement de développement peut être utilisé.&lt;br /&gt;
Toutefois voici une liste d&#039;outils fortement recommandés pour leur complétude, leur qualité et la productivité du développement qu&#039;ils apportent. Ils sont utilisés par la plupart des développeurs principaux de Dolibarr. Notons que toutes ces solutions sont gratuites et OpenSource.&lt;br /&gt;
&lt;br /&gt;
=[[File:Eclipsephp.jpg]] Pour tout développeur=&lt;br /&gt;
&lt;br /&gt;
Voici le socle de travail recommandé, toutefois tout outil respectant les standards Web, PHP, Mysql peuvent faire l&#039;affaire.&lt;br /&gt;
&lt;br /&gt;
==Un serveur AMP==&lt;br /&gt;
&lt;br /&gt;
*Apache, MariaDB et PHP&lt;br /&gt;
&lt;br /&gt;
Sur Linux: Ces 3 produits sont disponibles dans toutes distributions.&lt;br /&gt;
&lt;br /&gt;
Sur Windows: Installez [http://www.wampserver.com/WampServer] (base MariaDB, Apache et PHP tout clé en main). Ce serveur WAMP offre le trio MariaDB + Apache + PHP, avec possibilité de basculer de version pour n&#039;importe lequel de ces composants d&#039;un simple clic).&lt;br /&gt;
&lt;br /&gt;
==Chrome ou Firefox et plugins==&lt;br /&gt;
&lt;br /&gt;
*Chrome&lt;br /&gt;
&lt;br /&gt;
A télécharger depuis le site http://www.chrome.com&lt;br /&gt;
&lt;br /&gt;
*Firefox avec les plugins: &lt;br /&gt;
**Firebug + Firecookie + FirePHP,&lt;br /&gt;
**HTML Validator,&lt;br /&gt;
**User agent switcher pour simuler des accès depuis un smartphone&lt;br /&gt;
**Selenium IDE&lt;br /&gt;
**Cert Viewer Plus si vous comptez faire des tests en HTTPS,&lt;br /&gt;
**QuickProxy si vous voulez basculer rapidement votre navigateur vers des utilitaires Proxy (WebScarab)...&lt;br /&gt;
&lt;br /&gt;
A télécharger depuis le site http://www.firefox.com&lt;br /&gt;
&lt;br /&gt;
==Un outil d&#039;accès aux bases de données==&lt;br /&gt;
&lt;br /&gt;
Exemple:&lt;br /&gt;
&lt;br /&gt;
*SquirrelSQL pour l&#039;administration de base - A télécharger depuis le site http://squirrel-sql.sf.net&lt;br /&gt;
*DBeaver - https://dbeaver.io/&lt;br /&gt;
&lt;br /&gt;
==IDE (Eclipse, VSCode) et plugins==&lt;br /&gt;
&lt;br /&gt;
===Eclipse===&lt;br /&gt;
&lt;br /&gt;
====Installation d&#039;Eclipse====&lt;br /&gt;
Nous recommandons la version suivante d&#039;Eclipse:&lt;br /&gt;
&lt;br /&gt;
{{DownloadEclipse}}&lt;br /&gt;
&lt;br /&gt;
Sinon toute version disponible sur le site [http://www.eclipse.org Eclipse] fait l&#039;affaire.&lt;br /&gt;
&lt;br /&gt;
Une fois Eclipse installé, il est recommandé de modifier/vérifier les paramètres suivants:&lt;br /&gt;
{{EclipseStandardSetup}}&lt;br /&gt;
&lt;br /&gt;
====Installation du plugin Eclipse pour PHP: PDT.====&lt;br /&gt;
Avec certaines installations d&#039;Eclipse, PDT peut etre installé depuis Help -&amp;gt; Install new software et choisir PDT.&lt;br /&gt;
Si PDT n&#039;est pas présent, si vous avez installé la version Eclipse ci-dessus, il suffit d&#039;utiliser la procédure Help -&amp;gt; Install new software -&amp;gt; Add -&amp;gt; pour installer le package complémentaire:&lt;br /&gt;
&lt;br /&gt;
{{DownloadEclipsePDT}}&lt;br /&gt;
&lt;br /&gt;
Une fois PDT installé, il faut aussi le configurer dans Eclipse comme défini dans le chapitre [[Outils_de_développement_-_Composants_optionnels#Depuis_Eclipse]].&lt;br /&gt;
&lt;br /&gt;
====Configurer Eclipse pour récupérer les sources====&lt;br /&gt;
Une fois qu&#039;Eclipse est installé, vous pouvez vous connecter au repository GIT pour y récupérer les dernières versions de développement.&lt;br /&gt;
&lt;br /&gt;
Pour cela, voir la page [[FAQ Récupérer, mettre à jours les sources GIT du projet]].&lt;br /&gt;
&lt;br /&gt;
===Codium===&lt;br /&gt;
&lt;br /&gt;
Codium est la version Libre de VSCode, la documentation suivante s&#039;appliquera donc probablement à vscode.&lt;br /&gt;
&lt;br /&gt;
====Modules complémentaires====&lt;br /&gt;
&lt;br /&gt;
Voici la liste des modules complémentaire conseillés:&lt;br /&gt;
&lt;br /&gt;
*[https://open-vsx.org/extension/bmewburn/vscode-intelephense-client PHP Intelephense]&lt;br /&gt;
*phpdoc-comment&lt;br /&gt;
*PHPUnit&lt;br /&gt;
*[https://open-vsx.org/extension/junstyle/php-cs-fixer PHP CS Fixer]&lt;br /&gt;
*[https://open-vsx.org/extension/EditorConfig/EditorConfig EditorConfig for VSCode] pour que la configuration du projet définie dans le fichier .editorconfig soit utilisée automatiquement&lt;br /&gt;
*[https://open-vsx.org/extension/mhutchie/git-graph Git Graph]&lt;br /&gt;
*[https://open-vsx.org/extension/xdebug/php-debug PHP Debug] pour utiliser XDebug directement dans Codium&lt;br /&gt;
&lt;br /&gt;
====Stubs ou extraits de codes====&lt;br /&gt;
&lt;br /&gt;
Si vous développez des modules complémentaires pour dolibarr vous apprécierez d&#039;avoir les définitions des fonctions et autres objets de dolibarr sans avoir à sourcer l&#039;arborescence complète de dolibarr...&lt;br /&gt;
&lt;br /&gt;
Tout ceci se passe par la récupération des stubs depuis https://packagist.org/packages/caprel/dolibarr-stubs.&lt;br /&gt;
&lt;br /&gt;
Une fois le stub téléchargé / ou installé en suivant la doc pensez à ajouter le fichier dolibarr-stubs dans la liste des stubs de votre codium, éditez le fichier ~/.config/VSCodium/User/settings.json&lt;br /&gt;
 &amp;quot;intelephense.stubs&amp;quot;: [&lt;br /&gt;
  &amp;quot;apache&amp;quot;,&lt;br /&gt;
  &amp;quot;intl&amp;quot;,&lt;br /&gt;
  &amp;quot;standard&amp;quot;,&lt;br /&gt;
  &amp;quot;/media/erics/stockage/tmp/dolibarr/stubs&amp;quot;,&lt;br /&gt;
 ],&lt;br /&gt;
 &amp;quot;intelephense.environment.includePaths&amp;quot;: [&lt;br /&gt;
  &amp;quot;/media/erics/stockage/tmp/dolibarr/stubs&amp;quot;,&lt;br /&gt;
 ],&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===VSCode===&lt;br /&gt;
&lt;br /&gt;
===={{DownloadVSCode}}====&lt;br /&gt;
&lt;br /&gt;
==Git Hooks==&lt;br /&gt;
&lt;br /&gt;
===Installer le hook git Pre-commit===&lt;br /&gt;
&lt;br /&gt;
Vous pouvez utiliser des hooks git pour vérifier la syntaxe du fichier que vous validez et annuler (ou mieux corriger automatiquement) la validation si quelque chose ne va pas.&lt;br /&gt;
&lt;br /&gt;
Les instructions pour installer un tel hook de pré-validation sont disponibles sur ce fichier :&lt;br /&gt;
&lt;br /&gt;
https://github.com/Dolibarr/dolibarr/tree/develop/dev/setup/pre-commit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De tels hooks fonctionneront lors d&#039;une utilisation en ligne de commande, mais peuvent également fonctionner lors d&#039;une validation à l&#039;aide de votre IDE commun (il a été validé avec Eclipse et VSC).&lt;br /&gt;
&lt;br /&gt;
Une fois installé, le hook démarrera lors de votre prochain commit pour reformater votre code, afin que votre code corresponde toujours aux règles de syntaxe de codage. Si tout le monde active ce hook, tout le monde utilisera la même règle de syntaxe de codage, il est donc fortement recommandé de l&#039;activer si vous le pouvez. Si quelque chose ne va pas dans la syntaxe, la validation sera immédiatement annulée. S&#039;il peut être corrigé automatiquement, phpcbf, installé lors de l&#039;installation du hook de pré-validation, le corrigera donc il vous suffira de réessayer le commit une seconde fois pour le valider.&lt;br /&gt;
&lt;br /&gt;
=[[File:Computer.png]] Optionnel=&lt;br /&gt;
Vous pouvez aussi installer des composants optionnels pour avoir le support de technologies suplémentaires.&lt;br /&gt;
Voir la page [[Outils de développement - Composants optionnels]].&lt;/div&gt;</summary>
		<author><name>Bfaliere</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Outils_de_d%C3%A9veloppement&amp;diff=62621</id>
		<title>Outils de développement</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Outils_de_d%C3%A9veloppement&amp;diff=62621"/>
		<updated>2025-02-24T15:49:21Z</updated>

		<summary type="html">&lt;p&gt;Bfaliere: Ajout de liens vers les modules&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Do NOT edit this section&lt;br /&gt;
     Links below are automatically managed by PolyglotBot&lt;br /&gt;
     You can edit links on the English source page : Environment_and_development_tools --&amp;gt;&lt;br /&gt;
[[en:Environment_and_development_tools]]&lt;br /&gt;
[[es:Herramientas_de_Desarrollo]]&lt;br /&gt;
[[zh:开发环境与工具]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocDevFr}}&lt;br /&gt;
&lt;br /&gt;
Tout environnement de développement peut être utilisé.&lt;br /&gt;
Toutefois voici une liste d&#039;outils fortement recommandés pour leur complétude, leur qualité et la productivité du développement qu&#039;ils apportent. Ils sont utilisés par la plupart des développeurs principaux de Dolibarr. Notons que toutes ces solutions sont gratuites et OpenSource.&lt;br /&gt;
&lt;br /&gt;
=[[File:Eclipsephp.jpg]] Pour tout développeur=&lt;br /&gt;
&lt;br /&gt;
Voici le socle de travail recommandé, toutefois tout outil respectant les standards Web, PHP, Mysql peuvent faire l&#039;affaire.&lt;br /&gt;
&lt;br /&gt;
==Un serveur AMP==&lt;br /&gt;
&lt;br /&gt;
*Apache, MariaDB et PHP&lt;br /&gt;
&lt;br /&gt;
Sur Linux: Ces 3 produits sont disponibles dans toutes distributions.&lt;br /&gt;
&lt;br /&gt;
Sur Windows: Installez [http://www.wampserver.com/WampServer] (base MariaDB, Apache et PHP tout clé en main). Ce serveur WAMP offre le trio MariaDB + Apache + PHP, avec possibilité de basculer de version pour n&#039;importe lequel de ces composants d&#039;un simple clic).&lt;br /&gt;
&lt;br /&gt;
==Chrome ou Firefox et plugins==&lt;br /&gt;
&lt;br /&gt;
*Chrome&lt;br /&gt;
&lt;br /&gt;
A télécharger depuis le site http://www.chrome.com&lt;br /&gt;
&lt;br /&gt;
*Firefox avec les plugins: &lt;br /&gt;
**Firebug + Firecookie + FirePHP,&lt;br /&gt;
**HTML Validator,&lt;br /&gt;
**User agent switcher pour simuler des accès depuis un smartphone&lt;br /&gt;
**Selenium IDE&lt;br /&gt;
**Cert Viewer Plus si vous comptez faire des tests en HTTPS,&lt;br /&gt;
**QuickProxy si vous voulez basculer rapidement votre navigateur vers des utilitaires Proxy (WebScarab)...&lt;br /&gt;
&lt;br /&gt;
A télécharger depuis le site http://www.firefox.com&lt;br /&gt;
&lt;br /&gt;
==Un outil d&#039;accès aux bases de données==&lt;br /&gt;
&lt;br /&gt;
Exemple:&lt;br /&gt;
&lt;br /&gt;
*SquirrelSQL pour l&#039;administration de base - A télécharger depuis le site http://squirrel-sql.sf.net&lt;br /&gt;
*DBeaver - https://dbeaver.io/&lt;br /&gt;
&lt;br /&gt;
==IDE (Eclipse, VSCode) et plugins==&lt;br /&gt;
&lt;br /&gt;
===Eclipse===&lt;br /&gt;
&lt;br /&gt;
====Installation d&#039;Eclipse====&lt;br /&gt;
Nous recommandons la version suivante d&#039;Eclipse:&lt;br /&gt;
&lt;br /&gt;
{{DownloadEclipse}}&lt;br /&gt;
&lt;br /&gt;
Sinon toute version disponible sur le site [http://www.eclipse.org Eclipse] fait l&#039;affaire.&lt;br /&gt;
&lt;br /&gt;
Une fois Eclipse installé, il est recommandé de modifier/vérifier les paramètres suivants:&lt;br /&gt;
{{EclipseStandardSetup}}&lt;br /&gt;
&lt;br /&gt;
====Installation du plugin Eclipse pour PHP: PDT.====&lt;br /&gt;
Avec certaines installations d&#039;Eclipse, PDT peut etre installé depuis Help -&amp;gt; Install new software et choisir PDT.&lt;br /&gt;
Si PDT n&#039;est pas présent, si vous avez installé la version Eclipse ci-dessus, il suffit d&#039;utiliser la procédure Help -&amp;gt; Install new software -&amp;gt; Add -&amp;gt; pour installer le package complémentaire:&lt;br /&gt;
&lt;br /&gt;
{{DownloadEclipsePDT}}&lt;br /&gt;
&lt;br /&gt;
Une fois PDT installé, il faut aussi le configurer dans Eclipse comme défini dans le chapitre [[Outils_de_développement_-_Composants_optionnels#Depuis_Eclipse]].&lt;br /&gt;
&lt;br /&gt;
====Configurer Eclipse pour récupérer les sources====&lt;br /&gt;
Une fois qu&#039;Eclipse est installé, vous pouvez vous connecter au repository GIT pour y récupérer les dernières versions de développement.&lt;br /&gt;
&lt;br /&gt;
Pour cela, voir la page [[FAQ Récupérer, mettre à jours les sources GIT du projet]].&lt;br /&gt;
&lt;br /&gt;
===Codium===&lt;br /&gt;
&lt;br /&gt;
Codium est la version Libre de VSCode, la documentation suivante s&#039;appliquera donc probablement à vscode.&lt;br /&gt;
&lt;br /&gt;
====Modules complémentaires====&lt;br /&gt;
&lt;br /&gt;
Voici la liste des modules complémentaire conseillés:&lt;br /&gt;
&lt;br /&gt;
*[https://open-vsx.org/extension/bmewburn/vscode-intelephense-client PHP Intelephense]&lt;br /&gt;
*phpdoc-comment&lt;br /&gt;
*PHPUnit&lt;br /&gt;
*PHP CS Fixer&lt;br /&gt;
*[https://open-vsx.org/extension/EditorConfig/EditorConfig EditorConfig for VSCode] pour que la configuration du projet définie dans le fichier .editorconfig soit utilisée automatiquement&lt;br /&gt;
*[https://open-vsx.org/extension/mhutchie/git-graph Git Graph]&lt;br /&gt;
*[https://open-vsx.org/extension/xdebug/php-debug PHP Debug] pour utiliser XDebug directement dans Codium&lt;br /&gt;
&lt;br /&gt;
====Stubs ou extraits de codes====&lt;br /&gt;
&lt;br /&gt;
Si vous développez des modules complémentaires pour dolibarr vous apprécierez d&#039;avoir les définitions des fonctions et autres objets de dolibarr sans avoir à sourcer l&#039;arborescence complète de dolibarr...&lt;br /&gt;
&lt;br /&gt;
Tout ceci se passe par la récupération des stubs depuis https://packagist.org/packages/caprel/dolibarr-stubs.&lt;br /&gt;
&lt;br /&gt;
Une fois le stub téléchargé / ou installé en suivant la doc pensez à ajouter le fichier dolibarr-stubs dans la liste des stubs de votre codium, éditez le fichier ~/.config/VSCodium/User/settings.json&lt;br /&gt;
 &amp;quot;intelephense.stubs&amp;quot;: [&lt;br /&gt;
  &amp;quot;apache&amp;quot;,&lt;br /&gt;
  &amp;quot;intl&amp;quot;,&lt;br /&gt;
  &amp;quot;standard&amp;quot;,&lt;br /&gt;
  &amp;quot;/media/erics/stockage/tmp/dolibarr/stubs&amp;quot;,&lt;br /&gt;
 ],&lt;br /&gt;
 &amp;quot;intelephense.environment.includePaths&amp;quot;: [&lt;br /&gt;
  &amp;quot;/media/erics/stockage/tmp/dolibarr/stubs&amp;quot;,&lt;br /&gt;
 ],&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===VSCode===&lt;br /&gt;
&lt;br /&gt;
===={{DownloadVSCode}}====&lt;br /&gt;
&lt;br /&gt;
==Git Hooks==&lt;br /&gt;
&lt;br /&gt;
===Installer le hook git Pre-commit===&lt;br /&gt;
&lt;br /&gt;
Vous pouvez utiliser des hooks git pour vérifier la syntaxe du fichier que vous validez et annuler (ou mieux corriger automatiquement) la validation si quelque chose ne va pas.&lt;br /&gt;
&lt;br /&gt;
Les instructions pour installer un tel hook de pré-validation sont disponibles sur ce fichier :&lt;br /&gt;
&lt;br /&gt;
https://github.com/Dolibarr/dolibarr/tree/develop/dev/setup/pre-commit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De tels hooks fonctionneront lors d&#039;une utilisation en ligne de commande, mais peuvent également fonctionner lors d&#039;une validation à l&#039;aide de votre IDE commun (il a été validé avec Eclipse et VSC).&lt;br /&gt;
&lt;br /&gt;
Une fois installé, le hook démarrera lors de votre prochain commit pour reformater votre code, afin que votre code corresponde toujours aux règles de syntaxe de codage. Si tout le monde active ce hook, tout le monde utilisera la même règle de syntaxe de codage, il est donc fortement recommandé de l&#039;activer si vous le pouvez. Si quelque chose ne va pas dans la syntaxe, la validation sera immédiatement annulée. S&#039;il peut être corrigé automatiquement, phpcbf, installé lors de l&#039;installation du hook de pré-validation, le corrigera donc il vous suffira de réessayer le commit une seconde fois pour le valider.&lt;br /&gt;
&lt;br /&gt;
=[[File:Computer.png]] Optionnel=&lt;br /&gt;
Vous pouvez aussi installer des composants optionnels pour avoir le support de technologies suplémentaires.&lt;br /&gt;
Voir la page [[Outils de développement - Composants optionnels]].&lt;/div&gt;</summary>
		<author><name>Bfaliere</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Outils_de_d%C3%A9veloppement&amp;diff=62620</id>
		<title>Outils de développement</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Outils_de_d%C3%A9veloppement&amp;diff=62620"/>
		<updated>2025-02-24T15:45:40Z</updated>

		<summary type="html">&lt;p&gt;Bfaliere: Ajout de modules complémentaires dans la liste pour Codium.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Do NOT edit this section&lt;br /&gt;
     Links below are automatically managed by PolyglotBot&lt;br /&gt;
     You can edit links on the English source page : Environment_and_development_tools --&amp;gt;&lt;br /&gt;
[[en:Environment_and_development_tools]]&lt;br /&gt;
[[es:Herramientas_de_Desarrollo]]&lt;br /&gt;
[[zh:开发环境与工具]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocDevFr}}&lt;br /&gt;
&lt;br /&gt;
Tout environnement de développement peut être utilisé.&lt;br /&gt;
Toutefois voici une liste d&#039;outils fortement recommandés pour leur complétude, leur qualité et la productivité du développement qu&#039;ils apportent. Ils sont utilisés par la plupart des développeurs principaux de Dolibarr. Notons que toutes ces solutions sont gratuites et OpenSource.&lt;br /&gt;
&lt;br /&gt;
=[[File:Eclipsephp.jpg]] Pour tout développeur=&lt;br /&gt;
&lt;br /&gt;
Voici le socle de travail recommandé, toutefois tout outil respectant les standards Web, PHP, Mysql peuvent faire l&#039;affaire.&lt;br /&gt;
&lt;br /&gt;
==Un serveur AMP==&lt;br /&gt;
&lt;br /&gt;
*Apache, MariaDB et PHP&lt;br /&gt;
&lt;br /&gt;
Sur Linux: Ces 3 produits sont disponibles dans toutes distributions.&lt;br /&gt;
&lt;br /&gt;
Sur Windows: Installez [http://www.wampserver.com/WampServer] (base MariaDB, Apache et PHP tout clé en main). Ce serveur WAMP offre le trio MariaDB + Apache + PHP, avec possibilité de basculer de version pour n&#039;importe lequel de ces composants d&#039;un simple clic).&lt;br /&gt;
&lt;br /&gt;
==Chrome ou Firefox et plugins==&lt;br /&gt;
&lt;br /&gt;
*Chrome&lt;br /&gt;
&lt;br /&gt;
A télécharger depuis le site http://www.chrome.com&lt;br /&gt;
&lt;br /&gt;
*Firefox avec les plugins: &lt;br /&gt;
**Firebug + Firecookie + FirePHP,&lt;br /&gt;
**HTML Validator,&lt;br /&gt;
**User agent switcher pour simuler des accès depuis un smartphone&lt;br /&gt;
**Selenium IDE&lt;br /&gt;
**Cert Viewer Plus si vous comptez faire des tests en HTTPS,&lt;br /&gt;
**QuickProxy si vous voulez basculer rapidement votre navigateur vers des utilitaires Proxy (WebScarab)...&lt;br /&gt;
&lt;br /&gt;
A télécharger depuis le site http://www.firefox.com&lt;br /&gt;
&lt;br /&gt;
==Un outil d&#039;accès aux bases de données==&lt;br /&gt;
&lt;br /&gt;
Exemple:&lt;br /&gt;
&lt;br /&gt;
*SquirrelSQL pour l&#039;administration de base - A télécharger depuis le site http://squirrel-sql.sf.net&lt;br /&gt;
*DBeaver - https://dbeaver.io/&lt;br /&gt;
&lt;br /&gt;
==IDE (Eclipse, VSCode) et plugins==&lt;br /&gt;
&lt;br /&gt;
===Eclipse===&lt;br /&gt;
&lt;br /&gt;
====Installation d&#039;Eclipse====&lt;br /&gt;
Nous recommandons la version suivante d&#039;Eclipse:&lt;br /&gt;
&lt;br /&gt;
{{DownloadEclipse}}&lt;br /&gt;
&lt;br /&gt;
Sinon toute version disponible sur le site [http://www.eclipse.org Eclipse] fait l&#039;affaire.&lt;br /&gt;
&lt;br /&gt;
Une fois Eclipse installé, il est recommandé de modifier/vérifier les paramètres suivants:&lt;br /&gt;
{{EclipseStandardSetup}}&lt;br /&gt;
&lt;br /&gt;
====Installation du plugin Eclipse pour PHP: PDT.====&lt;br /&gt;
Avec certaines installations d&#039;Eclipse, PDT peut etre installé depuis Help -&amp;gt; Install new software et choisir PDT.&lt;br /&gt;
Si PDT n&#039;est pas présent, si vous avez installé la version Eclipse ci-dessus, il suffit d&#039;utiliser la procédure Help -&amp;gt; Install new software -&amp;gt; Add -&amp;gt; pour installer le package complémentaire:&lt;br /&gt;
&lt;br /&gt;
{{DownloadEclipsePDT}}&lt;br /&gt;
&lt;br /&gt;
Une fois PDT installé, il faut aussi le configurer dans Eclipse comme défini dans le chapitre [[Outils_de_développement_-_Composants_optionnels#Depuis_Eclipse]].&lt;br /&gt;
&lt;br /&gt;
====Configurer Eclipse pour récupérer les sources====&lt;br /&gt;
Une fois qu&#039;Eclipse est installé, vous pouvez vous connecter au repository GIT pour y récupérer les dernières versions de développement.&lt;br /&gt;
&lt;br /&gt;
Pour cela, voir la page [[FAQ Récupérer, mettre à jours les sources GIT du projet]].&lt;br /&gt;
&lt;br /&gt;
===Codium===&lt;br /&gt;
&lt;br /&gt;
Codium est la version Libre de VSCode, la documentation suivante s&#039;appliquera donc probablement à vscode.&lt;br /&gt;
&lt;br /&gt;
====Modules complémentaires====&lt;br /&gt;
&lt;br /&gt;
Voici la liste des modules complémentaire conseillés:&lt;br /&gt;
&lt;br /&gt;
*PHP Intelephense&lt;br /&gt;
*phpdoc-comment&lt;br /&gt;
*PHPUnit&lt;br /&gt;
*PHP CS Fixer&lt;br /&gt;
*EditorConfig for VSCode pour que la configuration du projet définie dans le fichier .editorconfig soit utilisée automatiquement&lt;br /&gt;
*Git Graph&lt;br /&gt;
*PHP Debug pour utiliser XDebug directement dans Codium&lt;br /&gt;
&lt;br /&gt;
====Stubs ou extraits de codes====&lt;br /&gt;
&lt;br /&gt;
Si vous développez des modules complémentaires pour dolibarr vous apprécierez d&#039;avoir les définitions des fonctions et autres objets de dolibarr sans avoir à sourcer l&#039;arborescence complète de dolibarr...&lt;br /&gt;
&lt;br /&gt;
Tout ceci se passe par la récupération des stubs depuis https://packagist.org/packages/caprel/dolibarr-stubs.&lt;br /&gt;
&lt;br /&gt;
Une fois le stub téléchargé / ou installé en suivant la doc pensez à ajouter le fichier dolibarr-stubs dans la liste des stubs de votre codium, éditez le fichier ~/.config/VSCodium/User/settings.json&lt;br /&gt;
 &amp;quot;intelephense.stubs&amp;quot;: [&lt;br /&gt;
  &amp;quot;apache&amp;quot;,&lt;br /&gt;
  &amp;quot;intl&amp;quot;,&lt;br /&gt;
  &amp;quot;standard&amp;quot;,&lt;br /&gt;
  &amp;quot;/media/erics/stockage/tmp/dolibarr/stubs&amp;quot;,&lt;br /&gt;
 ],&lt;br /&gt;
 &amp;quot;intelephense.environment.includePaths&amp;quot;: [&lt;br /&gt;
  &amp;quot;/media/erics/stockage/tmp/dolibarr/stubs&amp;quot;,&lt;br /&gt;
 ],&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===VSCode===&lt;br /&gt;
&lt;br /&gt;
===={{DownloadVSCode}}====&lt;br /&gt;
&lt;br /&gt;
==Git Hooks==&lt;br /&gt;
&lt;br /&gt;
===Installer le hook git Pre-commit===&lt;br /&gt;
&lt;br /&gt;
Vous pouvez utiliser des hooks git pour vérifier la syntaxe du fichier que vous validez et annuler (ou mieux corriger automatiquement) la validation si quelque chose ne va pas.&lt;br /&gt;
&lt;br /&gt;
Les instructions pour installer un tel hook de pré-validation sont disponibles sur ce fichier :&lt;br /&gt;
&lt;br /&gt;
https://github.com/Dolibarr/dolibarr/tree/develop/dev/setup/pre-commit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De tels hooks fonctionneront lors d&#039;une utilisation en ligne de commande, mais peuvent également fonctionner lors d&#039;une validation à l&#039;aide de votre IDE commun (il a été validé avec Eclipse et VSC).&lt;br /&gt;
&lt;br /&gt;
Une fois installé, le hook démarrera lors de votre prochain commit pour reformater votre code, afin que votre code corresponde toujours aux règles de syntaxe de codage. Si tout le monde active ce hook, tout le monde utilisera la même règle de syntaxe de codage, il est donc fortement recommandé de l&#039;activer si vous le pouvez. Si quelque chose ne va pas dans la syntaxe, la validation sera immédiatement annulée. S&#039;il peut être corrigé automatiquement, phpcbf, installé lors de l&#039;installation du hook de pré-validation, le corrigera donc il vous suffira de réessayer le commit une seconde fois pour le valider.&lt;br /&gt;
&lt;br /&gt;
=[[File:Computer.png]] Optionnel=&lt;br /&gt;
Vous pouvez aussi installer des composants optionnels pour avoir le support de technologies suplémentaires.&lt;br /&gt;
Voir la page [[Outils de développement - Composants optionnels]].&lt;/div&gt;</summary>
		<author><name>Bfaliere</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Tabs_system&amp;diff=62307</id>
		<title>Tabs system</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Tabs_system&amp;diff=62307"/>
		<updated>2025-01-31T13:38:57Z</updated>

		<summary type="html">&lt;p&gt;Bfaliere: Add ticket in object list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[zh:选项卡]]&lt;br /&gt;
[[fr:Système_d&#039;onglets]]&lt;br /&gt;
[[es:Sistema_de_pestañas]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Core]]&lt;br /&gt;
{{TemplateDocDevEn}}&lt;br /&gt;
&lt;br /&gt;
=The system of Dolibarr tabs=&lt;br /&gt;
Dolibarr showns information of an element into a view with several tabs.&lt;br /&gt;
&lt;br /&gt;
It is possible to add your own tabs, remove or replace an existing tabs or replace.&lt;br /&gt;
&lt;br /&gt;
=To add your own tab=&lt;br /&gt;
1) First, you must identify the type of object your tab is about, and its objecttype code. This is full list:&lt;br /&gt;
&lt;br /&gt;
*&#039;thirdparty&#039;       to add a tab in third party view&lt;br /&gt;
*&#039;intervention&#039;     to add a tab in intervention view&lt;br /&gt;
*&#039;supplier_order&#039;   to add a tab in supplier order view&lt;br /&gt;
*&#039;supplier_invoice&#039; to add a tab in supplier invoice view&lt;br /&gt;
*&#039;invoice&#039;          to add a tab in customer invoice view&lt;br /&gt;
*&#039;order&#039;            to add a tab in customer order view&lt;br /&gt;
*&#039;product&#039;          to add a tab in product view&lt;br /&gt;
*&#039;stock&#039;            to add a tab in stock view&lt;br /&gt;
*&#039;propal&#039;           to add a tab in propal view&lt;br /&gt;
*&#039;member&#039;           to add a tab in fundation member view&lt;br /&gt;
*&#039;contract&#039;         to add a tab in contract view&lt;br /&gt;
*&#039;user&#039;             to add a tab in user view&lt;br /&gt;
*&#039;group&#039;            to add a tab in group view&lt;br /&gt;
*&#039;contact&#039;          to add a tab in contact view&lt;br /&gt;
*&#039;ticket&#039;           to add a tab in ticket view&lt;br /&gt;
*&#039;categories_x&#039;     to add a tab in category view (replace &#039;x&#039; by type of category (0=product, 1=supplier, 2=customer, 3=member)&lt;br /&gt;
*&#039;member_stats&#039;, &#039;order_stats&#039;, &#039;supplier_order_stats&#039;, &#039;invoice_stats&#039;, &#039;supplier_invoice_stats&#039;, &#039;trip_stats&#039;, &#039;propal_stats&#039; to add a tab in statistic view of elements.&lt;br /&gt;
*&#039;member_admin&#039;, &#039;company_admin&#039;, &#039;product_admin&#039; for admin pages&lt;br /&gt;
&lt;br /&gt;
2) Then to add your tab, create a new module descriptor file. See page [[Module development]] for this.&lt;br /&gt;
&lt;br /&gt;
3) Then into the descriptor file, edit the property this-&amp;gt;tab to add your tab using following syntax:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;tabs = array(&lt;br /&gt;
&#039;objecttype:+tabname:TitleOfTab:@mymodule:$conditiontoshowtab:urloftab?id=__ID__&#039;&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is a string composed of 5 or 6 elements (depending whether you choose to use a $conditiontoshowtab) separated by semicolons.&lt;br /&gt;
&lt;br /&gt;
Where:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;objecttype&#039;&#039;&#039; is the name of the tabhook you will use.&lt;br /&gt;
*&#039;&#039;&#039;+tabname&#039;&#039;&#039; is a name you choose to identify your tab, preceded by the action (either + to add, or - to remove, and you can remove other tabs as well including default ones).&lt;br /&gt;
*&#039;&#039;&#039;TitleOfTab&#039;&#039;&#039; is a title you choose, it will be translated&lt;br /&gt;
*&#039;&#039;&#039;@mymodule&#039;&#039;&#039; is the language file where your translation (of the title) resides (eg: mytitlelang@mymodule will look inside /htdocs/mymodule/langs/xx_XX/mytitlelang and where xx_XX is the current localization of Dolibarr, eg: en_US, fr_FR, etc.).&lt;br /&gt;
*&#039;&#039;&#039;$conditiontoshowtab&#039;&#039;&#039; is a variable that will be eval&#039;d to get the value: if true then the tab is shown, if false then the tab won&#039;t be. Eg: you can use the Dolibarr rights system, eg: $user-&amp;gt;hasRight(&#039;produit&#039;, &#039;creer&#039;) or $user-&amp;gt;admin or any other variable you want. This is optional, you can just skip this and leave only 5 elements in this string and it will work (don&#039;t forget to remove the semicolon too).&lt;br /&gt;
*&#039;&#039;&#039;urloftab?id=__ID__&#039;&#039;&#039; is the URL where the tab will point to when clicked. You can use the placeholder __ID__ which will be replaced by the value of the id if one is defined. Eg: DOL_DOCUMENT_ROOT.&#039;/mymodule/lib/mytab.php&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;tabs = array(&lt;br /&gt;
&#039;product:+tabname1:Title1:@mymodule:$user-&amp;gt;hasRight(\&#039;mymodule\&#039;, \&#039;read\&#039;):/mymodule/mynewtab1.php?id=__ID__&#039;,     // To add a new tab identified by code tabname1 in objecttype product (Products/Services)&lt;br /&gt;
&#039;product:+tabname2:Title2:@mymodule:$user-&amp;gt;hasRight(\&#039;othermodule\&#039;, \&#039;read\&#039;):/mymodule/mynewtab2.php?id=__ID__&#039;,  // To add another new tab identified by code tabname2 in objecttype product (Products/Services)&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) Activate module&lt;br /&gt;
&lt;br /&gt;
5) Test new tabs is visible and link open your page.&lt;br /&gt;
&lt;br /&gt;
=To remove an existing tab=&lt;br /&gt;
Process is same than adding a tab, put into the tab array of descriptor the following syntax:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;tabs = array(&lt;br /&gt;
&#039;objecttype:-tabname&#039;&lt;br /&gt;
);                                                     // To remove an existing tab identified by code tabname&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: the other parameters are not needed in this case.&lt;br /&gt;
&lt;br /&gt;
=To replace a tab with yours=&lt;br /&gt;
Just do step &amp;quot;To add your own tab&amp;quot; and process &amp;quot;To remove an existing tab&amp;quot;. If the title of your new tab is same as the title of the removed one, illusion is perfect.&lt;br /&gt;
&lt;br /&gt;
=To show tabs into your own page=&lt;br /&gt;
More information on how to show tabs into your own pages is available on page&lt;br /&gt;
[[Module_development#The_tab_management]]&lt;/div&gt;</summary>
		<author><name>Bfaliere</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Tabs_system&amp;diff=62306</id>
		<title>Tabs system</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Tabs_system&amp;diff=62306"/>
		<updated>2025-01-31T13:04:40Z</updated>

		<summary type="html">&lt;p&gt;Bfaliere: Update code example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[zh:选项卡]]&lt;br /&gt;
[[fr:Système_d&#039;onglets]]&lt;br /&gt;
[[es:Sistema_de_pestañas]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Core]]&lt;br /&gt;
{{TemplateDocDevEn}}&lt;br /&gt;
&lt;br /&gt;
=The system of Dolibarr tabs=&lt;br /&gt;
Dolibarr showns information of an element into a view with several tabs.&lt;br /&gt;
&lt;br /&gt;
It is possible to add your own tabs, remove or replace an existing tabs or replace.&lt;br /&gt;
&lt;br /&gt;
=To add your own tab=&lt;br /&gt;
1) First, you must identify the type of object your tab is about, and its objecttype code. This is full list:&lt;br /&gt;
&lt;br /&gt;
*&#039;thirdparty&#039;       to add a tab in third party view&lt;br /&gt;
*&#039;intervention&#039;     to add a tab in intervention view&lt;br /&gt;
*&#039;supplier_order&#039;   to add a tab in supplier order view&lt;br /&gt;
*&#039;supplier_invoice&#039; to add a tab in supplier invoice view&lt;br /&gt;
*&#039;invoice&#039;          to add a tab in customer invoice view&lt;br /&gt;
*&#039;order&#039;            to add a tab in customer order view&lt;br /&gt;
*&#039;product&#039;          to add a tab in product view&lt;br /&gt;
*&#039;stock&#039;            to add a tab in stock view&lt;br /&gt;
*&#039;propal&#039;           to add a tab in propal view&lt;br /&gt;
*&#039;member&#039;           to add a tab in fundation member view&lt;br /&gt;
*&#039;contract&#039;         to add a tab in contract view&lt;br /&gt;
*&#039;user&#039;             to add a tab in user view&lt;br /&gt;
*&#039;group&#039;            to add a tab in group view&lt;br /&gt;
*&#039;contact&#039;          to add a tab in contact view&lt;br /&gt;
*&#039;categories_x&#039;     to add a tab in category view (replace &#039;x&#039; by type of category (0=product, 1=supplier, 2=customer, 3=member)&lt;br /&gt;
*&#039;member_stats&#039;, &#039;order_stats&#039;, &#039;supplier_order_stats&#039;, &#039;invoice_stats&#039;, &#039;supplier_invoice_stats&#039;, &#039;trip_stats&#039;, &#039;propal_stats&#039; to add a tab in statistic view of elements.&lt;br /&gt;
*&#039;member_admin&#039;, &#039;company_admin&#039;, &#039;product_admin&#039; for admin pages&lt;br /&gt;
&lt;br /&gt;
2) Then to add your tab, create a new module descriptor file. See page [[Module development]] for this.&lt;br /&gt;
&lt;br /&gt;
3) Then into the descriptor file, edit the property this-&amp;gt;tab to add your tab using following syntax:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;tabs = array(&lt;br /&gt;
&#039;objecttype:+tabname:TitleOfTab:@mymodule:$conditiontoshowtab:urloftab?id=__ID__&#039;&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is a string composed of 5 or 6 elements (depending whether you choose to use a $conditiontoshowtab) separated by semicolons.&lt;br /&gt;
&lt;br /&gt;
Where:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;objecttype&#039;&#039;&#039; is the name of the tabhook you will use.&lt;br /&gt;
*&#039;&#039;&#039;+tabname&#039;&#039;&#039; is a name you choose to identify your tab, preceded by the action (either + to add, or - to remove, and you can remove other tabs as well including default ones).&lt;br /&gt;
*&#039;&#039;&#039;TitleOfTab&#039;&#039;&#039; is a title you choose, it will be translated&lt;br /&gt;
*&#039;&#039;&#039;@mymodule&#039;&#039;&#039; is the language file where your translation (of the title) resides (eg: mytitlelang@mymodule will look inside /htdocs/mymodule/langs/xx_XX/mytitlelang and where xx_XX is the current localization of Dolibarr, eg: en_US, fr_FR, etc.).&lt;br /&gt;
*&#039;&#039;&#039;$conditiontoshowtab&#039;&#039;&#039; is a variable that will be eval&#039;d to get the value: if true then the tab is shown, if false then the tab won&#039;t be. Eg: you can use the Dolibarr rights system, eg: $user-&amp;gt;hasRight(&#039;produit&#039;, &#039;creer&#039;) or $user-&amp;gt;admin or any other variable you want. This is optional, you can just skip this and leave only 5 elements in this string and it will work (don&#039;t forget to remove the semicolon too).&lt;br /&gt;
*&#039;&#039;&#039;urloftab?id=__ID__&#039;&#039;&#039; is the URL where the tab will point to when clicked. You can use the placeholder __ID__ which will be replaced by the value of the id if one is defined. Eg: DOL_DOCUMENT_ROOT.&#039;/mymodule/lib/mytab.php&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;tabs = array(&lt;br /&gt;
&#039;product:+tabname1:Title1:@mymodule:$user-&amp;gt;hasRight(\&#039;mymodule\&#039;, \&#039;read\&#039;):/mymodule/mynewtab1.php?id=__ID__&#039;,     // To add a new tab identified by code tabname1 in objecttype product (Products/Services)&lt;br /&gt;
&#039;product:+tabname2:Title2:@mymodule:$user-&amp;gt;hasRight(\&#039;othermodule\&#039;, \&#039;read\&#039;):/mymodule/mynewtab2.php?id=__ID__&#039;,  // To add another new tab identified by code tabname2 in objecttype product (Products/Services)&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) Activate module&lt;br /&gt;
&lt;br /&gt;
5) Test new tabs is visible and link open your page.&lt;br /&gt;
&lt;br /&gt;
=To remove an existing tab=&lt;br /&gt;
Process is same than adding a tab, put into the tab array of descriptor the following syntax:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;tabs = array(&lt;br /&gt;
&#039;objecttype:-tabname&#039;&lt;br /&gt;
);                                                     // To remove an existing tab identified by code tabname&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: the other parameters are not needed in this case.&lt;br /&gt;
&lt;br /&gt;
=To replace a tab with yours=&lt;br /&gt;
Just do step &amp;quot;To add your own tab&amp;quot; and process &amp;quot;To remove an existing tab&amp;quot;. If the title of your new tab is same as the title of the removed one, illusion is perfect.&lt;br /&gt;
&lt;br /&gt;
=To show tabs into your own page=&lt;br /&gt;
More information on how to show tabs into your own pages is available on page&lt;br /&gt;
[[Module_development#The_tab_management]]&lt;/div&gt;</summary>
		<author><name>Bfaliere</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Tabs_system&amp;diff=62305</id>
		<title>Tabs system</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Tabs_system&amp;diff=62305"/>
		<updated>2025-01-31T13:03:46Z</updated>

		<summary type="html">&lt;p&gt;Bfaliere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[zh:选项卡]]&lt;br /&gt;
[[fr:Système_d&#039;onglets]]&lt;br /&gt;
[[es:Sistema_de_pestañas]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Core]]&lt;br /&gt;
{{TemplateDocDevEn}}&lt;br /&gt;
&lt;br /&gt;
=The system of Dolibarr tabs=&lt;br /&gt;
Dolibarr showns information of an element into a view with several tabs.&lt;br /&gt;
&lt;br /&gt;
It is possible to add your own tabs, remove or replace an existing tabs or replace.&lt;br /&gt;
&lt;br /&gt;
=To add your own tab=&lt;br /&gt;
1) First, you must identify the type of object your tab is about, and its objecttype code. This is full list:&lt;br /&gt;
&lt;br /&gt;
*&#039;thirdparty&#039;       to add a tab in third party view&lt;br /&gt;
*&#039;intervention&#039;     to add a tab in intervention view&lt;br /&gt;
*&#039;supplier_order&#039;   to add a tab in supplier order view&lt;br /&gt;
*&#039;supplier_invoice&#039; to add a tab in supplier invoice view&lt;br /&gt;
*&#039;invoice&#039;          to add a tab in customer invoice view&lt;br /&gt;
*&#039;order&#039;            to add a tab in customer order view&lt;br /&gt;
*&#039;product&#039;          to add a tab in product view&lt;br /&gt;
*&#039;stock&#039;            to add a tab in stock view&lt;br /&gt;
*&#039;propal&#039;           to add a tab in propal view&lt;br /&gt;
*&#039;member&#039;           to add a tab in fundation member view&lt;br /&gt;
*&#039;contract&#039;         to add a tab in contract view&lt;br /&gt;
*&#039;user&#039;             to add a tab in user view&lt;br /&gt;
*&#039;group&#039;            to add a tab in group view&lt;br /&gt;
*&#039;contact&#039;          to add a tab in contact view&lt;br /&gt;
*&#039;categories_x&#039;     to add a tab in category view (replace &#039;x&#039; by type of category (0=product, 1=supplier, 2=customer, 3=member)&lt;br /&gt;
*&#039;member_stats&#039;, &#039;order_stats&#039;, &#039;supplier_order_stats&#039;, &#039;invoice_stats&#039;, &#039;supplier_invoice_stats&#039;, &#039;trip_stats&#039;, &#039;propal_stats&#039; to add a tab in statistic view of elements.&lt;br /&gt;
*&#039;member_admin&#039;, &#039;company_admin&#039;, &#039;product_admin&#039; for admin pages&lt;br /&gt;
&lt;br /&gt;
2) Then to add your tab, create a new module descriptor file. See page [[Module development]] for this.&lt;br /&gt;
&lt;br /&gt;
3) Then into the descriptor file, edit the property this-&amp;gt;tab to add your tab using following syntax:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;tabs = array(&lt;br /&gt;
&#039;objecttype:+tabname:TitleOfTab:@mymodule:$conditiontoshowtab:urloftab?id=__ID__&#039;&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is a string composed of 5 or 6 elements (depending whether you choose to use a $conditiontoshowtab) separated by semicolons.&lt;br /&gt;
&lt;br /&gt;
Where:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;objecttype&#039;&#039;&#039; is the name of the tabhook you will use.&lt;br /&gt;
*&#039;&#039;&#039;+tabname&#039;&#039;&#039; is a name you choose to identify your tab, preceded by the action (either + to add, or - to remove, and you can remove other tabs as well including default ones).&lt;br /&gt;
*&#039;&#039;&#039;TitleOfTab&#039;&#039;&#039; is a title you choose, it will be translated&lt;br /&gt;
*&#039;&#039;&#039;@mymodule&#039;&#039;&#039; is the language file where your translation (of the title) resides (eg: mytitlelang@mymodule will look inside /htdocs/mymodule/langs/xx_XX/mytitlelang and where xx_XX is the current localization of Dolibarr, eg: en_US, fr_FR, etc.).&lt;br /&gt;
*&#039;&#039;&#039;$conditiontoshowtab&#039;&#039;&#039; is a variable that will be eval&#039;d to get the value: if true then the tab is shown, if false then the tab won&#039;t be. Eg: you can use the Dolibarr rights system, eg: $user-&amp;gt;hasRight(&#039;produit&#039;, &#039;creer&#039;) or $user-&amp;gt;admin or any other variable you want. This is optional, you can just skip this and leave only 5 elements in this string and it will work (don&#039;t forget to remove the semicolon too).&lt;br /&gt;
*&#039;&#039;&#039;urloftab?id=__ID__&#039;&#039;&#039; is the URL where the tab will point to when clicked. You can use the placeholder __ID__ which will be replaced by the value of the id if one is defined. Eg: DOL_DOCUMENT_ROOT.&#039;/mymodule/lib/mytab.php&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;tabs = array(&lt;br /&gt;
&#039;product:+tabname1:Title1:@mymodule:$user-&amp;gt;hasRight(\&#039;mymodule\&#039;, \&#039;read\&#039;):/mymodule/mynewtab1.php?id=__ID__&#039;,     // To add a new tab identified by code tabname1 in objecttype product (Products/Services)&lt;br /&gt;
&#039;product:+tabname2:Title2:@mymodule:$user-&amp;gt;rights-&amp;gt;othermodule-&amp;gt;read:/mymodule/mynewtab2.php?id=__ID__&#039;,  // To add another new tab identified by code tabname2 in objecttype product (Products/Services)&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) Activate module&lt;br /&gt;
&lt;br /&gt;
5) Test new tabs is visible and link open your page.&lt;br /&gt;
&lt;br /&gt;
=To remove an existing tab=&lt;br /&gt;
Process is same than adding a tab, put into the tab array of descriptor the following syntax:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;tabs = array(&lt;br /&gt;
&#039;objecttype:-tabname&#039;&lt;br /&gt;
);                                                     // To remove an existing tab identified by code tabname&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: the other parameters are not needed in this case.&lt;br /&gt;
&lt;br /&gt;
=To replace a tab with yours=&lt;br /&gt;
Just do step &amp;quot;To add your own tab&amp;quot; and process &amp;quot;To remove an existing tab&amp;quot;. If the title of your new tab is same as the title of the removed one, illusion is perfect.&lt;br /&gt;
&lt;br /&gt;
=To show tabs into your own page=&lt;br /&gt;
More information on how to show tabs into your own pages is available on page&lt;br /&gt;
[[Module_development#The_tab_management]]&lt;/div&gt;</summary>
		<author><name>Bfaliere</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Tabs_system&amp;diff=62304</id>
		<title>Tabs system</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Tabs_system&amp;diff=62304"/>
		<updated>2025-01-31T13:01:14Z</updated>

		<summary type="html">&lt;p&gt;Bfaliere: Update Dolibarr rights management with hasRight() function.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[zh:选项卡]]&lt;br /&gt;
[[fr:Système_d&#039;onglets]]&lt;br /&gt;
[[es:Sistema_de_pestañas]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Core]]&lt;br /&gt;
{{TemplateDocDevEn}}&lt;br /&gt;
&lt;br /&gt;
=The system of Dolibarr tabs=&lt;br /&gt;
Dolibarr showns information of an element into a view with several tabs.&lt;br /&gt;
&lt;br /&gt;
It is possible to add your own tabs, remove or replace an existing tabs or replace.&lt;br /&gt;
&lt;br /&gt;
=To add your own tab=&lt;br /&gt;
1) First, you must identify the type of object your tab is about, and its objecttype code. This is full list:&lt;br /&gt;
&lt;br /&gt;
*&#039;thirdparty&#039;       to add a tab in third party view&lt;br /&gt;
*&#039;intervention&#039;     to add a tab in intervention view&lt;br /&gt;
*&#039;supplier_order&#039;   to add a tab in supplier order view&lt;br /&gt;
*&#039;supplier_invoice&#039; to add a tab in supplier invoice view&lt;br /&gt;
*&#039;invoice&#039;          to add a tab in customer invoice view&lt;br /&gt;
*&#039;order&#039;            to add a tab in customer order view&lt;br /&gt;
*&#039;product&#039;          to add a tab in product view&lt;br /&gt;
*&#039;stock&#039;            to add a tab in stock view&lt;br /&gt;
*&#039;propal&#039;           to add a tab in propal view&lt;br /&gt;
*&#039;member&#039;           to add a tab in fundation member view&lt;br /&gt;
*&#039;contract&#039;         to add a tab in contract view&lt;br /&gt;
*&#039;user&#039;             to add a tab in user view&lt;br /&gt;
*&#039;group&#039;            to add a tab in group view&lt;br /&gt;
*&#039;contact&#039;          to add a tab in contact view&lt;br /&gt;
*&#039;categories_x&#039;     to add a tab in category view (replace &#039;x&#039; by type of category (0=product, 1=supplier, 2=customer, 3=member)&lt;br /&gt;
*&#039;member_stats&#039;, &#039;order_stats&#039;, &#039;supplier_order_stats&#039;, &#039;invoice_stats&#039;, &#039;supplier_invoice_stats&#039;, &#039;trip_stats&#039;, &#039;propal_stats&#039; to add a tab in statistic view of elements.&lt;br /&gt;
*&#039;member_admin&#039;, &#039;company_admin&#039;, &#039;product_admin&#039; for admin pages&lt;br /&gt;
&lt;br /&gt;
2) Then to add your tab, create a new module descriptor file. See page [[Module development]] for this.&lt;br /&gt;
&lt;br /&gt;
3) Then into the descriptor file, edit the property this-&amp;gt;tab to add your tab using following syntax:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;tabs = array(&lt;br /&gt;
&#039;objecttype:+tabname:TitleOfTab:@mymodule:$conditiontoshowtab:urloftab?id=__ID__&#039;&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is a string composed of 5 or 6 elements (depending whether you choose to use a $conditiontoshowtab) separated by semicolons.&lt;br /&gt;
&lt;br /&gt;
Where:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;objecttype&#039;&#039;&#039; is the name of the tabhook you will use.&lt;br /&gt;
*&#039;&#039;&#039;+tabname&#039;&#039;&#039; is a name you choose to identify your tab, preceded by the action (either + to add, or - to remove, and you can remove other tabs as well including default ones).&lt;br /&gt;
*&#039;&#039;&#039;TitleOfTab&#039;&#039;&#039; is a title you choose, it will be translated&lt;br /&gt;
*&#039;&#039;&#039;@mymodule&#039;&#039;&#039; is the language file where your translation (of the title) resides (eg: mytitlelang@mymodule will look inside /htdocs/mymodule/langs/xx_XX/mytitlelang and where xx_XX is the current localization of Dolibarr, eg: en_US, fr_FR, etc.).&lt;br /&gt;
*&#039;&#039;&#039;$conditiontoshowtab&#039;&#039;&#039; is a variable that will be eval&#039;d to get the value: if true then the tab is shown, if false then the tab won&#039;t be. Eg: you can use the Dolibarr rights system, eg: $user-&amp;gt;hasRight(&#039;produit&#039;, &#039;creer&#039;) or $user-&amp;gt;admin or any other variable you want. This is optional, you can just skip this and leave only 5 elements in this string and it will work (don&#039;t forget to remove the semicolon too).&lt;br /&gt;
*&#039;&#039;&#039;urloftab?id=__ID__&#039;&#039;&#039; is the URL where the tab will point to when clicked. You can use the placeholder __ID__ which will be replaced by the value of the id if one is defined. Eg: DOL_DOCUMENT_ROOT.&#039;/mymodule/lib/mytab.php&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;tabs = array(&lt;br /&gt;
&#039;product:+tabname1:Title1:@mymodule:$user-&amp;gt;rights-&amp;gt;mymodule-&amp;gt;read:/mymodule/mynewtab1.php?id=__ID__&#039;,     // To add a new tab identified by code tabname1 in objecttype product (Products/Services)&lt;br /&gt;
&#039;product:+tabname2:Title2:@mymodule:$user-&amp;gt;rights-&amp;gt;othermodule-&amp;gt;read:/mymodule/mynewtab2.php?id=__ID__&#039;,  // To add another new tab identified by code tabname2 in objecttype product (Products/Services)&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) Activate module&lt;br /&gt;
&lt;br /&gt;
5) Test new tabs is visible and link open your page.&lt;br /&gt;
&lt;br /&gt;
=To remove an existing tab=&lt;br /&gt;
Process is same than adding a tab, put into the tab array of descriptor the following syntax:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;tabs = array(&lt;br /&gt;
&#039;objecttype:-tabname&#039;&lt;br /&gt;
);                                                     // To remove an existing tab identified by code tabname&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: the other parameters are not needed in this case.&lt;br /&gt;
&lt;br /&gt;
=To replace a tab with yours=&lt;br /&gt;
Just do step &amp;quot;To add your own tab&amp;quot; and process &amp;quot;To remove an existing tab&amp;quot;. If the title of your new tab is same as the title of the removed one, illusion is perfect.&lt;br /&gt;
&lt;br /&gt;
=To show tabs into your own page=&lt;br /&gt;
More information on how to show tabs into your own pages is available on page&lt;br /&gt;
[[Module_development#The_tab_management]]&lt;/div&gt;</summary>
		<author><name>Bfaliere</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=List_of_modules_id&amp;diff=62302</id>
		<title>List of modules id</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=List_of_modules_id&amp;diff=62302"/>
		<updated>2025-01-30T10:31:55Z</updated>

		<summary type="html">&lt;p&gt;Bfaliere: Changement de nom&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TemplateDocDevEn}}&lt;br /&gt;
{{TemplateDocDevEs}}&lt;br /&gt;
{{TemplateDocDevFr}}&lt;br /&gt;
{{TemplateDocDevZh}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This page list all reserved modules numbers / ID. If you build or want to build your own modules (like thi , you should take an ID range here. Please pick range into existing holes first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=ID 0 - 94999=&lt;br /&gt;
This range is reserved for Dolibarr&#039;s internal core modules, so all modules available into the standard distribution at https://github.com/Dolibarr/dolibarr&lt;br /&gt;
&lt;br /&gt;
=ID 95000 - 99999=&lt;br /&gt;
This range is reserved for Dolibarr&#039;s community modules availble on the github repository: https://github.com/Dolibarr/dolibarr-community-modules&lt;br /&gt;
&lt;br /&gt;
=ID 100000 - 499999=&lt;br /&gt;
&lt;br /&gt;
Reserved area for editors in need for an ID range. You can edit this page to add your own range (take a range of 50 numbers only the first time, ask us for more)&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] If you reserve more than 50, we may automatically change your reservation range without information and you may experience conflicts with other modules in a future, so please follow the rules! &lt;br /&gt;
&lt;br /&gt;
*ID 100000 - 100999: OpenThink (http://www.openthink.be) - Belgium&lt;br /&gt;
*ID 101000 - 101999: NLTechno (https://www.nltechno.com) - France&lt;br /&gt;
*ID 102000 - 102999: Tiaris (http://www.tiaris.fr) - France&lt;br /&gt;
*ID 103000 - 103999: Open-concept.pro (http://www.open-concept.pro) - France&lt;br /&gt;
*ID 104000 - 104999: ATM Consulting (http://www.atm-consulting.fr) - France&lt;br /&gt;
*ID 105000 - 105999: GPC.solutions - France&lt;br /&gt;
*ID 106000 - 106999: PHPASSO&lt;br /&gt;
*ID 107000 - 107999: TecLib (http://www.teclib.com) / Auguria (http://www.auguria.net) - France&lt;br /&gt;
*ID 108000 - 108999: ETHICWEB&lt;br /&gt;
*ID 109000 - 109999: Aplose ([http://www.aplose.fr https://www.aplose.fr]) - France&lt;br /&gt;
*ID 110000 - 110999: Association Dolibarr (https://www.dolibarr.org)&lt;br /&gt;
*ID 111000 - 111999: Asset IT (www.assetit.ch) - Suisse&lt;br /&gt;
*ID 112000 - 112999: Aarboard AG (www.aarboard.ch) - Suisse&lt;br /&gt;
*ID 113000 - 113999: Asilib - Alexandre Spangaro&lt;br /&gt;
*ID 114000 - 114999: Iceleaf OÜ&lt;br /&gt;
*ID 115000 - 115999: 2A2C Conseil - Cyril ZEKSER&lt;br /&gt;
*ID 116000 - 116999: Wolftec GmbH&lt;br /&gt;
*ID 117000 - 117999: Oscim (http://www.oscim.fr)&lt;br /&gt;
*ID 118000 - 118999: Oarces Web (dev.oarces.com)&lt;br /&gt;
*ID 119000 - 119999: Manuel Berrocal - Absolacom&lt;br /&gt;
*ID 120000 - 120999: Régis Houssin (http://www.inodbox.com) - France&lt;br /&gt;
*ID 121000 - 121999: Oscss - Shop - France&lt;br /&gt;
*ID 122000 - 122999: MrSof - la Nation du Web&lt;br /&gt;
*ID 123000 - 123999: Bruno Généré (webiseasy.org)&lt;br /&gt;
*ID 124000 - 124999: backbone internet service (www.backbone.co.at) - Austria&lt;br /&gt;
*ID 125000 - 125999: ProgSI (www.progsi.ma)&lt;br /&gt;
*ID 126000 - 126999: Catalanet&lt;br /&gt;
*ID 127000 - 127999: Virgilio Filho pt-BR Brasil (@dolibarr.br) - Brazil&lt;br /&gt;
*ID 128000 - 128999: Nicolas Frappé France (www.sospc.info)&lt;br /&gt;
*ID 129000 - 129999: Adeo-Informatique&lt;br /&gt;
*ID 130000 - 130999: Technicks ICT (http://www.technicks.eu) - Italy&lt;br /&gt;
*ID 131000 - 131999: Joan Louis (itaca.fr) - France&lt;br /&gt;
*ID 132000 - 132999: Jean-Marie Arsac (https://azimut.fr) - France&lt;br /&gt;
*ID 133000 - 133999: Oriel Systems Ltd, UK. (www.orielsystems.com)&lt;br /&gt;
*ID 134000 - 134999: ALSOFT PVT. LTD. (https://www.alsoft.org)&lt;br /&gt;
*ID 135000 - 135999: Net-Logic (https://netlogic.fr)&lt;br /&gt;
*ID 136000 - 136050: MONA.RE - France&lt;br /&gt;
*ID 136051 - 136099: La Vida Marketing&lt;br /&gt;
*ID 136100 - 136149: Synergies-Tech France. (https://www.synergies-france.fr/)&lt;br /&gt;
*ID 136150 - 136199: Lyta&lt;br /&gt;
*ID 136200 - 136219: Maison Théophile Leclerc&lt;br /&gt;
*ID 136220 - 136270: SegoFount - Spain&lt;br /&gt;
*ID 136271 - 136320: Labor Dispatch (Simon Sheng , China)&lt;br /&gt;
*ID 136321 - 136370: MB Informatique (https://www.mb-informatique.fr)&lt;br /&gt;
*ID 136371 - 136420: Daxit Solutions (https://www.daxit.be)&lt;br /&gt;
*ID 136421 - 136470: HUSCH GmbH (https://husch-gmbh.de)&lt;br /&gt;
*ID 136471 - 138999: NSINFO (https://www.ns-info.fr)&lt;br /&gt;
*ID 139000 - 139999: Synergies-Tech France. (https://www.synergies-france.fr/)&lt;br /&gt;
*ID 140000 - 140999: Altairis (http://altairis.fr)&lt;br /&gt;
*ID 141000 - 141050: Projet2Team (https://www.projet2team.fr)&lt;br /&gt;
*ID 141051 - 141099: Elistair (http://elistair.com)&lt;br /&gt;
*ID 141100 - 141149: Blue Networks Technologies (https://www.blnt.fr)&lt;br /&gt;
*ID 141150 - 141199: Mainlab S.r.l. (https://www.mainlabonline.it) - Italy&lt;br /&gt;
*ID 141200 - 141249: Florian DUFOURG - France&lt;br /&gt;
*ID 141250 - 141299: SoftAddicts - Canada&lt;br /&gt;
*ID 141300 - 141349: Finanboo - (https://www.finanboo.com)&lt;br /&gt;
*ID 141350 - 141399: ConstruxZion Soft - Colombia (https://www.construxzionsoft.com.co)&lt;br /&gt;
*ID 141400 - 141450: COEXDIS - République Démocratique du Congo (https://www.coexdis.com)&lt;br /&gt;
*ID 141451 - 141501: HALFWARE - Algeria (https://www.half-ware.com)&lt;br /&gt;
*ID 141502 - 141552: Quantraum (https://quantraum.com)&lt;br /&gt;
*ID 141553 - 141603: Nateo Group&lt;br /&gt;
*ID 141604 - 141653: digital centric GmbH (https://www.digitalcentric.de/dolibarr)&lt;br /&gt;
*ID 141654 - 141699: Decrypting (https://www.decrypting.fr)&lt;br /&gt;
*ID 141700 - 141749: Zeise IT Consulting - Germany (https://www.zeise-it.de)&lt;br /&gt;
*ID 141750 - 141799: Data Rooster - France (https://datarooster.io)&lt;br /&gt;
*ID 141800 - 141849: IP Développement (https://www.ipdeveloppement.fr)&lt;br /&gt;
*ID 141850 - 141899: MSICCA | MRVL Soluciones de Ingeniería y Construcción, c.a (https://msicca.com)&lt;br /&gt;
*ID 141900 - 141949: THERSANE (https://www.thersane.fr)&lt;br /&gt;
*ID 141950 - 141999: MB Informatique (https://www.mb-informatique.fr)&lt;br /&gt;
*ID 142000 - 142049: ITANéA (https://www.itanea.fr)&lt;br /&gt;
*ID 142050 - 142099: ERP Consulting NZ ([https://www.erpconsulting.co.nz www.erpconsulting.co.nz])&lt;br /&gt;
*ID 142100 - 142149: Bloxera GmbH (https://www.bloxera.com)&lt;br /&gt;
*ID 142150 - 142199: Evangelos Souglakos - Greece&lt;br /&gt;
*ID 142200 - 142249: Luc CALARESU - France&lt;br /&gt;
*ID 142250 - 142299: OmnIT Services - Belgique (https://www.omnitservices.biz)&lt;br /&gt;
*ID 142300 - 142349: Gwadeyes - Guadeloupe (https://www.gwadeyes-informatique.com/)&lt;br /&gt;
*ID 142350 - 142399: Solution Libre (https://www.solution-libre.fr/)&lt;br /&gt;
*ID 142400 - 142449: Res Digital (https://res.digital)&lt;br /&gt;
*ID 142450 - 142499: itopie informatique (https://www.itopie.ch)&lt;br /&gt;
*ID 142500 - 142549: Weblinx.IT GbR (https://weblinx.it/) - Germany&lt;br /&gt;
*ID 142550 - 142599: ASCI-Automation - Mexico (https://asci-automation.com.mx/)&lt;br /&gt;
*ID 142600 - 142649: ZENKO Design - Japan / France / Spain&lt;br /&gt;
*ID 142650 - 142699: AWeerWolf&lt;br /&gt;
*ID 142700 - 148749: Lysis (https://lysis.net/)&lt;br /&gt;
*ID 142750 - 142799: Hadritech (https://www.hadritech.com/)&lt;br /&gt;
*ID 142800 - 142849: Bloxera GmbH (https://www.bloxera.com)&lt;br /&gt;
*ID 142850 - 148999: Everlats S.L. - España (https://www.everlats.com)&lt;br /&gt;
*ID 149000 - 149999: SydTech - America Central (https://www.sydtech.io/)&lt;br /&gt;
*ID 150000 - 150999: Jeffinfo&lt;br /&gt;
*ID 151000 - 151999: Konverseo (https://konverseo.com)&lt;br /&gt;
*ID 152000 - 152049: Tanguy Pénet (http://tanguype.net)&lt;br /&gt;
*ID 152050 - 152099: Web Solutions&lt;br /&gt;
*ID 152100 - 152149: MagicNet (https://www.magicnet.it)&lt;br /&gt;
*ID 152150 - 152199: Benjamin Falière (https://www.faliere.com)&lt;br /&gt;
*ID 152200 - 152249: Solauv&lt;br /&gt;
*ID 152250 - 156499: TecnoGestión Principado S.L. (https://www.tecnogestion.com) - Asturias - España&lt;br /&gt;
*ID 156500 - 156549: ACE Recycling  (https://www.acerecycling.net.au/)&lt;br /&gt;
*ID 156550 - 156599: Kreativität Works ([http://www.kreativitat.com http://kreativitat.com])&lt;br /&gt;
*ID 156600 - 156649: [https://pierre-couy.dev Pierre Couy]&lt;br /&gt;
*ID 156650 - 156699: CXI (https://cyrix.co.za)&lt;br /&gt;
*ID 156700 - 156749: Mustafa Kemerci - Turkiye&lt;br /&gt;
*ID 156750 - 156799: [https://de-grandpre.quebec de Grandpré Technologies] - Québec (Canada)&lt;br /&gt;
*ID 156800 - 159999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 160000 - 160999: Charles-François BENKE (http://www.patas-monkey.com)&lt;br /&gt;
*ID 161000 - 161999: Abbes Bahfir (https://01consulting.eu)&lt;br /&gt;
*ID 162000 - 162999: Jacques Rébiscoul&lt;br /&gt;
*ID 163000 - 163999: Open-DSI (https://www.open-dsi.fr)&lt;br /&gt;
*ID 164000 - 164999: Pixelada S. Coop. And. (https://pixelada.org)&lt;br /&gt;
*ID 165000 - 165049: DovConnect&lt;br /&gt;
*ID 165050 - 165099: Mind Operated Systems (https://www.mosystems.biz)&lt;br /&gt;
*ID 165100 - 165150: SD-Formation (https://sdformation.fr)&lt;br /&gt;
*ID 165151 - 165199: NUM&#039;X (https://www.numx-sets.eu)&lt;br /&gt;
*ID 165200 - 165249: Benjam Préjent (https://www.benjam-prejent.fr)&lt;br /&gt;
*ID 165250 - 165299: Dhi Loka Private Limited, India (https://www.dhiloka.com)&lt;br /&gt;
*ID 165300 - 169999: Accellier Limited (https://www.accellier.com/)&lt;br /&gt;
*ID 170000 - 170999: TRIDENT CONSULTING LTD (www.tridentdxb.com)&lt;br /&gt;
*ID 171000 - 171999: LVSInformatique (www.lvsinformatique.com)&lt;br /&gt;
*ID 172000 - 172299: Ray Soft-Systems (https://www.ray-soft-systems.com)&lt;br /&gt;
*ID 172300 - 172349: Günter Lukas Consulting (https://gl.co.at)&lt;br /&gt;
*ID 172350 - 172399: MB Informatique (https://www.mb-informatique.fr)&lt;br /&gt;
*ID 172400 - 172449: Professional Structures Limited (https://pstructures.com)&lt;br /&gt;
*ID 172450 - 172699: IT-BS (https://www.it-bs.fr)&lt;br /&gt;
*ID 172700 - 172749: Indelog (https://www.indelog.fr)&lt;br /&gt;
*ID 172750 - 172799: NS-INFO90 (https://www.ns-info90.fr)&lt;br /&gt;
*ID 172800 - 172849: E-Concept Applications (https://e-concept-applications.fr)&lt;br /&gt;
*ID 172850 - 179999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 180000 - 180999: Triangle Ingénierie&lt;br /&gt;
*ID 181000 - 181999: TI Sin Problemas (https://www.tisinproblemas.com)&lt;br /&gt;
*ID 182000 - 182049: Chipserv Pawel Wlizlo (https://www.testware.it)&lt;br /&gt;
*ID 182050 - 182999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 183000 - 183999: BB2A Anthony Berton (https://www.bb2a.fr)&lt;br /&gt;
*ID 184000 - 184999: DPS PRINTING &amp;amp; DOCUMENTS SOCIEDAD ANONIMA (https://www.dps-lat.com)&lt;br /&gt;
*ID 185000 - 185049: Telioskour (https://github.com/telioskour)&lt;br /&gt;
*ID 185050 - 189999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 190000 - 190999: Diciannove (http://19.coop)&lt;br /&gt;
*ID 191000 - 191999: Elonet (https://elonet.fr)&lt;br /&gt;
*ID 192000 - 192049: IDFOR Consulting (https://www.idfor-consulting.fr/)&lt;br /&gt;
*ID 192050 - 198999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 199000 - 199999: RFMS&lt;br /&gt;
*ID 200000 - 200999: Noxiome&lt;br /&gt;
*ID 201000 - 201999: Sasa Ostrouska (saxa)&lt;br /&gt;
*ID 202000 - 202999: Z-Application&lt;br /&gt;
*ID 203000 - 203099: Elidee - elidee.com&lt;br /&gt;
*ID 203100 - 203999: Garcia MICHEL (soamichel.fr)&lt;br /&gt;
*ID 204000 - 204999: Ari Elbaz elarifr - accedinfo.com&lt;br /&gt;
*ID 205000 - 205999: Kreiz IT&lt;br /&gt;
*ID 206000 - 206999: GBINFO (www.gbinfo.fr)&lt;br /&gt;
*ID 207000 - 207099: MacroProg (https://www.macroprog.com)&lt;br /&gt;
*ID 207100 - 207149: Reactiva Software&lt;br /&gt;
*ID 207150 - 207199: Ndejje University Water Research and Development Centre ([https://github.com/NDUWRDC/LIMS/])&lt;br /&gt;
*ID 207200 - 207299: Massaoud Bouzenad ([https://www.dzprod.net dzprod.net])&lt;br /&gt;
*ID 207300 - 207349: Ksar&lt;br /&gt;
*ID 207350 - 207399: Easylinux (www.easylinux.fr)&lt;br /&gt;
*ID 207400 - 207449: Arthur LENOBLE&lt;br /&gt;
*ID 207450 - 212099: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 212100 - 212149: Audio Vidéo Technologies (https://www.avtek.fr)&lt;br /&gt;
*ID 212150 - 221999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 222000 - 222999:  dolibit  (https://www.dolibit.de)&lt;br /&gt;
*ID 223000 - 223049: Tráfico Canada&lt;br /&gt;
*ID 223050 - 229949: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 229950 - 229999: Solucions Informàtiques, Serveis i Innovació SLU (https://6innova.es)&lt;br /&gt;
*ID 230000 - 230049: Unareil (https://www.unareil.eu)&lt;br /&gt;
*ID 230050 - 230099: Lyra Network (https://www.lyra.com/)&lt;br /&gt;
*ID 230100 - 230149: Gheorghe Iftimi - CTW - RO&lt;br /&gt;
*ID 230150 - 230199: MEMA Machinery &amp;amp; Tools (https://www.mema.be)&lt;br /&gt;
*ID 230200 - 230249: Teleassist&lt;br /&gt;
*ID 230250 - 230299: Nh Developer&lt;br /&gt;
*ID 230300 - 230499: Chickenforce/code-chicken, IT Services Hahn (https://github.com/code-chicken [http://itservices-hahn.de/ https://itservices-hahn.de])&lt;br /&gt;
*ID 230500 - 230549: Hidup Consulting (https://consulting.hidup.io)&lt;br /&gt;
*ID 230550 - 230599 : CMR Conseil (https://www.weblockup.fr)&lt;br /&gt;
*ID 230600 - 230649 : aFreeMind Studio&lt;br /&gt;
*ID 230650 - 230699 : Unideal (https://www.uni-deal.com)&lt;br /&gt;
*ID 230700 - 230749 : DevLansdes (https://devlandes.com/)&lt;br /&gt;
*ID 230750 - 262699: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 262700 - 262799: Scopen (https://www.scopen.fr)&lt;br /&gt;
*ID 262800 - 274249: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 274250 - 274299: Nerv Project (www.nerv-project.eu)&lt;br /&gt;
*ID 274300 - 274349: Knowhere Consulting S.L. (https://www.knowhere-consulting.eu)&lt;br /&gt;
*ID 274350 - 274399: Milen karaganski (https://blacktiehost.com)&lt;br /&gt;
*ID 274400 - 274449: Vincent MAURY ([https://www.timgroup.fr www.timgroup.fr])&lt;br /&gt;
*ID 274450 - 274499: Daraelmin&lt;br /&gt;
*ID 274500 - 274549: Emilie LAFORET (http://www.ermvallon.com)&lt;br /&gt;
*ID 274550 - 278999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 279000 - 279049: VSDigital Electronics (https://vsdigital.ar) - Argentina&lt;br /&gt;
*ID 279050 - 279999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 280000 - 280049: Bingroup (https://www.beinng.com)&lt;br /&gt;
*ID 280050 - 280099: Medialta (https://medialta.com)&lt;br /&gt;
*ID 280100 - 280149: Cédric Ancelin - Ancode (https://www.dolistore.com/fr/recherche?search_query=ancode)&lt;br /&gt;
*ID 280150 - 289999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 290000 - 290099: BNS - Project doliBRA ([https://www.beinng.com https://www.bns.net.br]) - Brasil&lt;br /&gt;
*ID 290100 - 299999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 300000 - 300049: RapidProgress (https://www.rapidprogress.eu) - Bulgaria&lt;br /&gt;
*ID 300050 : 300099: M@ Solution (https://www.ma-solution.fr/)&lt;br /&gt;
*ID 300100 : 300149: LAVA RUN (https://www.lavarun.re)&lt;br /&gt;
*ID 300150 - 300199: PsyCrow Code&lt;br /&gt;
*ID 300200 : 300249 : Computences (https://www.computences.com/)&lt;br /&gt;
*ID 300250 : 300299 : LEVEL IT (https://levelit.com.ar)&lt;br /&gt;
*ID 300300 : 300349 : Progiseize (https://progiseize.fr)&lt;br /&gt;
*ID 300350 - 300399: MB Informatique (https://www.mb-informatique.fr)&lt;br /&gt;
*ID 300400 - 300449: Anouar Touati&lt;br /&gt;
*ID 300450 - 300499: Martin Danger&lt;br /&gt;
*ID 300500 - 301499: Whale Blows&lt;br /&gt;
*ID 301500 - 301549: Tom Trust - International&lt;br /&gt;
*ID 301550 - 302499: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 302500 - 302549: Diamubi (https://diamubi.com)&lt;br /&gt;
*ID 302550 - 302599: Datolab (https://www.datolab.com)&lt;br /&gt;
*ID 302600 - 302649: DuMaCo (https://www.dumaco.de)&lt;br /&gt;
*ID 302650 - 302699: Resilio SA&lt;br /&gt;
*ID 302700 - 302749: Aroga&lt;br /&gt;
*ID 302750 - 302799: Productivix (https://www.productivix.com)&lt;br /&gt;
*ID 302800 - 302849: Slibzz&lt;br /&gt;
*ID 302850 - 302899: idea design (https://ideadesign.dz)&lt;br /&gt;
*ID 302900 - 302949: AL MISBAH INFORMATIQUE (https://www.almisbah.ma)&lt;br /&gt;
*ID 302950 - 302999: Atis Solutions - France&lt;br /&gt;
*ID 303000 - 303499: Obixav - Nigeria&lt;br /&gt;
*ID 303500 - 303549: buschler plus GmbH, Germany (https://buschler.plus)&lt;br /&gt;
*ID 303550 - 303599: Prestalidaire - France (https://prestalidaire.com)&lt;br /&gt;
*ID 303600 - 309999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 310000 - 310049: Neilson Dufour (&amp;lt;nowiki&amp;gt;https://hypercode.ca&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
*ID 310050 - 313999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 314000 - 314049: Ruemmler IT Solutions (https://www.ruemmler.net)&lt;br /&gt;
*ID 314050 - 314149: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 314150 - 314199: Benoît PASCAL&lt;br /&gt;
*ID 314200 - 319999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 320000 - 320999: Novus Studios (www.novusstudios.it)&lt;br /&gt;
*ID 321000 - 321999: AtooNet (http://www.atoo-net.com)&lt;br /&gt;
*ID 322000 - 322049: Doymer Consultores&lt;br /&gt;
*ID 322050 - 329999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 330000 - 330049: XTEC Industries (www.xtec-ind.com)&lt;br /&gt;
*ID 330050 - 330099: 10100 S.R.L. - (www.10100.to)&lt;br /&gt;
*ID 330100 - 330149: AES Dana SRL (https://aes-dana.be)&lt;br /&gt;
*ID 330150 - 330199: Freshcore (https://www.freshcore.fr)&lt;br /&gt;
*ID 330200 - 331999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 332000 - 332099: Gecka (https://gecka.nc)&lt;br /&gt;
*ID 332100 - 332149: Agence Milkshake (http://agencemilkshake.com)&lt;br /&gt;
*ID 332150 - 332199: Daniel Prowald IT – Service (https://prowald-it.de)&lt;br /&gt;
*ID 332200 - 332249: UNITICE (https://unitice.com)&lt;br /&gt;
*ID 332250 - 332299: Sidonie Moulart&lt;br /&gt;
*ID 332300 - 332349: LTDJ (Antonin MARCHAL - Le Temple du Jeu)&lt;br /&gt;
*ID 332350 - 333299: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 333300 - 333349: Sense Africa (http://sense.africa)&lt;br /&gt;
*ID 333350 - 349999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 350000 - 350049: SOUNDOU &amp;amp; MIDAS (https://www.soundou.org/)&lt;br /&gt;
*ID 350050 - 350099: Ildefonso González (&#039;&#039;&#039;https://igontek.es&#039;&#039;&#039;)&lt;br /&gt;
*ID 359000 - 359049: Milen Karaganski0&lt;br /&gt;
*ID 350100 - 399999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 400000 - 400999: 2byte.es (http://www.2byte.es)&lt;br /&gt;
*ID 401000 - 401999: B&amp;amp;D Informática&lt;br /&gt;
*ID 402000 - 402999: Marcos García de La Fuente (marcosgdf)&lt;br /&gt;
*ID 403000 - 403999: Sergibyte&lt;br /&gt;
*ID 404000 - 404999: Aikhan&lt;br /&gt;
*ID 405000 - 405999: AIME (http://www.aime.mx)&lt;br /&gt;
*ID 406000 - 406999: Som Núvol (https://somnuvol.coop)&lt;br /&gt;
*ID 407000 - 408999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 409000 - 409999: LliureTIC (https://www.lliuretic.cat)&lt;br /&gt;
*ID 410000 - 410999: DoliGov&lt;br /&gt;
*ID 411000 - 411049: GATTEK SARL (https://www.ga-ttek.com)&lt;br /&gt;
*ID 411050 - 419999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 420000 - 420099: BBS Concept&lt;br /&gt;
*ID 420100 - 420199: LeMousticProduction (www.lemousticproduction.info) -&amp;lt; module DoliRH&lt;br /&gt;
*ID 420200 - 421199: VatCheck (www.abnc.be)&lt;br /&gt;
*ID 421200 - 422199: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 422200 - 422999: Artaban (http://artaban.fr)&lt;br /&gt;
*ID 423000 - 423049: cyberesprit&lt;br /&gt;
*ID 423050 - 423099: R.Bossard&lt;br /&gt;
*ID 423100 - 423199: Joliciel (www.joliciel.fr)&lt;br /&gt;
*ID 423200 - 423299: Pragma-tech (www.pragma-tech.fr)&lt;br /&gt;
*ID 423299 - 423999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 424000 - 424049: A3sys - Mon-Dolibarr (http://www.mon-dolibarr.fr) by Philazerty&lt;br /&gt;
*ID 424050 - 424099: Pragma-tech (www.pragma-tech.fr)&lt;br /&gt;
*ID 424100 - 424149: Ohoo Solutions (http://www.ohoosolutions.com)&lt;br /&gt;
*ID 424150 - 424199: DAGARCAM Informática (https://www.dagarcam.com/)&lt;br /&gt;
*ID 424200 - 424999: Lab51 (https://github.com/lab51org)&lt;br /&gt;
*ID 425000 - 425999: Sébastien SERRE Thivinfo (www.thivinfo.com)&lt;br /&gt;
*ID 426000 - 426099: Arkesis-Solution&lt;br /&gt;
*ID 426100 - 426149: GetLandy (www.getlandy.com)&lt;br /&gt;
*ID 426150 - 426649: OOB Software&lt;br /&gt;
*ID 426650 - 426849: Soft-Task Serviços e Sistemas (www.soft-task.com.br)&lt;br /&gt;
*ID 426850 - 426999: Bruno Caldas (https://github.com/BCaldas)&lt;br /&gt;
*ID 427000 - 427999: Kevin GUERRIER (alias xcl.saian)&lt;br /&gt;
*ID 428000 - 428099: af83&lt;br /&gt;
*ID 428100 - 428199: Arnaud Serrut - Adalon&lt;br /&gt;
*ID 428200 - 428249: imschweiler consulting (http://www.imschweiler-consulting.de&#039;&#039;&#039;&amp;lt;nowiki/&amp;gt;&#039;&#039;&#039;)&lt;br /&gt;
*ID 428250 - 428299: AL1FO&lt;br /&gt;
*ID 428300 - 428349: Federico García-Patiño Barbolani (&amp;lt;federico.garcia.patino@gmail.com&amp;gt;)&lt;br /&gt;
*ID 428350 - 428399: INTM Groupe - France (www.intm.com)&lt;br /&gt;
*ID 428400 - 428449: Nick Fragoulis - Greece&lt;br /&gt;
*ID 428450 - 428499: Letusgeek - France&lt;br /&gt;
*ID 428500 - 428549: hkwhitten - USA&lt;br /&gt;
*ID 428550 - 428999: SmartOne&lt;br /&gt;
*ID 429000 - 429999: induslab&lt;br /&gt;
*ID 430000 - 430099: Mixity sprl (www.mixity.be)&lt;br /&gt;
*ID 430100 - 430199: sgiraud&lt;br /&gt;
*ID 430200 - 430299: Merlion TI (www.merlion-si.com.br)&lt;br /&gt;
*ID 430300 - 431299: Libre Expert (www.libre-expert.com)&lt;br /&gt;
*ID 431300 - 431399: ptibogxiv (www.ptibogxiv.net)&lt;br /&gt;
*ID 431400 - 431499: Befox (www.befox.fr)&lt;br /&gt;
*ID 431500 - 431599: rue Béjo (www.ruebejo.fr)&lt;br /&gt;
*ID 431600 - 431699: Avizzeo (www.avizzeo.com)&lt;br /&gt;
*ID 431700 - 432199: Multisistemas (www.multisistemas.com.sv)&lt;br /&gt;
*ID 432200 - 432399: Burbuja - Chile (www.burbuja.cl)&lt;br /&gt;
*ID 432400 - 433399: INOVEA CONSEIL (https://www.inovea-conseil.com)&lt;br /&gt;
*ID 433400 - 434399: Rachid HRICH - Maroc (HricH ServiceS.)&lt;br /&gt;
*ID 434400 - 435399: Lance Bleakley - LanceIT (www.lanceit.net)&lt;br /&gt;
*ID 435400 - 435999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 436000 - 436099: SOWEBIO (www.soweb.io)&lt;br /&gt;
*ID 436100 - 436199: CAP-REL (www.cap-rel.fr)&lt;br /&gt;
*ID 436200 - 436300: TDE-INFORMATIQUE (www.tde-informatique.fr)&lt;br /&gt;
*ID 436301 - 436349: Evarisk ([https://www.evarisk.com/id-module-dolibarr/ www.evarisk.com])&lt;br /&gt;
*ID 436350 - 436399: Eoxia ([https://www.eoxia.com/dolibarr/modules/ www.eoxia.com])&lt;br /&gt;
*ID 436400 - 437399: Mohamed AHERDANE - Morocco - IT Consultant ( www.wave.ma )&lt;br /&gt;
*ID 437400 - 437449: Martin Neubauer - Germany&lt;br /&gt;
*ID 437450 - 437599: Club1click (www.club1click.es)&lt;br /&gt;
*ID 437600 - 437629: Coulon Vincent (https://github.com/HoverEpic)&lt;br /&gt;
*ID 437630 - 437649: Aytechnet (https://www.aytechnet.fr/) - François Pons&lt;br /&gt;
*ID 437650 - 437699: LibreMaster (https://libremaster.com) - Christophe T.&lt;br /&gt;
*ID 437700 - 437749: STELLAR Broadband (https://www.stellarbb.com) - U.S.A. - Philip Laycock&lt;br /&gt;
*ID 437750 - 437799: DIGITA.LU Ajous Solutions&lt;br /&gt;
*ID 437800 - 437850: iProspective (https://iprospective.fr) - Mathieu Moulin&lt;br /&gt;
*ID 437851 - 437900: Theobald Groupe.&lt;br /&gt;
*ID 437901 - 437950: Neuronnexion (http://neuronnexion.coop)&lt;br /&gt;
*ID 437951 - 437952: jmbc - APIA-ASSO (https://www.apia-asso.fr)&lt;br /&gt;
*ID 437953 - 438002: IPCZEN SARL (https://www.ipczeninformatique.fr/)&lt;br /&gt;
*ID 438003 - 438052: FESF IT Department (https://fesf.org.pk)&lt;br /&gt;
*ID 438053 - 438103: Pilot Engineering team&lt;br /&gt;
*ID 438104 - 438153: u2042 (https://u2042.com)&lt;br /&gt;
*ID 438154 - 438204: Djair E Pereira (ocultooooo@gmail.com) - Brasil&lt;br /&gt;
*ID 438205 - 438255: yoandm (https://yoandm.com)&lt;br /&gt;
*ID 438256 - 438299: Free&lt;br /&gt;
*ID 438300 - 438399: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 438400 - 439399: Tetras Libre - France - Développement logiciels libres (www.tetras-libre.fr)&lt;br /&gt;
*ID 439400 - 440399: Dolibarr-pro - France - Développement Dolibarr (www.dolibarr-pro.com)&lt;br /&gt;
*ID 440400 - 441399: Quidlab Co., Ltd - Thailand - ( www.quidlab.com )&lt;br /&gt;
*ID 441400 - 442399: Ide@log - France - (https://www.idealog-info.net) - Laurent Leblanc&lt;br /&gt;
*ID 442400 - 443399: Valerio Bianchi (www.valeriobianchi.com)&lt;br /&gt;
*ID 443400 - 444399: delassalle - France - (www.delassalle.fr) - Joseph Delassalle&lt;br /&gt;
*ID 444400 - 445399: Webartis - Maroc - (www.webartis.net) - François Dry&lt;br /&gt;
*ID 445400 - 445499: SCOP Au-delà des nuages - France&lt;br /&gt;
*ID 445500 - 445549: X Net Systems - Egypt - (https://www.xneteg.com)&lt;br /&gt;
*ID 445550 - 445999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 446000 - 446999: iouston (http://www.iouston.com) - France - Julien Marchand&lt;br /&gt;
*ID 447000 - 447999: rSanjoSEO - Rafael San José Tovar (www.rsanjoseo.com) - Spain&lt;br /&gt;
*ID 448000 - 448999: Code 42 (www.code42.fr)&lt;br /&gt;
*ID 449000 - 449999: TakePOS (www.takepos.com)&lt;br /&gt;
*ID 450000 - 450999: Pierre ARDOIN&lt;br /&gt;
*ID 451000 - 451999: Éditeur depordi.fr&lt;br /&gt;
*ID 452000 - 452999: Dylan NAKONG&lt;br /&gt;
*ID 453000 - 453999: Menahd Ouchenir - France - menahd-ouchenir.com&lt;br /&gt;
*ID 454000 - 454999: Withheld - Canada&lt;br /&gt;
*ID 455000 - 455999: Gaëtan MAISON - Info Libre @ Dom - France (https://www.infolibreadom.com)&lt;br /&gt;
*ID 456000 - 456999: Laurent LEBLEU - B.L.C. - Blue Line Company - Lille - France (www.bluelinecompany.fr/dolibarr)&lt;br /&gt;
*ID 457000 - 457999: Sébastien BOUCHER&lt;br /&gt;
*ID 458000 - 458999: Lester HERNÁNDEZ - Argentina - (freelancerlrhd@gmail.com)&lt;br /&gt;
*ID 459000 - 459999: Infopen - France&lt;br /&gt;
*ID 460000 - 460049: torvista - Spain&lt;br /&gt;
*ID 460050 - 460999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 461000 - 461999: MEGALOGI - Maroc (www.erpcloud.ma)&lt;br /&gt;
*ID 462000 - 462999: Making Digital (www.making-digital.fr) - France&lt;br /&gt;
*ID 463000 - 463999: linx s.r.l.s.&lt;br /&gt;
*ID 464000 - 464999: NimbleCubed Inc. (www.nimblecubed.com)&lt;br /&gt;
*ID 465000 - 465999: Artefacts - CourantAlternatif&lt;br /&gt;
*ID 466000 - 466999: CDM Consultores - (www.cdm.guru)&lt;br /&gt;
*ID 467000 - 467999: M71 Service GmbH - (www.m71-service.de)&lt;br /&gt;
*ID 468000 - 468049: Clément Segonzac - France (clement.segonzac@gmail.com)&lt;br /&gt;
*ID 468050 - 468099: Flavien Belli - France (https://github.com/Marshlyin || belliflaviencontactpro@gmail.com)&lt;br /&gt;
*ID 468100 - 468119: Chl (https://code.bugness.org/Dolibarr)&lt;br /&gt;
*ID 468120 - 468169: Commotron GmbH (https://www.commotron.com/)&lt;br /&gt;
*ID 468170 - &#039;&#039;&#039;468219&#039;&#039;&#039;: Infans Group (franck.lauby@infans.fr)&lt;br /&gt;
*ID &#039;&#039;&#039;468175&#039;&#039;&#039; - &#039;&#039;&#039;468199&#039;&#039;&#039;: Gaëlle Rauffet - France (kiwiscan.net)&lt;br /&gt;
*ID &#039;&#039;&#039;468200&#039;&#039;&#039; - 468249: Paulo Oliveira - Brasil (paulorcdo@gmail.com)&lt;br /&gt;
*ID 468250 - 468269:  CD-Systems - France (https://www.cd-systems.fr)&lt;br /&gt;
*ID 468270 - 468299: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 468300 - 468349: Uvensys - Germany (https://uvensys.de)&lt;br /&gt;
*ID 468350 - 468399: Laudeco - Belgium (http://github.com/laudeco)&lt;br /&gt;
*ID 468400 - 468449: Alexis LAURIER - France (https://www.alexislaurier.fr)&lt;br /&gt;
*ID 468450 - 468499: Mehdi Belkhayat - Maroc (https://opensi.ma)&lt;br /&gt;
*ID 468500 - 468599: InvIT GmbH - Germany (https://invit.sh)&lt;br /&gt;
*ID 468600 - 468649: Ricardo Sequeira - Portugal (https://ricardo-sequeira.com)&lt;br /&gt;
*ID 468650 - 468699: J-IT - Belgique (https://www.j-it.be)&lt;br /&gt;
*ID 468700 - 468749: Fidesio - France (https://www.fidesio.com/)&lt;br /&gt;
*ID 468750 - 468799: Sgestion - Spain (http://www.sgestion.net/)&lt;br /&gt;
*ID 468800 - 468849: Denis JULIEN - Brasil (matrinxa@free.fr)&lt;br /&gt;
*ID 468850 - 468899: Mmariko - Module GED - Effios&lt;br /&gt;
*ID 468900 - 468949: Maazou Amadou Abdoul aziz - Maroc (yaronfada@gmail.com)&lt;br /&gt;
*ID 468950 - 468999: Alexis LAURIER - France (https://www.alexislaurier.fr)&lt;br /&gt;
*ID 469000 - 469049: John Livingston (https://github.com/JohnXLivingston/)&lt;br /&gt;
*ID 469050 - 469099: Macrorom ICT-services (https://macrorom.nl/)&lt;br /&gt;
*ID 469100 - 469149: HABOT IT - France (https://habot.it)&lt;br /&gt;
*ID 469150 - 469159: CaribbeanConsult.Com CCC - France Guadeloupe (https://dolibarr.ccc.gp)&lt;br /&gt;
*ID 469160 - 469171: GMBG - Portugal&lt;br /&gt;
*ID 469172 - 469199: BGi Lda - Portugal&lt;br /&gt;
*ID 469200 - 469949: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 469950 - 469999: Goldoweb (http://goldoweb.com)&lt;br /&gt;
*ID 470000 - 470999: Reindeer Digital (https://rdeer.cz)&lt;br /&gt;
*ID 471000 - 471099: CAP-REL (www.cap-rel.fr)&lt;br /&gt;
*ID 471100 - 471199: M. Morillon&lt;br /&gt;
*ID 471200 - 471209: Pablo Nuñez&lt;br /&gt;
*ID 471210 - 471249: FANEL A.Ş  (https://www.fanel.com.tr)  [[mail@fanel.com.tr]]&lt;br /&gt;
*ID 471250 - 480999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 481000 - 481999: Alhaidab-ITIS (https://alhaidab.dolibarr.sd)&lt;br /&gt;
*ID 482000 - 482999: Basix IT (https://www.basix.de)&lt;br /&gt;
*ID 483000 - 483049: SASCO SpA (https://www.sasco.cl)&lt;br /&gt;
*ID 483050 - 483099: WIP Engineering (https://www.wip-gmbh.com)&lt;br /&gt;
*ID 483100 - 483149: J.Kaiser&lt;br /&gt;
*ID 483150 - 483199: CodLines (https://www.codlines.com)&lt;br /&gt;
*ID 483200 - 484999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 485000 - 485049: Gest Info Service Plus (contact@gest-plus.fr)&lt;br /&gt;
*ID 485050 - 489999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 490000 - 490049: VOLD (https://vold.lu)&lt;br /&gt;
*ID 490050 - 490999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 491000 - 491049: NORD ERP CRM (https://www.nord-erp-crm.fr/)&lt;br /&gt;
*ID 491050 - 491099: KJR-online (https://kjr-online.fr/)&lt;br /&gt;
*ID 491100 - 491149: eNova&lt;br /&gt;
*ID 491150 - 491199: App 4 Business&lt;br /&gt;
*ID 491200 - 491249: Mil24 (http://www.mil24.com.py)&lt;br /&gt;
*ID 491250 - 491299: M2AM&lt;br /&gt;
*ID 491300 - 491349: luigifab (https://github.com/luigifab), also reuse id:105009 for Sentry fork&lt;br /&gt;
*ID 491350 - 491399: Frédéric France (https://github.com/frederic34)&lt;br /&gt;
*ID 491400 - 491449: E-dem (https://www.e-dem.com/)&lt;br /&gt;
*ID 491450 - 491499: Burofree (https://burofree.es)&lt;br /&gt;
*ID 491500 - 491549: EMDELEN (https://emdelen.fr/)&lt;br /&gt;
*ID 491550 - 491599: eSoUrCeS Technologie (https://techno.esources.ca/) - Canada&lt;br /&gt;
*ID 491600 - 491999: &#039;&#039;&#039;Free (take ranges of 50 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 492000 - 492999: Anura (https://www.anura.fr/)&lt;br /&gt;
*ID 493000 - 493050: Bourez Bastien EI (https://bastien-b.fr/)&lt;br /&gt;
*ID 493051 - 493100: benhmida ilyess (bhilyess98@gmail.com)&lt;br /&gt;
**&lt;br /&gt;
*ID 499000 - 499999: IT GENIUSES (https://www.itgeniuses.com)&lt;br /&gt;
&lt;br /&gt;
DO NOT ADD RECORD HERE, PLEASE FILL HOLES FIRST !!!!&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
=ID &amp;gt; 500000=&lt;br /&gt;
&lt;br /&gt;
This range can&#039;t be reserved. It is a common range. If you don&#039;t plan to distribute your module, you can use an ID in this range with no need to reserve it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t already have reserved ids and need some, please don&#039;t use hazardous number and use a number higher than 500000, but it is better to ask a wiki account, and reserve your own range by editing the  100000 - 499999 range (50 ids at once).&lt;/div&gt;</summary>
		<author><name>Bfaliere</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Dolibarr_suppliers_France&amp;diff=62286</id>
		<title>Dolibarr suppliers France</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Dolibarr_suppliers_France&amp;diff=62286"/>
		<updated>2025-01-28T07:45:13Z</updated>

		<summary type="html">&lt;p&gt;Bfaliere: Ajout de mon nom dans la liste.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dolibarr_suppliers}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=1fonet Services|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Integrations and open source development&lt;br /&gt;
Specialist software open source.Dolibarr, Joomla! Prestashop, Cahiers des charges ERP/CRM, Ecommerce, site web, gratuits. Complementary development of the module, component or application needs. Based in the PACA region work throughout France.|&lt;br /&gt;
web=http://www.1fonet.fr|&lt;br /&gt;
email=mailto:contact@1fonet.fr|&lt;br /&gt;
zip=13530|&lt;br /&gt;
town=Trets|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=2A2C Conseil|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=CRM et Solutions e-commerce opensource pour TPM et PME, VoIP et Hosting en marque blanche, maintenance informatique, WordPress, Dolibarr, Prestashop, Formation utilisateur|&lt;br /&gt;
web=|&lt;br /&gt;
email=mailto:info@2a2c-conseil.fr|&lt;br /&gt;
zip=75012|&lt;br /&gt;
town=PARIS|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=A3SYS : MON-DOLIBARR|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=52456658500021 (SIRET)|&lt;br /&gt;
desc=Intégration, assistance et développement.&lt;br /&gt;
Notre société forte de plus de 25 ans d&#039;expérience dans l&#039;intégration de divers ERP propose ses services aux entreprises souhaitant mettre en place l&#039;ERP Dolibarr. Une plateforme dédiée est mise en place pour proposer des services de qualité à moindre coût.|&lt;br /&gt;
web=http://www.mon-dolibarr.fr|&lt;br /&gt;
email=http://www.mon-dolibarr.fr/contact/|&lt;br /&gt;
zip=59310|&lt;br /&gt;
town=Orchies (Nord - France)|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=logo_mon-dolibarr.jpg&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=A6TM - SOLUTIONS|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=A6TM SOLUTIONS, est une entreprise maîtrisant les technologies de l&#039;informatique, et spécialisée dans les solutions informatiques et notamment les services tels que l&#039;infogérance, installations et déploiements, dépannages, maintenance et réseaux informatique. Installation et maintenance CMS(Joomla, Wordpress...), Progiciel ERP/CRM (Dolibarr...)|&lt;br /&gt;
web=http://www.a6tm-solutions.fr|&lt;br /&gt;
email=mailto:contact@a6tm-solutions.fr|&lt;br /&gt;
zip=44|&lt;br /&gt;
town=Nantes et son département|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=ACN - Atelier de Création Numérique|&lt;br /&gt;
profid=808 725 212 00019|&lt;br /&gt;
desc=ACN (Atelier de Création Numérique), Maîtres d’œuvres en Informatique, Nous sommes spécialisés dans le conseil, la création et l’intégration de solutions professionnelles pour les bureaux d&#039;études. Nos solutions vont de l’intégration d’outils Open Source et de logiciels libres à la mise en place des meilleurs produits de grands éditeurs du marché.|&lt;br /&gt;
web=http://ateliercreationnumerique.com/|&lt;br /&gt;
email=mailto:contact@atlcreanum.com|&lt;br /&gt;
zip=44|&lt;br /&gt;
town=Nantes et Grand Ouest|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=acn.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Apio systems|&lt;br /&gt;
profid=529 919 540 00029|&lt;br /&gt;
desc=Apio systems vous accompagne dans tous vos projets Open Source. Apio systems prend en charge l&#039;hébergement, l&#039;installation et l&#039;infogérance de vos applications Open Source desservant votre entreprise, tel qu&#039;un environnement web/e-commerce avec WP/PS ou autre au besoin, la partie ERP avec Dolibarr, la partie messagerie collaborative avec Kopano, la partie partage de gros fichier avec NextCloud, etc.|&lt;br /&gt;
web=https://apio.systems/|&lt;br /&gt;
email=mailto:ping@apio.systems|&lt;br /&gt;
zip=13105|&lt;br /&gt;
town=Mimet|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo-apio-systems.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Aplose|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=534906698|&lt;br /&gt;
desc=&lt;br /&gt;
Aplose c&#039;est l&#039;Agence pour la Promotion du Libre et de l&#039;Open Source en Entreprise, société de service et organisme de formation spécialisé dans les logiciels libres de création de site internet et boutique en ligne (wordpress, prestashop), les erp, logiciels de gestion et logiciels de caisse et point de vente (Odoo, Dolibarr), les langages de programmation (java, html5, Javascript, php), les bases de données (mysql, postgresql), les systèmes d&#039;exploitation (linux), les méthodes des gestion de projet agiles (Scrum). Bordeaux - Montpellier|&lt;br /&gt;
web=http://www.aplose.fr|&lt;br /&gt;
email=[mailto:contact@aplose.fr?subject=Contact%20from%20Dolibarr%20Suppliers%20France20page contact@aplose.fr]|&lt;br /&gt;
zip=34990|&lt;br /&gt;
town=Juvignac|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_Aplose.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Artaban Communication|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=400 396 388 00037|&lt;br /&gt;
desc=Artaban Communication est une SSLL. Spécialistes du CMS SPIP, nous concevons et réalisons des sites web à forte composante éditoriale. Nous prenons également en charge le webmastering et la création de contenu. Notre expertise s&#039;étend à un certain nombre de logiciels, choisis pour leur qualité et leur intérêt, et avec lesquels nous aimons travailler et notamment Dolibarr. Artaban Communication est membre de l&#039;April.|&lt;br /&gt;
web=http://www.artaban.fr|&lt;br /&gt;
email=mailto:contact@artaban.fr|&lt;br /&gt;
zip=94340|&lt;br /&gt;
town=Joinville-le-Pont|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Artaban_logo.png‎|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=ATM Consulting|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=753 447 481 00015|&lt;br /&gt;
desc=Consulting company dedicated to small and medium enterprises information system optimization, we provide to our customers open-source based solutions to improve their information system efficiency. We offer hosting and support solutions and we are Dolibarr contributor, developer and integrator. &amp;quot;Open-source. Custom. Freedom&amp;quot;|&lt;br /&gt;
web=http://www.atm-consulting.fr|&lt;br /&gt;
email=mailto:contact@atm-consulting.fr|&lt;br /&gt;
zip=26000|&lt;br /&gt;
town=Valence|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=AB2L|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Un Alsacien à votre service. Installation et configuration de l&#039;ERP/CRM Dolibarr dans votre entreprise ou sur notre serveur. Nous vous accompagnons pour un démarrage rapide et serein. Nous sommes une société de service en logiciel libre fournissant un équivalent open source au logiciel propriétaire de tout type. |&lt;br /&gt;
web=http://www.ab2l.eu|&lt;br /&gt;
email=mailto:contact@ab2l.eu|&lt;br /&gt;
zip=67000|&lt;br /&gt;
town=Strasbourg|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Axopen IT Services|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=L&#039;entreprise Axopen propose toute une gamme de produits et services informatiques allant du conseil en système d&#039;informations, développement de solutions sur mesure et intégration de solutions Open Source ou propriétaires. Nous sommes spécialisé en particulier dans l&#039;intégration de solutions de gestion de la relation client Open Source telles que Dolibarr, SugarCRM ou VTiger... |&lt;br /&gt;
web=http://www.axopen.com|&lt;br /&gt;
email=mailto:contact@axopen.com|&lt;br /&gt;
zip=69001|&lt;br /&gt;
town=Lyon|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=AKILIS|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=AKILIS est une société éditrice de logiciels de gestion qui a fait le pari d’utiliser les nouvelles méthodes de travail pour développer des solutions clairs et efficaces. Notre mission est de vous proposer des solutions simples d&#039;utilisation, ne demandant aucun entretien de votre part, ni aucune connaissance technique particulière. Notre outil est celui que VOUS utilisez quotidiennement : le Web.&lt;br /&gt;
AKILIS, c’est une équipe toujours disponible pour vous guider et vous écouter. Nous développons et améliorons sans cesse nos logiciels afin que ceux-ci répondent au mieux à votre activité et vos besoins.&lt;br /&gt;
AKILIS peut également, dans le cadre de besoin partculier, étudier avec vous un développement sur mesure. |&lt;br /&gt;
web=http://www.akilis.fr|&lt;br /&gt;
email=mailto:contact@akilis.fr|&lt;br /&gt;
zip=69200|&lt;br /&gt;
town=Vénissieux|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Altairis|&lt;br /&gt;
profid=488020108|&lt;br /&gt;
partner=yes|&lt;br /&gt;
desc=Développements spécifiques, Installation, Formation, Accompagnement à la mise en oeuvre, Support, Intégration. Spéclialiste solution de gestion des locations de produits avec Dolibarr.|&lt;br /&gt;
web=http://www.altairis.fr|&lt;br /&gt;
email=contact@altairis.fr|&lt;br /&gt;
zip=18270|&lt;br /&gt;
town=Culan|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Atoo.Net|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Installation et configuration de l&#039;ERP/CRM Dolibarr soit sur nos serveurs, soit en local dans votre entreprise. Aide à la prise en main et formation.|&lt;br /&gt;
web=http://www.atoo-net.com/|&lt;br /&gt;
email=contact@atoo-net.com|&lt;br /&gt;
zip=45160|&lt;br /&gt;
town=Olivet|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Bee-Smart.online|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=15 ans d&#039;expérience aux services des PME &amp;amp; grands groupes, Bee-Smart vous propose un accompagnement sur mesure , adapté à vos besoins métiers et votre budget.N&#039;hésitez pas, Bee-Smart.online, le partenaire de vos projets réussis.|&lt;br /&gt;
web=https://bee-smart.online|&lt;br /&gt;
email=contact@bee-smart.online|&lt;br /&gt;
zip=25|&lt;br /&gt;
town=Montbéliard|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Benjamin Falière|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Installation, configuration, hébergement de Dolibarr ERP/CRM. Développement de modules et interventions ponctuelles.|&lt;br /&gt;
web=https://www.faliere.com|&lt;br /&gt;
email=contact@faliere.com|&lt;br /&gt;
zip=71700|&lt;br /&gt;
town=Farges-lès-Mâcon|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Blue-Click Informatique|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Nous proposons l&#039;installation et la configuration de l&#039;ERP/CRM Dolibarr dans votre entreprise ou sur votre hébergement Internet. De plus nous assurons la formation pour la prise en main de cet outil adapté aux TPE et PME.|&lt;br /&gt;
web=http://www.blue-click.fr|&lt;br /&gt;
email=|&lt;br /&gt;
zip=92,78|&lt;br /&gt;
town=Nanterre,Plaisir|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=CAP-REL|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Après avoir contribué au code de dolibarr dans les années 2004-2005 et l&#039;avoir utilisé en interne pour de nombreux projets depuis cette époque je propose maintenant un service autour de Dolibarr (adaptation, accompagnement, utilisation etc.).|&lt;br /&gt;
web=https://www.cap-rel.fr|&lt;br /&gt;
email=eric.doli@cap-rel.fr|&lt;br /&gt;
zip=30|&lt;br /&gt;
town=Département du Gard|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_cap-rel.png‎|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Caribbean Consult CCC|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Installation, configuration de l&#039;ERP/CRM Dolibarr en ligne, ou en local pour votre entreprise ou association. Migration de données vers Dolibarr. Prise en main, support et formation.|&lt;br /&gt;
web=https://dolibarr.ccc.gp|&lt;br /&gt;
email=support@caribbeanconsult.com|&lt;br /&gt;
zip=97180|&lt;br /&gt;
town=Sainte Anne (Guadeloupe et Martinique) Antilles Guyane|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_CCC.png‎|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Cergy Internet|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Cergy Internet est spécialisé dans l’informatique et plus spécifiquement dans l’internet pour les PMI/PME. Nous maitrisons les technologies digitales du simple site web jusqu’au portail complète de pilotage d’entreprise. Grâce à Dolibarr nous pouvons vous donner une vision unique sur vos clients, vos produits et même votre trésorerie. Nous lions Dolibarr avec Wordpress et sur Smartphones pour créer des portails pour vos clients. Notre directeur, Thomas Carter, a fait son MBA à MIT aux USA et a géré des entreprises de plus de 100 personnes. Il met cette expérience à votre disposition. Chez Cergy Internet nous maitrisons la technologie de boute en boute. Nous avons notre propre équipe de jeunes codeurs qui baignent dans tous qui est réseaux sociaux, applications iPhone etc. ainsi qu’une plateforme de 30 serveurs pour héberger vos sites. |&lt;br /&gt;
web=www.cergy-internet.fr|&lt;br /&gt;
email=mailto:thomas.carter@cergy-internet.fr|&lt;br /&gt;
zip=95300|&lt;br /&gt;
town=Cergy-Pontoise|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Code 42|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=793 600 735 00021|&lt;br /&gt;
desc=Nous vous accompagnons dans l’installation  et le développement de votre outil informatique. Code 42, c’est avant tout une démarche qualité et de conseil pour une relation durable. Vous avez la vision de votre entreprise, nous avons les moyens.|&lt;br /&gt;
web=www.code42.fr|&lt;br /&gt;
email=mailto:lareponse@code42.fr|&lt;br /&gt;
zip=44100|&lt;br /&gt;
town=NANTES|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=D-BOG|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=IT services company located in Beaune (21), moved around Dolibarr:&lt;br /&gt;
Installation, setup, configuration on the internal server or hosted;&lt;br /&gt;
Training agreement;&lt;br /&gt;
Outsourcing, on-site maintenance and remote.|&lt;br /&gt;
web=http://www.d-bog.com/|&lt;br /&gt;
email=|&lt;br /&gt;
zip=|&lt;br /&gt;
town=Beaune|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=DiVA-Cloud|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=DiVA-Cloud propose des applications OpenSource de gestion de la communication et de l&#039;information pour les entreprises. Notre logithèque contient des applications de WebConference, ERP, CRM, CMS, GED, et bien d&#039;autres... Toutes ces applications pré-configurés sont mises à disposition sur un environnement privé. |&lt;br /&gt;
web=www.diva-cloud.com |&lt;br /&gt;
email=mailto:contact@diva-cloud.com |&lt;br /&gt;
zip=81100|&lt;br /&gt;
town=Castres|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=DoliCloud|&lt;br /&gt;
partner=yes|&lt;br /&gt;
desc=DoliCloud is one of the most important contributor on Dolibarr and can host for you a Dolibarr instance in a SaaS (Software As A Service) mode.|&lt;br /&gt;
profid=493 861 496 00021|&lt;br /&gt;
web=https://www.dolicloud.com|&lt;br /&gt;
email=|&lt;br /&gt;
zip=33600|&lt;br /&gt;
town=Pessac (Bordeaux)|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes (https://www.dolicloud.com)|&lt;br /&gt;
service_onlinesupport=only for DoliCloud.com customers|&lt;br /&gt;
service_emailsupport=only for DoliCloud.com customers|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=no|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=logo_dolicloud.png}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Elonet|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=SIRET:52511620800022|&lt;br /&gt;
desc=Elonet est intégrateur et développeur de solutions pour Dolibarr.|&lt;br /&gt;
web=https://elonet.fr/dolibarr.php|&lt;br /&gt;
email=mailto:contact@elonet.fr|&lt;br /&gt;
zip=59000|&lt;br /&gt;
town=LILLE|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=ElonetNew.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=EXIG|&lt;br /&gt;
profid=SIRET:91208951300010|&lt;br /&gt;
desc=EXIG est une entreprise de proximité qui propose différents services liés au domaine de l’informatique : en particulier, le développement et deployement de solutions web. Notre objectif est de fournir un outil adapté à votre activité et de vous accompagner dans son utilisation. &lt;br /&gt;
Nous sommes une équipe de développeurs au sein d’une entreprise d’informatique. Nous pouvons vous accompagner de A à Z lors dans la mise en place et utilisation de vos outils : du logiciel au matériel (en achat ou location) tout en prenant en compte l’aspect sécurité de l’infrastructure.|&lt;br /&gt;
email=|&lt;br /&gt;
web=https://exig.fr/logiciel-de-caisse-connecte/|&lt;br /&gt;
zip=35137|&lt;br /&gt;
town=BÉDÉE|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo-exig.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=FUTUR TECH|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Prestataire de services pour artisans, TPE, PME :&lt;br /&gt;
Solutions open source, Internet, Sécurité, Sauvegarde, Antivirus, Gestion d&#039;entreprise, Conseil, Formation, Installation et Paramétrage&lt;br /&gt;
Intervention sur site client. Situé entre Bordeaux et Libourne|&lt;br /&gt;
web=http://www.futur-tech.com|&lt;br /&gt;
email=mailto:info@futur-tech.com|&lt;br /&gt;
zip=33450|&lt;br /&gt;
town=IZON|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Groupe KM|&lt;br /&gt;
profid=790 885 388 00013|&lt;br /&gt;
desc=Intégrateur,développeur et hébergeur de solutions Open Source: Progiciel ERP/CRM (Dolibarr),CMS(Joomla)et e-commerce(Prestashop).&amp;lt;br&amp;gt;Nous déployons aussi des solutions Téléphonie (VOIP, PABX...) et Accés Internet (ADSL/VDSL, SDSL...).&amp;lt;br&amp;gt;&lt;br /&gt;
Secteur Cannes, Antibes, Sophia-Antipolis, Carros, Nice et plus généralement toutes les Alpes-Maritimes.&amp;lt;br&amp;gt;&lt;br /&gt;
Notre objectif : Vous satisfaire!|&lt;br /&gt;
web=https://www.groupe-km.com|&lt;br /&gt;
email=mailto:contact@groupe-km.com|&lt;br /&gt;
zip=06220|&lt;br /&gt;
town=Vallauris|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=GWARED|&lt;br /&gt;
profid=804 659 027 00036|&lt;br /&gt;
desc=La société GWARED, est une équipe diplômée dans le domaine de l’informatique, de plus de 10 ans d’expériences dans diverses structures telles que de grandes administrations, sociétés privées mais aussi au service des particuliers. Nous sommes à l’écoute pour vous accompagner dans vos projets.&lt;br /&gt;
&lt;br /&gt;
Professionnel ou particulier, nous vous proposons de nombreux services informatiques et domotiques adaptés à votre configuration et vos besoins. Nos prestations concernent la réparation et la maintenance de votre ordinateur ou de votre parc informatique, l&#039;installation réseau (Local informatique, Internet, intranet, Wifi, CPL, etc.), l&#039;installation d’alarmes et vidéo-surveillance, sur site, à distance ou à domicile.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notre société se distingue en trois branches :&lt;br /&gt;
&lt;br /&gt;
- L’informatique (GWARED)&lt;br /&gt;
- La sécurité (alarme, vidéosurveillance et protection numérique) (GWARDSECURITY)&lt;br /&gt;
- Les jeux vidéo (concepteur de console de jeux) (GWARDBOX)&lt;br /&gt;
&lt;br /&gt;
Nous pourrons répondre à tous vos besoins dans le domaine de l’informatique.|&lt;br /&gt;
web=http://www.gwared.fr|&lt;br /&gt;
email=[mailto:support@gwared.fr?subject=Contact%20de%20Dolibarr%20Suppliers%20France support@gwared.fr]|&lt;br /&gt;
zip=77500|&lt;br /&gt;
town=Chelles et Île de France|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_Gwared.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=HELIUM TECHNOLOGIES|&lt;br /&gt;
profid=494 895 360 00027|&lt;br /&gt;
partner=yes|&lt;br /&gt;
desc=&lt;br /&gt;
Mise en place de solutions ERP Dolibarr sur nos serveurs ou dans votre entreprise avec assistance téléphonique, support technique, développement de modules spécifiques et formation.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;SSII basée en Guadeloupe, Martinique et Guyane&#039;&#039;&#039;, nous proposons également des solutions libres comme GLPI, Prestashop, Joomla, Odoo, Zimbra, BlueMind, Centreon, ...|&lt;br /&gt;
web=http://|&lt;br /&gt;
email=[mailto:contact@helium-technologies.com?subject=Contact%20from%20Dolibarr%20Suppliers%20France20page contact@helium-technologies.com]|&lt;br /&gt;
zip=97122|&lt;br /&gt;
town=BAIE-MAHAULT (GUADELOUPE)|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_HeliumTechnologies.jpg&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=IABAI SaS|&lt;br /&gt;
profid= FR27913974648|&lt;br /&gt;
desc= SaaS Company specialised in IT operations, Automation, Business Management, Artificial Intelligence and more |&lt;br /&gt;
web=https://www.iab.ai|&lt;br /&gt;
email=mailto:info@iab.ai|&lt;br /&gt;
zip=13006|&lt;br /&gt;
town=Marseille|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=iabai_logo_small.png|&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Infonel.net|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=administrateur système open source indépendant:&lt;br /&gt;
Installation, paramétrage, configuration et sécurisation de dolibarr sur site client|&lt;br /&gt;
web=http://www.infonel.net|&lt;br /&gt;
email=|&lt;br /&gt;
zip=11100|&lt;br /&gt;
town=Narbonne|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=iNodbox|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Développeur indépendant d&#039;application web, paramétrage et installation de Dolibarr, développement de modules spécifique. Basé dans l&#039;Ain à Bourg en Bresse (30min de Mâcon, 1h de Chalon sur Saône, 1h de Lyon), je contribue depuis de nombreuses années au développement de Dolibarr.|&lt;br /&gt;
web=https://www.inodbox.com/|&lt;br /&gt;
email=regis.houssin@inodbox.com|&lt;br /&gt;
zip=01000|&lt;br /&gt;
town=Bourg en Bresse|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=(https://www.inodbox.com)|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Inovea Conseil|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=797 613 072 00017|&lt;br /&gt;
desc=Développeur, Intégrateur, Hébergeur et Formateur de Dolibarr pour TPE - PME | &lt;br /&gt;
web=https://www.inovea-conseil.com/ |&lt;br /&gt;
email=https://www.inovea-conseil.com/contact/ |&lt;br /&gt;
zip=88,54,75|&lt;br /&gt;
town=Nancy|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Inoveaconseil.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=i.d &amp;amp; l|&lt;br /&gt;
profid=521 749 994 00013|&lt;br /&gt;
desc=Conseil et intégration de solutions logicielles libres, dont Dolibarr, pour artisans, TPE, indépendants, commerçants, PME, associations...|&lt;br /&gt;
web=https://idl-mp.com|&lt;br /&gt;
email=https://idl-mp.com/contact/|&lt;br /&gt;
zip=31,32,09,82,81|&lt;br /&gt;
town=Région toulousaine|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=iouston informatique|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=792 353 005 00046|&lt;br /&gt;
desc=iouston informatique, situé à proximité de Nancy, Metz, Lunéville, est spécialisée auprès des associations, des TPE et des artisans commerçants. Nous installons et configurons dolibarr pour vous et nous formons vos équipes à son utilisation quotidienne. Nous proposons de nombreux autres services, associés ou non à dolibarr. Nous travaillons avec dolibarr depuis plus de 6 ans et éditons des modules supplémentaires pour dolibarr, [https://www.dolistore.com/fr/recherche?controller=search&amp;amp;orderby=position&amp;amp;orderway=desc&amp;amp;search_query=iouston&amp;amp;submit_search= disponibles sur dolistore]|&lt;br /&gt;
web=https://www.iouston.com|&lt;br /&gt;
email=allo@iouston.com|&lt;br /&gt;
zip=54370|&lt;br /&gt;
town=Einville au Jard|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=ISYNUX|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Société de services en réseaux et sytèmes. ISYNUX vous propose un suivi complet pour DOLIBARR : installation, hébergement, personnalisation de vos modèles de document, formation à la carte. |&lt;br /&gt;
web=http://www.isynux.fr|&lt;br /&gt;
email=mailto:formation@isynux.fr|&lt;br /&gt;
zip=626100|&lt;br /&gt;
town=Ardres|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Jeffinfo (ZenDSI)|&lt;br /&gt;
profid=429 625 973|&lt;br /&gt;
partner=yes|&lt;br /&gt;
desc=Jeffinfo est une société de services en informatique qui vous sert depuis plus de 15 ans dont 10 ans dans le domaine de Dolibarr. Implanté dans le nord à Ennetières en Weppes. Nous sommes à vos services pour vous proposer tous les services autour de votre ERP préféré.&lt;br /&gt;
web=https://shop.zendsi.com|&lt;br /&gt;
email=mailto:contact@zendsi.com|&lt;br /&gt;
zip=59320|&lt;br /&gt;
town=Ennetières en Weppes|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=KJR online|&lt;br /&gt;
profid=818 889 644 00014|&lt;br /&gt;
desc=Conseils et Services Informatiques. Installation, formation et personnalisation de Dolibarr. Région Toulousaine.|&lt;br /&gt;
web=http://www.kjr-online.fr|&lt;br /&gt;
email=mailto:eric.picabia@kjr-online.fr|&lt;br /&gt;
zip=31210|&lt;br /&gt;
town=Clarac|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Kreiz IT|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=	752 505 131 00017|&lt;br /&gt;
desc={{Flag_fr}}Conseils en organisation et sécurité informatique pour les TPE / PME. Dolibarr fait partie des outils informatiques structurants pour les TPE/PME proposé par Kreiz IT.&lt;br /&gt;
&lt;br /&gt;
{{Flag_en}}IT management and security consultant for small to medium business. Dolibarr is part of IT&#039;s structuring tools for business used by Kreiz IT. |&lt;br /&gt;
web=http://www.kreiz-it.fr |&lt;br /&gt;
email=mailto:contact@kreiz-it.fr |&lt;br /&gt;
zip=56600|&lt;br /&gt;
town=Lanester|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=LogoKIT.jpg&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=LIBRE EXPERT|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=48879200300045|&lt;br /&gt;
desc={{Flag_fr}}Intégrateur et développeur Dolibarr, auteur de plusieurs modules complémentaires, spécialiste également de l&#039;administration Linux.&lt;br /&gt;
&lt;br /&gt;
{{Flag_en}}&lt;br /&gt;
Integrator and Dolibarr developer, author of several complementary modules, also specialist in Linux administration. |&lt;br /&gt;
web=http://www.libre-expert.com|&lt;br /&gt;
email=mailto:contact@libre-expert.com |&lt;br /&gt;
zip=63100|&lt;br /&gt;
town=Clermont-Ferrand|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Libre Master|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc={{Flag_fr}}Aux entreprises qui recherchent une expertise senior pour héberger leur Dolibarr. L&#039;hébergement est clé en main, dédié et spécialisé, associé à de vrais méthodes d&#039;ingénierie avancée, maintenu à jour, sécurisé et sauvegardé dans un bunker. Ce service ne s&#039;adresse pas aux entreprises qui se contentent d&#039;un hébergement web amateur.&lt;br /&gt;
&lt;br /&gt;
{{Flag_en}}For companies looking for senior expertise to host their Dolibarr. The hosting is turnkey, dedicated and specialized, associated with real advanced engineering methods, kept up to date, secure and backed up in a bunker. This service is not for companies that are satisfied with amateur web hosting.&lt;br /&gt;
&lt;br /&gt;
{{Flag_sp}}A empresas que buscan experiencia senior para alojar su Dolibarr. El hosting es llave en mano, dedicado y especializado, combinado con métodos de ingeniería realmente avanzados, actualizado, seguro y respaldado en un búnker. Este servicio no está dirigido a empresas que se contentan con el alojamiento web para aficionados.|&lt;br /&gt;
web=https://libremaster.com/dolibarr-en-ligne/|&lt;br /&gt;
email=https://libremaster.com/contact/ |&lt;br /&gt;
zip=75017|&lt;br /&gt;
town=PARIS|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=no|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=Libremaster-v5-logo-fg-dark-50px.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Librethic|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=83334801400014|&lt;br /&gt;
desc={{Flag_fr}}Librethic est une Société de Services en Informatique et Technologies Libres, tournée vers les entreprises et les associations. Créée en 2017, elle est portée par des professionnels aguerris aux technologies libres et open source. &lt;br /&gt;
L&#039;environnement Dolibarr fait partie du cœur de compétences de Librethic (développement de modules complémentaires, hébergement SaaS, hébergement sur site, passerelle e-commerce).&lt;br /&gt;
{{Flag_en}}&lt;br /&gt;
Librethic is an IT Provider aiming at businesses and organizations, offering services in free/libre and open source software (FLOSS) and open design technologies. &lt;br /&gt;
Founded in 2017, Librethic is driven by libre and open source technologies seasoned professionals. Dolibarr&#039;s environment is one of Librethic&#039;s core skills (Addons and plugins development, SaaS hosting, on-premise hosting, e-commerce gateway).&lt;br /&gt;
web=https:/librethic.io/|&lt;br /&gt;
email=mailto:hello+dolibarr@librethic.io|&lt;br /&gt;
zip=34070|&lt;br /&gt;
town=Montpellier|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=logo-librethic.png&lt;br /&gt;
}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=LOGOTYP|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=Siret 38397720400031|&lt;br /&gt;
desc={{Flag_fr}}Intégration et formation dans l&#039;entreprise. Support, installation, sécurisation et plus.&lt;br /&gt;
&lt;br /&gt;
{{Flag_de}}&lt;br /&gt;
Integration und Schulung für Unternehmen &amp;amp; Mitarbeiter. Support, Installation, Sicherung und mehr.|&lt;br /&gt;
web=http://www.logotyp.fr|&lt;br /&gt;
email=mailto:jacobs@logotyp.fr |&lt;br /&gt;
zip=03200|&lt;br /&gt;
town=Vichy|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=LVS Informatique|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Development Specialist php, mysql. Creation, enhancement, customization of modules and components ...&lt;br /&gt;
Nos modifs/nos modules :&lt;br /&gt;
-cashdesk : prix en ttc, possibilité de modification du prix, du libellé...&lt;br /&gt;
-interfaçage avec GoogleAgenda (toutes les actions apparaissent dans GoogleAgenda)&lt;br /&gt;
-Mails/Télécopies reçus : apparaissent dans un onglet spécifique sur le tiers en question&lt;br /&gt;
-qualification Tiers&lt;br /&gt;
-Adresse Tiers vu dans GoogleMap&lt;br /&gt;
-creation de nbreux template excel/pdf&lt;br /&gt;
|&lt;br /&gt;
web=http://www.lvsinformatique.com|&lt;br /&gt;
email=|&lt;br /&gt;
zip=83860|&lt;br /&gt;
town=NANS LES PINS|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=MEDIALTA|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Installation, configuration de Dolibarr sur nos serveurs, ou dans l&#039;entreprise (Nancy, Metz, Lorraine, Grand Est). Formation, prise en main. Développement de modules sur mesure.|&lt;br /&gt;
web=www.medialta.com|&lt;br /&gt;
email=|&lt;br /&gt;
zip=54340|&lt;br /&gt;
town=Pompey|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Mephivio|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Services company with a computer located in Montpellier agglo, specializing in computer graphics, secretariat, Joomla web sites, client, opensource (Dolibarr, glpi, voip Elastix / Trixbox / PIAF etc ...)|&lt;br /&gt;
web=http://www.mephivio.fr/|&lt;br /&gt;
email=|&lt;br /&gt;
zip=|&lt;br /&gt;
town=|&lt;br /&gt;
country=fr|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=MEZIANT|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=MEZIANT propose aux PME, TPE, artisans, commerçants et associations de l&#039;Ouest son expertise en informatique issue d&#039;une expérience de plus de 15 ans en Audit de Système d&#039;Informations,  Site internet, Formation et Choix de logiciel de gestion (ERP) comme &#039;&#039;&#039;DOLIBARR&#039;&#039;&#039; dont elle peut assurer l’installation, la formation ou encore le développement de modules spécifiques sur site client.&lt;br /&gt;
web=http://www.meziant.fr |&lt;br /&gt;
email=mailto:contact@meziant.fr |&lt;br /&gt;
zip=22940|&lt;br /&gt;
town=PLAINTEL (Bretagne - France)|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Modulaweb : Technologies modulables orientées web.|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Développement d&#039;applicatifs web, hébergement d&#039;applications web, serveurs de fichiers et de sauvegarde, sites internet/intranet et intégration web, espaces clients, communication via internet (VoIP, messagerie instantanée), travail collaboratif. Spécialiste solutions libres pour l&#039;entreprise (Zimbra, Dolibarr, Thaïs...) Région Languedoc-Rouissillon et voisines |&lt;br /&gt;
web=http://www.modulaweb.fr|&lt;br /&gt;
email=http://www.modulaweb.fr/portail/contact/|&lt;br /&gt;
zip=34000|&lt;br /&gt;
town=Montpellier|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Net Logic|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=SIRET: 477 583 264 00023|&lt;br /&gt;
desc=Installation et configuration de l&#039;ERP/CRM Dolibarr sur nos serveurs, ou en local dans votre entreprise. Paramétrage, personnalisation, reporting spécifique, assistance.|&lt;br /&gt;
web=http://www.netlogic.fr/|&lt;br /&gt;
email=info@netlogic.fr|&lt;br /&gt;
zip=93160|&lt;br /&gt;
town=Noisy-le-Grand|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=NORD ERP CRM|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=83184221600010 (SIRET)|&lt;br /&gt;
desc=Intégration, assistance, formation, développements spécifiques et hébergement de solutions Dolibarr. NORD ERP CRM est certifié QUALIOPI ce qui permet la prise en charge des formations par les organismes de financement. Nous nous adaptons à vos spécificités métiers.|&lt;br /&gt;
web=https://www.nord-erp-crm.fr/|&lt;br /&gt;
email=mailto:contact@nord-erp-crm.fr|&lt;br /&gt;
zip=59100|&lt;br /&gt;
town=Roubaix|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=NS-INFO|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=79392284000020(SIRET)|&lt;br /&gt;
desc=Intégration, assistance, formation, développements spécifiques et hébergement de solutions Dolibarr|&lt;br /&gt;
web=https://www.ns-info.fr/|&lt;br /&gt;
email=mailto:contact@ns-info.fr|&lt;br /&gt;
zip=90360|&lt;br /&gt;
town=Lachapelle-sous-rougemont|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=LOGO NS-INFO90.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=NUM&#039;X|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=82465583100017(SIRET)|&lt;br /&gt;
desc=NUM&#039;X est une entreprise de services numériques (ESN) intervenant notamment pour les TPE PME et proposant des services autour du PGI Dolibarr|&lt;br /&gt;
web=https://www.numx-sets.eu/dolibarr.html|&lt;br /&gt;
email=mailto:contact@numx-sets.eu|&lt;br /&gt;
zip=44590|&lt;br /&gt;
town=SION-LES-MINES|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=LOGO numx-sets.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=OAS-SERVICES|&lt;br /&gt;
profid=829767904|&lt;br /&gt;
partner=no|&lt;br /&gt;
desc=&lt;br /&gt;
OAS-SERVICES est une société de service spécialisés dans la mise en place de logiciels libres sous forme de services cloud, notamment de Ma Gestion Cloud (Dolibarr, viger), la mise en place de site internet et boutique en lignes, le développement d&#039;application et de modules en PHP (Dolibarr, Wordpress, Prestashop), mais aussi en Java (JEE, Webservices, JPA), la mise en place de systèmes d&#039;exploitation (linux), la gestion de projet en agilité - Montpellier, Sète|&lt;br /&gt;
web=https://www.ma-gestion-cloud.fr|&lt;br /&gt;
email=[mailto:contact@oas-services.fr?subject=Contact%20from%20Dolibarr%20Suppliers%20France20page contact@oas-services.fr]|&lt;br /&gt;
zip=34200|&lt;br /&gt;
town=SETE|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=logo-oas-services.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=OPEN-DSI|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=SIRET:75130522800015|&lt;br /&gt;
desc=Depuis 2012, nous accompagnons les petites et moyennes structures (1 à 50 salariés) dans la mise en place de solutions basées sur les logiciels libres. Nous proposons Dolibarr pour tous les besoins de gestion.|&lt;br /&gt;
web=https://www.open-dsi.fr|&lt;br /&gt;
email=mailto:infos@open-dsi.fr|&lt;br /&gt;
zip=69,38,01,42|&lt;br /&gt;
town=LYON|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=LOGO-Easya_Solutions-carre.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Opens|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=SIRET:888 706 280 00011|&lt;br /&gt;
desc=Opens est spécialisée dans l&#039;accompagnement Digital, RH et Qualité. Nous croyons que ces trois pôles sont intimement liés et œuvrons pour la souveraineté numérique de nos clients. Nous intervenons principalement dans l&#039;Hérault et l&#039;Occitanie.|&lt;br /&gt;
web=https://solutions.open-s.fr|&lt;br /&gt;
email=mailto:contact@open-s|&lt;br /&gt;
zip=34000|&lt;br /&gt;
town=MONTPELLIER|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_opens_solutions.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Run Innovation|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=SIRET:39217453800059|&lt;br /&gt;
desc=Utilisateur de Dolibarr depuis 2004, Run Innovation est un intégrateur spécialisé dans l’implémentation de l’ERP/CRM Dolibarr en entreprise.|&lt;br /&gt;
web=https://runinnovation.tech|&lt;br /&gt;
email=mailto:contact@runinnovation.tech|&lt;br /&gt;
zip=64100|&lt;br /&gt;
town=Bayonne|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Cabecera-runinnovation-1.0.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=OIS - Open IT Store|&lt;br /&gt;
profid=822 430 419 00017|&lt;br /&gt;
desc=OIS (Open IT Store), We provide opensource instances located in Europe or North America.|&lt;br /&gt;
web=https://openitstore.com/dolibarr|&lt;br /&gt;
email=mailto:contact@openitstore.com|&lt;br /&gt;
zip=|&lt;br /&gt;
town=|&lt;br /&gt;
country=|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=no|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Oscss Shop|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=SIRET:810 421 339 00013|&lt;br /&gt;
desc=Développement de modules sur mesure, interconnexions  et hébergements.|&lt;br /&gt;
web=http://oscss-shop.fr|&lt;br /&gt;
email=mailto:support@oscss-shop.fr|&lt;br /&gt;
zip=28,45,41,72,61,27,75,69,38,01,73,74|&lt;br /&gt;
town=LA LOUPE|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Pascal Sené|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Logiciels libres et photographie.|&lt;br /&gt;
web=http://www.pascalsene.com|&lt;br /&gt;
email=contact@pascalsene.com|&lt;br /&gt;
zip=22,29,35,56|&lt;br /&gt;
town=Lannion|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Patas-Monkey|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Conseil, formation, développement et modules| &lt;br /&gt;
web=http://www.patas-monkey.com|&lt;br /&gt;
email=r.deschamps@patas-monkey.com|&lt;br /&gt;
zip=69,42,38,01,83|&lt;br /&gt;
town=Lyon|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Patasmonkey.jpg&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Pragma-tech|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=842 325 268 00014|&lt;br /&gt;
desc=Intégrateur, Hébergeur et Formateur de Dolibarr pour TPE - PME | &lt;br /&gt;
web=https://www.pragma-tech.fr/ |&lt;br /&gt;
email=contact@pragma-tech.fr|&lt;br /&gt;
zip=|&lt;br /&gt;
town=PAU|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=pragma-tech.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=ProbeSys|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Créée en 2003 par des passionnés du logiciel libre, [http://probesys.com ProbeSys] est une entreprise coopérative à l&#039;image du secteur des nouvelles technologies : dynamique, réactive et participative. |&lt;br /&gt;
web=http://www.probesys.com|&lt;br /&gt;
email=mailto:contact@probesys.com|&lt;br /&gt;
zip=38600|&lt;br /&gt;
town=Fontaine|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=PRODUCTIVIX sarl|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Productivix fourni aux PMI des solutions complètes de traçabilité code-barre / rfid et développe des applications mobiles sur mesure offline (connexions intermitentes) de scan et d&#039;impression mobiles liées à des ERP, elle travaille avec Dolibarr via ses API, paramètre les modules et fourni si nécessaire l&#039;hébergement et les modifications ou création de modules nécessaires dans Dolibarr; Productivix founi les licences mobiles en location, et à l&#039;achat les imprimantes et terminaux durcis avec scanner intégré- développements et installations à distance tous pays|&lt;br /&gt;
web=https://www.productivix.com/mot62.html|&lt;br /&gt;
email=https://www.productivix.com/article239.html|&lt;br /&gt;
zip=38|&lt;br /&gt;
town=Bourgoin-Jallieu|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Pro IP|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Mise en place de solutions ERP comme Dolibarr sur nos serveurs ou dans votre entreprise, assistance et formation|&lt;br /&gt;
web=http://wwww.proip.fr|&lt;br /&gt;
email=mailto:contact@proip.fr|&lt;br /&gt;
zip=62129|&lt;br /&gt;
town=Clarques|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Proxy-Media|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Services Informatiques aux artisans et independants|&lt;br /&gt;
email=mailto:contact@proxy-media.fr|&lt;br /&gt;
zip=17340|&lt;br /&gt;
town=Chatelaillon|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=PTMSoft SARL|&lt;br /&gt;
profid=520 618 646 00019|&lt;br /&gt;
desc=Société de services et de développement logiciel. Installation Dolibarr sur nos serveurs ou dans votre entreprise, assistance et configuration.|&lt;br /&gt;
web=http://www.ptmsoft.fr|&lt;br /&gt;
email=[mailto:contact@ptmsoft.fr?subject=Contact%20de%20la%20page%20Dolibarr%20Suppliers%20France contact@ptmsoft.fr]|&lt;br /&gt;
zip=68890|&lt;br /&gt;
town=Mulhouse, Colmar|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=Logo PTMSoft.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=SIMICAR|&lt;br /&gt;
profid=832 284 616 00014|&lt;br /&gt;
desc=Société de services et de développement logiciel. Faire de Dolibarr Vote Dolibarr.|&lt;br /&gt;
web=http://www.simicar.fr|&lt;br /&gt;
email=[mailto:contact@simicar.fr]|&lt;br /&gt;
zip=29290|&lt;br /&gt;
town=Saint-Renan|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo v2.svg.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Syllene|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=We install and configure the software Dolibarr to suit your needs and train your users. We can also provide hosting and maintenance of your application.|&lt;br /&gt;
web=http://www.syllene.net/|&lt;br /&gt;
email=|&lt;br /&gt;
zip=|&lt;br /&gt;
town=|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Tiaris|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Solutions and services for small businesses and merchants: e-commerce, maintenance, ERP/CRM Dolibarr, development telecommuting. ecommerce - dolibarr webservice based interface. Saas Offer Dolibarr + ecommerce connection for open source caddies (OsCommerce, Zencart, Crelaoded, Prestashop and others...)|&lt;br /&gt;
web=http://www.tiaris.fr/|&lt;br /&gt;
email=http://www.tiaris.fr/spip.php?page=contact|&lt;br /&gt;
zip=57870|&lt;br /&gt;
town=WALSCHEID|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=UTOPSYS -  L&#039;Informatique, Professionnelle.|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Maintenance, dépannage, conseil, audits, Green IT, solutions open-source de travail collaboratif, installation et maintenance Dolibarr. Bordeaux, CUB, Libourne.|&lt;br /&gt;
web=http://www.utopsys.fr|&lt;br /&gt;
email=|&lt;br /&gt;
zip=|&lt;br /&gt;
town=Libourne|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=YON - Your Own Net|&lt;br /&gt;
profid=822 430 419 00017|&lt;br /&gt;
desc=YON (Your Own Net), Fournisseur de solution numérique, Nous sommes spécialisés dans la fourniture de solutions informatiques pour les professionnelles et les particuliers. Nos solutions vont de l’intégration d’outils Open Source et de logiciels libres à l&#039;hébergement de logiciels.|&lt;br /&gt;
web=http://yourownnet.net/|&lt;br /&gt;
email=mailto:contact@yourownnet.net|&lt;br /&gt;
zip=79|&lt;br /&gt;
town=Niort et Grand Ouest|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Weedoo Digital|&lt;br /&gt;
profid=831 555 008 000 18 (SIRET)|&lt;br /&gt;
desc=Weedoo Digital est un fournisseur de solutions cloud et digitales pour entreprises. Nos services s’étendent de l’hébergement CLOUD aux solutions de gestion pour entreprises, en passant par le développement web et le E-marketing.|&lt;br /&gt;
web=https://weedoo.digital/|&lt;br /&gt;
email=https://weedoo.digital/contactez-nous|&lt;br /&gt;
zip=69|&lt;br /&gt;
town=Ain et Rhône-Alpes|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=WEBINFOPRO|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Society Computers and Internet service for small businesses located in the suburbs west of Paris. One of the main activities is the integration of open source software.|&lt;br /&gt;
web=http://www.webinfopro.fr/|&lt;br /&gt;
email=|&lt;br /&gt;
zip=|&lt;br /&gt;
town=|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Z-Application|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Développement personnalisé et assistance à la installation-migration. Support sur site possible dans le département Manche (50).|&lt;br /&gt;
web=https://www.z-application.com/|&lt;br /&gt;
email=|&lt;br /&gt;
zip=50250|&lt;br /&gt;
town=Coutances - Cherbourg - Saint-Lô|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Paulo Oliveira|&lt;br /&gt;
desc=Installation, configuration et personnalisation de dolibarr. Intégration de Dolibarr avec d&#039;autres systèmes. Développement de modules et améliorations de l&#039;interface utilisateur. Je suis le développeur des modules customizeforms, customizeinterface, categorizeall et pixbrasil chez dolistore|&lt;br /&gt;
web=https://empresalivre.com/demo2/|&lt;br /&gt;
zip=90460-160|&lt;br /&gt;
town=Porto Alegre, Rio Grande do Sul|&lt;br /&gt;
email=paulorcdo@gmail.com|&lt;br /&gt;
country=Brazil|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Swendra Willy|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Développeur de modules Dolibarr, intégrateur de solution ERP prêt à l&#039;emploi|&lt;br /&gt;
web=http://www.wdeve.fr|&lt;br /&gt;
email=mailto:hello@wdeve.fr|&lt;br /&gt;
zip=06600|&lt;br /&gt;
town=Antibes|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Bfaliere</name></author>
	</entry>
</feed>