<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://www.wiki.leomartin.net/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://www.wiki.leomartin.net/feed.php">
        <title>DokuWiki wwwgjs</title>
        <description></description>
        <link>https://www.wiki.leomartin.net/</link>
        <image rdf:resource="https://www.wiki.leomartin.net/lib/tpl/dokuwiki/images/favicon.ico" />
       <dc:date>2026-04-10T19:18:24+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=wwwgjs:adding_task_options_and_defaults&amp;rev=1459240599&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=wwwgjs:automating_our_workflow&amp;rev=1459719475&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=wwwgjs:combining_bower_scripts_and_css&amp;rev=1459246994&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=wwwgjs:creating_your_first_grunt_task&amp;rev=1459239088&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=wwwgjs:exploring_our_workflow&amp;rev=1459709959&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=wwwgjs:integrating_bower_into_our_workflow&amp;rev=1459246040&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=wwwgjs:next_steps&amp;rev=1459247163&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=wwwgjs:preparing_our_project&amp;rev=1459238304&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=wwwgjs:processing_sass_files&amp;rev=1459246682&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=wwwgjs:reloading_our_pages&amp;rev=1459244901&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=wwwgjs:working_with_bower&amp;rev=1459245298&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://www.wiki.leomartin.net/lib/tpl/dokuwiki/images/favicon.ico">
        <title>DokuWiki</title>
        <link>https://www.wiki.leomartin.net/</link>
        <url>https://www.wiki.leomartin.net/lib/tpl/dokuwiki/images/favicon.ico</url>
    </image>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=wwwgjs:adding_task_options_and_defaults&amp;rev=1459240599&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-29T10:36:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wwwgjs:adding_task_options_and_defaults</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=wwwgjs:adding_task_options_and_defaults&amp;rev=1459240599&amp;do=diff</link>
        <description>&lt;- Creating your first Grunt taskProcessing Sass files -&gt;
-&gt; &lt;http://gruntjs.com/plugins&gt;

-&gt; référence les plugins et donne les infos de configuration et options possibles.


