Giter Club home page Giter Club logo

zenika-formation-framework's Introduction

Zenika Formation Framework

Utilisé par toutes nos formations, comme sur le Modèle

Contenu

  • README.md => ce fichier
  • package.json => la carte d'identité du package pour npm
  • Gruntfile.js => le fichier de build utilisé par grunt (son contenu est détaillé dans la suite)
  • index.html => le template des slides (voir section dédiée)
  • styleCahierExercice.css => le fichier de style pour le cahier de TP
  • reveal => le repertoire contenant reveal.js customisé pour les formations
  • deploy.js => script gérant le déploiement sur AppEngine
  • ic.js => script gérant la création du job CircleCI

Principes

Le framework des formations est un package npm à part entière. Il est importé dans les formations via npm.

  "dependencies": {
    "grunt": "^0.4.5",
    "zenika-formation-framework": "X.Y.Z"
  }

Slides

Le framework utilisé pour les slides est Reveal.js. Il a été customisé pour les besoins des formations Zenika.

Le code de Reveal, ainsi que le thème utilisé, se trouve dans le framework de formation. Le contenu des slides, spécifique à chaque formation se trouve dans le repository dédié de chacune des formations utilisant le framework. Ainsi, chaque formation peut choisir la version du framework qu'elle souhaite utiliser, et les modifications de thème peuvent facilement être prises en compte dans chaque formation via npm.

Architecture

Pour une formation F donnée, le framework se trouve dans le répertoire ./node_modules/zenika-formation-framework/, le contenu des slides dans ./Slides/. Le serveur utilise 2 baseDir qui sont ./node_modules/zenika-formation-framework/, puis ./Slides/. Ainsi, il est possible d'utiliser des ressources dans le contenu des slides (dans les fichiers ./Slides/*.md) avec un chemin relatif simple.

La configuration du serveur est faite dans ./node_modules/zenika-formation-framework/Gruntfile.js.

La configuration de reveal est faite dans ./node_modules/zenika-formation-framework/reveal/run.js.

Le thème est défini dans ./node_modules/zenika-formation-framework/reveal/theme-zenika.

Cahier d'Exercices de TP

Les exercices de TP sont écrits également en markdown, puis convertis en PDF grâce à markdown-pdf.

Le contenu du cahier de TP doit se trouver dans ./CahierExercices/Cahier.md, ou dans plusieurs fichiers .md distincts. Dans ce dernier cas, un fichier parts.json doit indexer les fichier .md sur le même principe que pour les slides. Le fichier de style utilisé est ./node_modules/zenika-formation-framework/styleCahierExercice.css

Commandes et utilisation

deploy.js

Permet d'installer et d'utiliser l'outil gcloud de Google pour déployer sur AppEngine un projet statique. Nécessite 2 variables d'environnement:

GAE_SERVICE_ACCOUNT=email de service
GAE_KEY_FILE_CONTENT=clé au format json

ic.js

Permet d'initialiser un projet CircleCI à partir d'un repository GitHub. Nécessite 3 variables d'environnement:

CIRCLE_TOKEN=token circle
GAE_SERVICE_ACCOUNT=email de service
GAE_KEY_FILE_CONTENT=clé au format json

Pour les valeurs, aller sur la documentation de CircleCI sur l'API et l'authentification avec Google

Possibilité de surcharger le nom du projet:

$./ic.js formation-pwa
👷 Welcome jlandure
🚧 Project formation-pwa created
🔧 Env variables set!
💚 All is done! Wait for a green deployment

Intégration Slack Non disponible en API

De base, tous les builds sont repertoriés sur Slack dans le channel #ic-formation. Pour cela, aller dans CircleCI > Settings du projet > Chat Notifications et indiquer dans le panel Slack https://hooks.slack.com/services/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

NB: Url directe pour le paramétrage https://circleci.com/gh/Zenika/formation-pwa/edit#hooks

Troobleshooting

Dans le wiki

zenika-formation-framework's People

Contributors

agouriou avatar fberthelot avatar ggaulard avatar ggerbaud avatar gmembre-zenika avatar hgwood avatar jlandure avatar l0rd avatar ldez avatar sebbrousse avatar tienslebienz avatar vdemeester avatar zigarn avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.