{"id":13820563,"url":"https://github.com/php/doc-fr","last_synced_at":"2025-04-12T15:34:30.198Z","repository":{"id":37857870,"uuid":"324774751","full_name":"php/doc-fr","owner":"php","description":"French translation of the PHP documentation","archived":false,"fork":false,"pushed_at":"2025-04-10T11:52:56.000Z","size":58110,"stargazers_count":51,"open_issues_count":5,"forks_count":157,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-04-10T12:57:57.780Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/php.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"security/apache.xml","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-27T14:05:34.000Z","updated_at":"2025-04-10T11:53:00.000Z","dependencies_parsed_at":"2023-09-27T03:25:13.954Z","dependency_job_id":"443eb4bb-6f4d-4126-8498-d8e3086bf1a8","html_url":"https://github.com/php/doc-fr","commit_stats":{"total_commits":12594,"total_committers":202,"mean_commits":62.34653465346535,"dds":0.6376052088296014,"last_synced_commit":"84fc8db1baf8d0b649f7b1c33ed3bc2b6d753237"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/php%2Fdoc-fr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/php%2Fdoc-fr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/php%2Fdoc-fr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/php%2Fdoc-fr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/php","download_url":"https://codeload.github.com/php/doc-fr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248298930,"owners_count":21080434,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-04T08:01:05.360Z","updated_at":"2025-04-12T15:34:26.153Z","avatar_url":"https://github.com/php.png","language":"HTML","readme":"# Documentation française de PHP\n\nCe document a pour but d'expliquer comment participer à la rédaction de la\ndocumentation française de PHP.\n\nSi vous voulez lire la documentation et non la rédiger aller voir le site PHP.net :\nhttps://www.php.net/manual/fr/\n\nDe plus, si une erreur est présente dans la documentation vérifiez qu'elle ne se\ntrouve pas non plus dans la documentation anglaise, si oui corrigez celle-ci d'abord.\nLa traduction française suivra la modification faite dans la documentation anglaise.\n\n# Sommaire\n\n 1. Installation\n 2. Construire la documentation\n 3. Revision Tracking\n 4. Coding Standard\n 5. Traduction, relectures et orthographe\n 6. Workflow git\n 7. Commandes utiles\n\n\n## 1: Installation\n\nPour construire la documentation il faut posséder à minima les trois repository suivant :\n - ``php/doc-base`` : qui possède les outils pour construire la documentation\n   trouvée sur ``github.com`` : https://github.com/php/doc-base\n - ``php/doc-en`` : la version anglaise de la documentation sur laquelle se rabattre quand\n   la version française est inexistante pour une page : https://github.com/php/doc-en\n - ``php/doc-fr`` : la version française de la documentation : https://github.com/php/doc-fr\n\n\u003e Note : vous pouvez cloner à partir du miroir GitHub, mais le dossier où se situe la\n\u003e documentation anglaise *doit* être nommé ``en`` et celui de la documentation française\n\u003e *doit* être nommé ``fr`` afin de pouvoir construire la documentation.\n\n## 2: Construire la documentation\n\nIl est important de savoir construire la documentation pour s'assurer que les changements effectués\nne cassent pas le build, ce qui empêchera la publication de la dernière version de celle-ci sur php.net.\n\nEn s'imaginant qu'on se situe dans le dossier ``fr`` dans la structure de dossier suivante :\n\n```\n|\n|- base\n|- en\n|- fr\n |- ...\n```\n\nIl suffit d'exécuter ``php ../base/configure.php --with-lang=fr``\n\nSi tout ce passe bien vous serez accueillis avec le message suivant :\n\n```\nAll good. Saving .manual.xml... done.\nAll you have to do now is run 'phd -d /home/user/Dev/php-docs/base/.manual.xml'\nIf the script hangs here, you can abort with ^C.\n         _ _..._ __\n        \\)`    (` /\n         /      `\\\n        |  d  b   |\n        =\\  Y    =/--..-=\"````\"-.\n          '.=__.-'               `\\\n             o/                 /\\ \\\n              |                 | \\ \\   / )\n               \\    .--\"\"`\\    \u003c   \\ '-' /\n              //   |      ||    \\   '---'\n         jgs ((,,_/      ((,,___/\n\n (Run `nice php configure.php` next time!)\n```\n\nSinon, vous avez une erreur XML Docbook qu'il faut corriger avant.\n\n\n## 3: Revision Tracking\n\nPour s'assurer que la traduction française soit à jour avec la documentation anglaise,\nun système de `rev-check` existe.\n\nCeci ce manifeste par le commentaire suivant en haut de chaque fichier XML :\n```xml\n\u003c!-- EN-Revision: git-hash Maintainer: XXXX Status: YYYYY --\u003e\n```\n\nLors de la mise à jour d'un fichier pour répliquer les changements effectués sur la version\nanglaise il est primordial de mettre à jour la clé de hachage `git-hash` du commit anglais.\n\nLe statut du rev-check peut actuellement être consulté sur le site des outils de la documentation\nde PHP : http://doc.php.net/revcheck.php?p=filesummary\u0026lang=fr\n\nPour voir les fichiers qui doivent être mise à jour, allez sur le lien \"Outdated Files\" qui\namène à : http://doc.php.net/revcheck.php?p=files\u0026lang=fr\n\n\u003e Normalement le rev-check se trouve sur le site https://doc.php.net, mais à cause de la\n\u003e migration récente de la documentation de SVN à git il se trouve là-bas actuellement.\n\n## 4: Coding style\n### Fichier XML\n\nLe pas à respecter pour l'indentation est de 1.\nLe caractère d'indentation est l'espace ` ` (aucune tabulation n'est admise dans les fichiers `.xml`).\nExemple :\n```xml\n\u003cnote\u003e\n_\u003cpara\u003e\n__\u003cexample\u003e\n___\u003ctitle\u003e\n___\u003c/title\u003e\n__\u003c/example\u003e\n_\u003c/para\u003e\n\u003c/note\u003e\n```\n\nDe plus la soft-limit du nombre de caractères par ligne est de 80.\n\n### Exemple PHP\nOfficiellement le groupe de documentation PHP a choisi d'utiliser les coding standards de PEAR,\nvous les trouverez ici : http://pear.php.net/manual/en/standards.php\n\n\u003e En pratique néanmoins le coding style est un mélange entre PEAR et PSR-2/12,\n\u003e essayez donc de suivre le style dans lequel la page a été écrite, ou celui de la documentation anglaise.\n\nLe code source PHP commence à la colonne zéro de l'exemple :\n```php\n\u003c?php\nca_commence_ici(); // bien\n  ca_commence_ici(); // pas bien\n?\u003e\n```\n\nOn notera aussi qu'on privilégie les `echo` à `print` (`echo` sans parenthèses).\nTout le code est censé être compatible avec `error_reporting(E_ALL)`\n\n## 5: Traduction, relectures et orthographe\n\nAfin d'avoir un manuel en bon français, la traduction de certains termes techniques\nse trouve dans le document ``TRADUCTIONS.txt``.\n\nIl est aussi nécessaire de relire la traduction pour s'assurer que le texte\ntraduit ait du sens et soit en accordance avec le texte anglais.\n\nAprès la relecture d'une traduction le tag/commentaire suivant\n``\u003c!-- Reviewed: no/yes --\u003e`` doit avoir la valeur `yes`.\nLors d'une modification d'un fichier relu ce tag doit passer à la valeur ``no``,\nsauf lors de modifications mineures/changements purement XML (e.g. changement d'un élément\n`\u003cmethodsynopsis\u003e`).\n\n### Traduire une nouvelle page\n\nLa traduction d'une nouvelle page anglaise en français est relativement simple:\n1. Copier le fichier à traduire\n2. Coller-le au même emplacement, mais dans votre dossier ``fr``\n3. Ajouter le commentaire de revision tracking avec la clé de hachage `git-hash` de la\nversion du fichier anglais que vous venez de copier\n\nLa clé de hachage `git-hash` permet de s'assurer que le fichier soit bien à jour après\nque la traduction soit faite.\n\nIl est à noter que le fichier doit être *entièrement* (modulo les exemples) traduit\navant d'être ajouté au repo git officiel.\n\n## 6: Workflow git\n\nEssayez (dans la mesure du possible) de commiter répertoire par répertoire,\nou dans ``reference/`` extension par extension.\n\nPour les messages de logs des commits, on essayera de :\n - faire des messages en anglais (au cas où un non-francophone a besoin de comprendre les modifications)\n - faire des messages explicites (ne pas mettre \"typo\" quand on rajoute du texte...)\n\n### Utilisateur lambda\n\nPour proposer une modification vous devez passer par une pull request contre le miroir GitHub\n`doc-fr`, pour cela faire un fork du repository `doc-fr` de GitHub, créer une nouvelle branche\n(feature branch), faire vos modifications, committer, puis `git push` la branche sur votre fork\nafin d'ouvrir une pull request.\n\nSi des remarques sont faites sur votre pull request suivez-les.\n\nEn cas de conflit avec votre branche et la branche ``master``, il est préférable de faire\nun ``git rebase`` de votre branche sur ``master`` au lieu de ``git merge`` la branche ``master``\ndans la vôtre.\n\n### Utilisateur ayant un accès VCS (c.à.d un compte @php.net, avec du karma sur doc-fr)\n\nIl n'est pas nécessaire de passer par une pull request. Vous pouvez commit et\npush directement sur la branche ``master`` du repo doc-fr sur https://github.com.\n\nÉviter les \"merge commit\" et préférez un ``git rebase`` suivi d'un merge fast-forward.\n\nNe créer et pusher pas des branches différentes de ``master`` sur le repo git officiel.\n\n\n## 7: Commandes utiles\n\n### Tester syntaxiquement tous les exemples dans le dossier `reference` :\n\nIci, on va lancer une analyse syntaxique de tous les fichiers dans\nles répertoires \"functions\" de fr/reference/. La technique est simple,\non configure short_open_tag à Off en ligne de commande pour que PHP n'analyse\nque les exemples commençants par `\u003c?php`, puis on lance la moulinette :\n\n```shell\ncd reference\nfor i in $(find -name *.xml); do php -d \"short_open_tag=Off\" -l $i; done \u003e syntax.txt\ncat syntax.txt | grep -B1 Errors\n```\n","funding_links":[],"categories":["HTML"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphp%2Fdoc-fr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphp%2Fdoc-fr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphp%2Fdoc-fr/lists"}