module.exports = function(grunt) {
  grunt.initConfig({}
  
    concat: {
      options: {
        separator: '\n\n-----\n',
        banner: '\n\n-----\n',
      },
      dist : { // dist peut être appelé autrement
        src: ['components/scripts/*.js'], // version non ordonnée
        // src: ['zulu.js', 'alpha.js', 'li…</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=wwwgjs:automating_our_workflow&amp;rev=1459719475&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-04-03T23:37:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wwwgjs:automating_our_workflow</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=wwwgjs:automating_our_workflow&amp;rev=1459719475&amp;do=diff</link>
        <description>&lt;- Processing Sass filesReloading our pages -&gt;
-&gt; grunt watches

-&gt; grunt contrib-watch (quand y'a contrib devant un plugin -&gt; grunt team)

&lt;npm install grunt-contrib-watch --save-dev

-&gt; Bonne habitude : aller dans le get started du plugin et just pécho le code associé.


(...)
  watch:{
    options: {
      spawn: false,
    },
    script: {
      files: ['builds/development/**/*.html',
      'components/scripts/**/*.html',
      'components/sass/**/*.scss'], // les fichiers a surveiller
     …</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=wwwgjs:combining_bower_scripts_and_css&amp;rev=1459246994&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-29T12:23:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wwwgjs:combining_bower_scripts_and_css</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=wwwgjs:combining_bower_scripts_and_css&amp;rev=1459246994&amp;do=diff</link>
        <description>&lt;- Integrating Bower into our workflowNext Steps -&gt;
-&gt; grunt-bower-concat

npm install grunt-bower-concat --save-dev


// gruntfile.js
(...)
//nouvelle tâche
  bower_concat {
    all: {
      dest: 'builds/developments/js/_bower.js',
      cssDest: 'builds/development/css/_bower.css',
    },
  }
(...)
grunt.loadNpmTasks('grunt-bower-concat');

grunt.registerTask('default', ['wiredep', 'bower_concat', 'concat', 'sass', 'connect', 'watch']);</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=wwwgjs:creating_your_first_grunt_task&amp;rev=1459239088&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-29T10:11:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wwwgjs:creating_your_first_grunt_task</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=wwwgjs:creating_your_first_grunt_task&amp;rev=1459239088&amp;do=diff</link>
        <description>&lt;- Preparing our projectAdding task options and defaults -&gt;
Créer un fichier de configuration gruntfile.js


module.exports = function(grunt) {
  grunt.initConfig({}
  
    concat: {
      dist : { // dist peut être appelé autrement
        src: ['components/scripts/*.js'], // version non ordonnée
        // src: ['zulu.js', 'alpha.js', 'lima.js'], // version ordonnée
        dest: 'builds/development/js/script.js',
      },
    },
  
  ); // initConfig
  
  grunt.loadNpmTasks('grunt-contrib-con…</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=wwwgjs:exploring_our_workflow&amp;rev=1459709959&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-04-03T20:59:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wwwgjs:exploring_our_workflow</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=wwwgjs:exploring_our_workflow&amp;rev=1459709959&amp;do=diff</link>
        <description>&lt;- Using the exercise filesPreparing our project -&gt;

/
/bower_components
  /lib_x
/builds
  /development
    /css
      _bower.css // css des librairies et frameworks concaténés
      style.css // css du projet (depuis sass)
    /images
    /js
      _bower.js // js des librairies et frameworks concaténés
      script.js // js du projet concaténé
/components
  /sass
  /js // ces deux dossier sont compilés puis envoyés dans les dossier de /builds
/node_modules
bower.json
gruntfile.js  // tâches g…</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=wwwgjs:integrating_bower_into_our_workflow&amp;rev=1459246040&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-29T12:07:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wwwgjs:integrating_bower_into_our_workflow</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=wwwgjs:integrating_bower_into_our_workflow&amp;rev=1459246040&amp;do=diff</link>
        <description>&lt;- Working with BowerCombining Bower scripts and CSS -&gt;
-&gt; grunt wiredep

-&gt; inject Bower packages into your source code with Grunt

npm install --save-dev grunt-wiredep


// grunfile.js

(...)
  //nouvelle tâche
  wiredep: {
    task: {
      src: 'builds/development/**/*.html',
    },
  },

(...)
grunt.loadNpmTasks('grunt-wiredep');
(...)
grunt.registerTask('default', ['wiredep', 'concat', 'sass', 'connect', 'watch']);</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=wwwgjs:next_steps&amp;rev=1459247163&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-29T12:26:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wwwgjs:next_steps</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=wwwgjs:next_steps&amp;rev=1459247163&amp;do=diff</link>
        <description>&lt;- Combining Bower scripts and CSS -&gt;
-&gt; grunt plugins

-&gt; bower.io plugins

-&gt; Voir cours Cuilding a mobile app with angularJS and Ionic et d'autres</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=wwwgjs:preparing_our_project&amp;rev=1459238304&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-29T09:58:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wwwgjs:preparing_our_project</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=wwwgjs:preparing_our_project&amp;rev=1459238304&amp;do=diff</link>
        <description>&lt;- Exploring our workflowCreating your first Grunt task -&gt;

// dans le dossier du projet
npm init


{
  &quot;name&quot;: &quot;web-workflow&quot;,
  &quot;version&quot;: &quot;0.0.1&quot;,
  &quot;description&quot;: &quot;a project template&quot;,
  &quot;author&quot;: &quot;author name&quot;,
  &quot;license&quot;: &quot;MIT&quot;,
}


sudo npm install -g grunt-cli
grunt-cli --version</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=wwwgjs:processing_sass_files&amp;rev=1459246682&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-29T12:18:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wwwgjs:processing_sass_files</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=wwwgjs:processing_sass_files&amp;rev=1459246682&amp;do=diff</link>
        <description>&lt;- Adding task options and defaultsAutomating our workflow -&gt;
-&gt; sass-lang.com

-&gt; contrib-sass (nécessite ruby)

-&gt; grunt-contrib (c++ pas forcément à jour, nécessite node-sass)

Pour le second, utilisé dans la vidéo


npm install node-sass
npm install --save-dev  grunt-sass



// grunfile.js
// nouvelle tâche
sass: {
  dist: {
    options: {
      style: 'expanded', // aussi : nested/compact/compressed
    },
    files: [{
      src: 'components/sass/style.scss',
      dest: 'builds/developmen…</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=wwwgjs:reloading_our_pages&amp;rev=1459244901&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-29T11:48:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wwwgjs:reloading_our_pages</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=wwwgjs:reloading_our_pages&amp;rev=1459244901&amp;do=diff</link>
        <description>&lt;- Automating our workflowWorking with Bower -&gt;
-&gt; grunt-contrib-reload

Plusieurs manières de l'intégrer. Direct via &lt;script src=“”&gt; mais signifie intégrer du code qu'on va enlever après, via plugin navigateur ou autre.

npm install grunt-contrib-connect --save-dev


//gruntfile.js
//nouvelle tâche
connect: {
  server: {
    options: {
      hostname: 'localhost',
      port: 3000,
      base: 'builds/development/',
      livereload: true,
    },
  },
},

(...)

watch: {
  options: {
    spaws:…</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=wwwgjs:working_with_bower&amp;rev=1459245298&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-29T11:54:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wwwgjs:working_with_bower</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=wwwgjs:working_with_bower&amp;rev=1459245298&amp;do=diff</link>
        <description>&lt;- Reloading our pagesIntegrating Bower into our workflow -&gt;
-&gt; “a package manager for the web”

-&gt; “sort of npm for your web projects”

bower init // créé un fichier bower.json de la même manière que npm init

bower install --save bootstrap

-&gt; bower.io/search pour les packages</description>
    </item>
</rdf:RDF>
