Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cecil, mon générateur de site statique

Cecil, mon générateur de site statique

Retour d'expérience sur la création de mon générateur de site statique.

Avatar for Arnaud Ligny

Arnaud Ligny

November 05, 2019

More Decks by Arnaud Ligny

Other Decks in Technology

Transcript

  1. @ArnaudLigny arnaudligny.fr github.com/Narno Consultant tech Web, Mobile & eCom chez

    ADFAB Contributeur Open Source sur github.com/Narno Avant ? Développeur PHP 4 / ASP 3 Lead Dev Magento 1 Chef de projet tech e-commerce
  2. un générateur de site statique (ou Static Site Generator) une

    application PHP en ligne de commande : cecil.phar
  3. Frank Taillandier : “[...] les gestionnaires de contenu statique [...]

    sont partout et sont devenus le choix de la raison [...]. Leurs usages évoluent et de nouveaux services dédiés viennent enrichir et faciliter l’expérience utilisateur des contributeurs et des développeurs.” https://frank.taillandier.me/2016/03/08/les-gestionnaires-de-contenu-statique/
  4. Plaisir de concevoir et de développer une application Rattraper mon

    “retard” en développement (PHP 5 puis 7) Terrain d’expérimentation sur le sujet des SSG Satisfaction personnelle :-)
  5. protected $steps = [ 'Cecil\Step\ConfigImport', 'Cecil\Step\ContentLoad', 'Cecil\Step\PagesCreate', 'Cecil\Step\PagesConvert', 'Cecil\Step\TaxonomiesCreate', 'Cecil\Step\PagesGenerate',

    'Cecil\Step\MenusCreate', 'Cecil\Step\StaticCopy', 'Cecil\Step\PagesRender', 'Cecil\Step\PagesSave', ]; 'generators' => [ 10 => 'Cecil\Generator\Section', 20 => 'Cecil\Generator\Taxonomy', 30 => 'Cecil\Generator\Homepage', 40 => 'Cecil\Generator\Pagination', 50 => 'Cecil\Generator\Alias', 35 => 'Cecil\Generator\ExternalBody', 36 => 'Cecil\Generator\VirtualPages', 60 => 'Cecil\Generator\Redirect', ], Cycle de vie d’un build Générateurs de pages virtuelles
  6. Travis CI Automatise l’ensemble des traitements StyleCI Vérifie le check

    style + propose une PR Scrutinizer Contrôle la qualité du code
  7. - stage: deploy php: "7.1" if: tag IS present script:

    composer box deploy: # dist files - provider: script script: bash scripts/deploy-dist.sh skip_cleanup: true overwrite: true on: branch: master tags: true
  8. 6 ans de prises de tête... positives ! J’ai énormément

    appris (conception, tech, produit, open-source) Je me sers de mon propre outil (une dizaine de sites) Cecil commence à être utilisé par d’autres (via Netlify et Forestry) Je suis très fier du résultat ! ☺