Il s’agit de la deuxième partie d’un tutoriel, je vous conseille de commencer par la première partie.
Mise sur Github
Nous allons tout d’abord devoir héberger notre projet sur Github. Ceci nous permettra de rendre accessible notre projet à quiconque et gratuitement. De plus Github contient un service spécialisé pour Packagist que nous verrons plus tard.
Il faut donc avoir un compte sur Github, créez en vous un si ce n’est pas le cas : https://github.com
Ensuite, pour créer votre nouveau dépôt :
- Appuyez sur le + en haut à droite, puis « new repository »
- Ensuite, choisissez un nom, une description et laissez coché « public ». le nom ici n’aura aucune incidence sur votre package, même si il est conseillé de s’en rapprocher le plus possible.
Vous avez votre dépôt sur Github, il faut maintenant mettre votre projet dessus.
Il nous faut donc Git, qui contient toutes les commandes pour utiliser Git, outil utilisé pour Github : http://git-scm.com/downloads
Une fois installé, vous devrez utiliser le terminal et suivre ces commandes :
git init
git add .
git commit -m "first commit"
git remote add origin git@github.com:pseudo/packageName.git
git push -u origin master
git init permet de créer un repository en local
git add ajoute tous les fichiers à ce repository
git commit permet de créer une action pour mettre à jour le serveur des sources (ici Github)
git remote permet d’associer le repository local à celui sur votre compte Github. Ici, n’oubliez pas de changer le pseudo par le votre et packageName par le nom réel de votre repository.
git push permet d’envoyer le commit
Votre projet et maintenant disponible pour tous sur internet ! N’hésitez pas à en apprendre d’avantage sur Git et Github qui sont de formidables outils et services !
Mise sur Packagist
Maintenant que votre projet est hébergé sur Github, nous allons pouvoir le mettre sur Packagist
Allons sur https://packagist.org/packages/submit pour soumettre notre package. Il vous faudra auparavant avoir un compte qui se créer très rapidement.
Ensuite, il vous faut mettre le lien (copier le de la barre d’adresse de votre navigateur) de votre repository Github :
Une fois fait, appuyez sur Check, et votre projet sera répertorié !
Mais nous n’allons pas nous arrêter là. En effet, un projet Github est fait pour être mise à jour de manière régulière, or packagist ne se met pas à jour automatiquement, du moins, pas sans quelques configurations.
Une fois votre projet sur Packagist, nous allons utiliser un service de Github pour permettre la mise a jour du package sur Packagist de manière automatique pour chaque commit sur Github.
- Pour cela, allez sur votre compte : https://packagist.org/profile/ et cliquez sur « Show API Token » car nous en aurons besoin.
- Ensuite allez sur la page de votre projet Github, allez sur setting dans le menu a droite, puis dans « Webhooks & Services », et enfin « configure services »
- Selectionnez « packagist » dans la liste puis rentrez les informations :
User : c’est votre compte sur packagist.org
Token : c’est la API Token décrite juste avant
Domain : mettre http://packagist.org/
- Et cliquez sur « active »
- Puis sur « Update settings »
Votre configuration sera active entre 10 minutes et une heure après.
Votre projet est maintenant un package qui peut être utilisé avec composer et qui peut être maintenu et diffusé grâce à Github.
Testons !
Il nous faut d’abord composer : https://getcomposer.org/download/
Pour savoir si notre projet marche nous pouvons le tester très rapidement grâce à une ligne de commande :
composer create-project -s dev
pseudo
/
packageName
my-project
Cette ligne avec create-project
permet avec composer de faire comme un checkout d’un projet SVN mais via composer sur packagist.
create-project
définit le chemin de dossier ou sera créé votre projet.
Si votre projet s’est bien créé, alors vous avez réussi !
Pour plus d’informations n’hésitez pas à consulter les sites et la documentation de tous les sites avec lesquels nous avons travaillé aujourd’hui :