Commit 0ae802f2 authored by Guillaume Perréal's avatar Guillaume Perréal
Browse files

Edition de la doc.

No related merge requests found
Showing with 79 additions and 32 deletions
+79 -32
## Remplacer `README.md`
Y décrire comment utiliser le package...
......@@ -9,12 +8,60 @@ Et adapter le contenu des fichiers `LICENSE`, `.docheader`.
## Editer `composer.json`
* Editer les métadonnées : `name`, `description`, `type`, `license`.
* Supprimer/remplacer les scripts `post-install-cmd`, `post-update-cmd` et `customize-reminder`.
* Corriger les namespaces des sections `autoload` et `autoload-dev`.
#### Editer les métadonnées
Ce sont les champs `name`, `description`, `type` et `license`.
#### Supprimer les scripts du squelette
Ce sont les scripts `post-install-cmd`, `post-update-cmd` et `customize-reminder`.
#### Corriger les namespaces
Ils sont dans les sections `autoload` et `autoload-dev`. Ce sont par défaut `Irstea\MyProject` et `Irstea\MyProject\Tests`, ce qui a peu de chance de correspondre au nouveau projet.
#### Fixer les contraintes de version
## Supprimer les fichiers modèles
Elle sont dans les sections `require` et `require-dev`. Il faut remplacer `"*"` par des contraintes de version de type `"^x.y"`.
**Si vous ne le faites pas, vous risquez une mauvaise surprise lors d'un `composer update`.**
_Nota bene_: `roave/security-advisories` doit toujours être sur `dev-master`.
La commande `composer show --direct` permet de lister les versions installées.
##### Exemple
```shell
rm src/*.php tests/*.php CUSTOMIZATION.md
$ composer show --direct
beberlei/assert v3.2.0 Thin assertion library for input validation in business models.
irstea/php-cs-fixer-config 1.0.1 Jeux de règles pour php-cs-fixer.
irstea/phpmd-config 1.0.0 Jeux de règles pour PHP Mess Detector.
irstea/phpstan-config 1.0.3 Configuration par défaut pour phpstan/phpstan.
jakub-onderka/php-parallel-lint v1.0.0 This tool check syntax of PHP files about 20x faster than serial check.
maglnet/composer-require-checker 2.0.0 CLI tool to analyze composer dependencies and verify that no unknown symbols are used in the sources of a package
phploc/phploc 5.0.0 A tool for quickly measuring the size of a PHP project.
phpunit/phpunit 8.1.2 The PHP Unit Testing framework.
roave/security-advisories dev-master a011222 Prevents installation of composer packages with known security vulnerabilities: no API, simply require it
sebastian/phpcpd 4.1.0 Copy/Paste Detector (CPD) for PHP code.
sensiolabs/security-checker v5.0.3 A security checker for your composer.lock
```
```json
{
"require": {
"beberlei/assert": "^3.2"
},
"require-dev": {
"irstea/php-cs-fixer-config": "^1.0",
"irstea/phpmd-config": "^1.0",
"irstea/phpstan-config": "^1.0",
"jakub-onderka/php-parallel-lint": "^1.0",
"maglnet/composer-require-checker": "^2.0",
"phploc/phploc": "^5.0",
"phpunit/phpunit": "^8.1",
"sebastian/phpcpd": "^4.1",
"sensiolabs/security-checker": "^6.0"
}
}
```
......@@ -6,43 +6,43 @@ Il peut être utilisé directement avec composer :
composer create-project irstea/php-skeleton my-package-directory
Une fois le projet crée, il y a encore quelques étapes *indispensables$ à suivre pour terminer l'initialisation, cf. [CUSTOMIZATION.md](CUSTOMIZATION.md).
Une fois le projet crée, il y a encore quelques étapes \*indispensables\$ à suivre pour terminer l'initialisation, cf. [CUSTOMIZATION.md](CUSTOMIZATION.md).
## Ce qu'il contient
* un squelette d'organisation des sources ([`src/`](src) et [`tests/`](tests)),
- un squelette d'organisation des sources ([`src/`](src) et [`tests/`](tests)),
* un [`composer.json`](composer.json) qui inclut les outils suivants:
- un [`composer.json`](composer.json) qui inclut les outils suivants:
* composer-require-checker
* php-cs-fixer (via irstea/php-cs-fixer-config)
* php-parallel-lint
* phpcpd
* phploc
* phpmd (via irstea/phpmd-config)
* phpstan (via irstea/phpstan-config)
* phpunit
* security-checker
- composer-require-checker
- php-cs-fixer (via irstea/php-cs-fixer-config)
- php-parallel-lint
- phpcpd
- phploc
- phpmd (via irstea/phpmd-config)
- phpstan (via irstea/phpstan-config)
- phpunit
- security-checker
* une préconfiguration pour les outils suivants:
- une préconfiguration pour les outils suivants:
* [editorconfig](.editorconfg)
* [php-cs-fixer](.php_cs.dist)
* [phpmd](phpmd-ruleset.xml)
* [phpstan](phpstan.neon)
* [phpunit](phpunit.xml)
- [editorconfig](.editorconfg)
- [php-cs-fixer](.php_cs.dist)
- [phpmd](phpmd-ruleset.xml)
- [phpstan](phpstan.neon)
- [phpunit](phpunit.xml)
* un [`.gitlab-ci.yml`](.gitlab-ci.yml) qui utilise les outils précédemment cité.
- un [`.gitlab-ci.yml`](.gitlab-ci.yml) qui utilise les outils précédemment cité.
## Ce qu'il ne contient pas
* Un squelette d'application Symfony :
- Un squelette d'application Symfony :
* Tous les packages ne sont pas des applications Symfony.
* Les nouvelles versions de Symfony sortent trop rapidement pour espérer suivre.
* Pour les nouveaux projets Symfony, il faut utiliser `symfony/flex` de toute façon.
- Tous les packages ne sont pas des applications Symfony.
- Les nouvelles versions de Symfony sortent trop rapidement pour espérer suivre.
- Pour les nouveaux projets Symfony, il faut utiliser `symfony/flex` de toute façon.
* Un squelette pour docker-composer :
- Un squelette pour docker-composer :
* Tous les packages n'en ont pas besoin.
* C'est très dépendant des applications.
- Tous les packages n'en ont pas besoin.
- C'est très dépendant des applications.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment