====== Développement de DokuWiki ====== //Seules quelques pages en français existent dans l'espace de nom ''fr:devel:''. Les pages traduites ou en cours de traduction ont un titre en français pour les différencier d'un coup d’œil des nombreuses pages d'origine (en anglais).// Vous êtes bienvenus pour contribuer à DokuWiki et travailler à son développement. Ce que vous allez proposer dépend avant tout de vous -- à vous de choisir vos propres besoins en premier. Si vous souhaitez quelques idées de développements demandés ou nécessaire, consulter en premier [[fr:bugs|le système de rapport de bogues DokuWiki]] ou [[fr:devel:ideas|Idées de développement]]. Vous pouvez également adopter une extension ou un thème: [[fr:devel:adoption|Adopter une extension ou un thème]]. Commencez par lire le passage [[#Démarrage]]. ===== Démarrage ===== - [[fr:devel:git]] - Obtenir le code source et travailler avec Git((Git est le système de gestion de versions utilisé par DokuWiki.)) - [[fr:devel:github|Travailler avec les Pull Request de Github]] - [[fr:devel:coding_style|Style de programmation]] - [[fr:devel:Composer]] - Configuration de votre éditeur de texte - [[fr:devel:VIM]] - [[fr:devel:IntelliJ Idea]] (ou [[https://www.jetbrains.com/phpstorm/|PhpStorm]]) {{http://​www.jetbrains.com/​img/​logos/​logo_intellij_idea.png?​80&​nolink}} - [[fr:devel:security|Guide de sécurité]] en direction des auteurs d'extensions - Tester avec - [[fr:devel:unittesting|Tests unitaires]] - [[fr:devel:browserstack|BrowserStack]] offre complète de tests pour navigateurs {{browserstack-logo.png?100&nolink}} - [[fr:devel:Patches|Envoyer des correctifs]] - [[fr:devel:debugging|Outils de débogage]] ===== Le manuel du développeur ===== - [[fr:devel:overview|Exploration du code source]], fonctionnement général de mise à disposition d'une page web - [[fr:devel:dirlayout|Arborescence du répertoire]] - [[fr:devel:Environment|Environnement]] - variables globales et constantes * [[fr:devel:request_vars|Accès aux variables de requête]] * [[fr:devel:Session handling|Gestion des sessions]] * [[devel:Preload]] - [[devel:Autoloader]] ​ - [[fr:devel:Callgraph|Graphique d'appel]] - [[devel:Locking]] - [[fr:devel:action_modes|Modes d'action, mode de 'do']] - [[devel:authentication]] - [[devel:caching|Caching facilities]] - [[devel:Parser]] - [[fr:devel:Metadata|Stockage des métadonnées]] - [[devel:fulltextindex|Fulltext Index]] - [[fr:devel:plugins|Développement d'extensions]] - [[devel:Plugin File Structure]] - [[devel:Common Plugin Functions]] - [[fr:devel:action_plugins|Les actions plugins]] * [[fr:devel:events|Système d'événements]] * [[devel:events_list|Events Overview]] * [[devel:event_handlers|Event Handlers]] * Examples of [[devel:event handlers code]] - [[fr:devel:syntax_plugins|Syntaxe des extensions]] - [[devel:Helper Plugins]] - [[devel:Renderer Plugins]] - [[devel:Admin Plugins]] - [[devel:Remote Plugins]] - [[fr:devel:auth_plugins|Extensions d'authentification]] - [[devel:CLI Plugins]] - [[fr:devel:unittesting#tests_des_greffons_et_des_themes|Test unitaires des extensions]] - [[devel:toolbar|The Toolbar]] - [[fr:devel:plugin_programming_tips|Astuce de programmation]] - [[fr:devel:Templates|Développement de thèmes]] - [[template:Starter]] template - Construction de blocs de base pour un nouveau thème - [[devel:style.ini|style.ini]] - CSS: charger des styles et configurer des variables - [[fr:devel:Configuration]] - [[devel:Localization]] - [[devel:CSS]] - [[fr:devel:less|Support du préprocesseur CSS : LESS]] - [[devel:JavaScript]] (jQuery, jQueryUI) - [[devel:jqueryfaq]] - Internal Libraries - [[devel:utf-8|UTF-8 String handling]] - [[fr:devel:request_vars|Traitement des variables de la requête (GET/POST)]] - [[devel:mail|E-Mail Sending]] - [[devel:httpclient|HTTP Client Library]] - [[devel:simplepie|RSS Parser]] - [[devel:json|JSON Parser/Writer]] - [[devel:form|Forms]] - Composer Libraries - [[devel:geshi|GeSHi Syntax Highlighting]] - [[devel:phparchive|Zip and Tgz Compression/​Decompression]] - [[devel:Remote API]] - [[devel:XMLRPC|XML-RPC]] - [[devel:JSONRPC|JSON-RPC]] - Pour aller plus loin - [[https://codesearch.dokuwiki.org/xref/dokuwiki/|La référence de l'API]]((Reconstruite quotidiennement.)) - [[fr:devel:snapshots|Instantanés (version de développement)]] - [[devel:releases]] - [[https://github.com/splitbrain/dokuwiki|Interface web de Git]] pour naviguer dans le code source et les patches - [[https://www.openhub.net/p/dokuwiki/contributors|Hall of Fame]] - tous les contributeurs DokuWiki ===== Guide pour l'équipe de développement ===== - [[devel:coredevs|How to become a Core Developer]] - [[devel:release_process]] ===== Idées et remue-méninges ===== * Prévoir un audit de sécurité externe: [[devel:Security Audit]] * [[fr:devel:Ideas]]: des idées qui pourraient être codées par des (nouveaux) contributeurs * Un réflexion sur des changements profonds dans les thèmes: [[devel:Template changes]] * [[devel:Refactoring]]: travail sur la refonte du code existant * [[devel:Farm]]: des nouvelles idées sur [[fr:tips:farm|Les fermes de wiki avec DokuWiki]] * Des remarques sur la consommation de mémoire: [[devel:Memory footprint reduction]] * Des remarques sur la montée en charge [[devel:scalability]] et [[devel:scalability_proposal]] * Un remue-méninge pour trouver un slogan à dokuwiki.org: [[devel:Tagline]]