Code source du site Putain de Code. Contient tout le nécessaire pour faire fonctionner le site. Pas de base de données à installer, pas de serveurs à configurer.
$ git clone https://github.com/putaindecode/website.git
$ cd website
$ npm run init
$ npm install
$ npm start
Les articles peuvent être postés ici sous forme de PR une fois qu'on est OK dans une issue du repo de proposition de posts (afin de pas polluer les issues techniques du site). Si vous souhaitez voir un post écrit, ou même en écrire un, faites un tour là bas ;)
Pour contribuer au site, n'hésitez pas, en plus de lire la partie technique ci-dessous, à lire le fichier spécifique CONTRIBUTING.md
Notice: Faites attention à la configuration de vos éditeurs de texte et IDE.
Nous utilisons .editorconfig
pour garder une cohérence.
Respectez cela (il vous suffit d'aller sur le site editorconfig.org/
pour télécharger le plugin adéquat pour votre éditeur.
Ce site utilise gulp, il vous est donc conseillé de jeter un coup d'oeil au README de gulp avant d'intervenir sur le projet ;).
$ git clone https://github.com/putaindecode/website.git
$ cd website
$ npm run init
$ npm install
Lorsque vous n'avez pas travaillé sur le site depuis un petit moment, on vous conseille d'exécuter les commandes suivantes :
$ git pull
$ npm install
Si vous rencontrez des erreurs lors du git pull
(par ex. pour une histoire de
fichiers modifiés non commités), vous pouvez juste avant faire
un petit
$ git reset --hard
Note: cela supprimera toutes vos modifications locales sans avertissement, à
faire avec précaution.
Préférez git stash
si vous souhaitez conserver vos modifications.
$ npm start
Oui oui, c'est tout, vous devriez avoir le site web qui s'ouvre tout seul dans votre navigateur. Si ce n'est pas le cas, et que vous n'avez pas d'erreurs dans votre console, rendez-vous à l'adresse suivante: http://localhost:4242.
La commande suivante (lorsque vous avez les droits nécessaires) va construire le site
en version optimisée, et le publier (mise à jour de la branche gh-pages
, qui,
grâce à GitHub, suffit à mettre en ligne le site).
$ npm run publish
Cela dit (toujours si vous avez les droits nécessaires), vous pouvez enregistrer un token encrypté par Travis afin d'automatiser le publish de vos commits dans la branch master.
Note: pour commiter sans provoquer un publish, il suffit d'ajouter [ci skip]
dans votre message de commit.
Vous pouvez soit passer par l'interface GitHub pour ajouter un token, soit faire les commandes suivantes (remplacez YOUR_GITHUB_USERNAME)
$ GH_USERNAME=YOUR_GITHUB_USERNAME
$ GH_BRANCH=gh-pages
$ curl -u $GH_USERNAME -d "{\"scopes\":[\"public_repo\"],\"note\":\"push to $GH_BRANCH from travis\"}" https://api.github.com/authorizations
Votre mot de passe GitHub va vous être demandé. Ensuite vous aurez un résultat du genre
{
"id": 123456,
"url": "https://api.github.com/authorizations/8955171",
"app": {
"name": "push to gh-pages from travis (API)",
"url": "https://developer.github.com/v3/oauth_authorizations/",
"client_id": "00000000000000000000"
},
"token": "YOUR_AWESOME_TOKEN",
"note": "push to gh-pages from travis",
"note_url": null,
"created_at": "2014-05-29T03:55:28Z",
"updated_at": "2014-05-29T03:55:28Z",
"scopes": [
"public_repo"
]
}
Ensuite (remplacez YOUR_AWESOME_TOKEN par celui présent dans le résultat ci-dessus)
$ GH_REPOSITORY="putaindecode/website"
$ GH_TOKEN=YOUR_AWESOME_TOKEN
Maintenant il reste à encrypter ce token. Vous avez 2 possibilités:
- soit installer la gem ruby
travis
(qui embarque la commandeencrypt
) - soit installer le paquet node
travis-encrypt
$ gem install travis
$ travis encrypt -r $GH_REPOSITORY GH_TOKEN=$GH_TOKEN
$ npm i -g travis-encrypt
$ travis-encrypt -r $GH_REPOSITORY -k GH_TOKEN -v $GH_TOKEN
Vous n'avez plus qu'à incorporer votre token après les autes dans la section
env.global
du .travis.yml
(mettez votre pseudo avant éventuellement,
plus pratique si maj du token nécessaire).
Installez icoutils. Par exemple sur OS X :
$ brew install icoutils
ou
$ npm run init-osx
Ensuite utilisez la commande suivante
$ npm run favicon
Remerciements à toutes les personnes impliquées dans cette discussion putaindecode/organisation/issues/4. Remerciement spécial à @bloodyowl pour le logo initial.