ng-pluralize et les nombres négatifs

Dans le cadre du développement du front-end de la station météo, je suis confronté à l’affichage des minutes d’ensoleillement gagnées ou perdues.

Pour cela, j’utilise la directive ng-pluralize  d’Angular :

<ng-pluralize count="main.suntimeDiff"
              when="main.suntimeDiff >=0 ? main.sunTimeLabel : main.negSunTimeLabel" >
</ng-pluralize>
    vm.negSunTimeLabel = {
      'other': '{} minutes de soleil'
    };

    vm.sunTimeLabel = {
      '0': 'pas de minute de soleil gagnée ou perdue',
      'other': '+{} minutes de soleil'
    };

J’ai donc deux tableaux de labels en fonction de l’état de ma variable.

Installer NodeJS, NPM et Bower sous Debian

node.js-bower

Pour une installation d’un environnement de développement sous Debian.

Installer les dépendances

sudo apt-get update 
sudo apt-get install git-core curl build-essential openssl libssl-dev

Télécharger NodeJS

Et lancer la compilation

tar xvf node-v5.4.0.tar.gz
cd node-v5.4.0
configure
make

Editer le fichier /etc/profiles ou ~/.profile

# PATH
NODEJS_HOME=$HOME/prgm/node-v5.4.0-linux-x64

PATH="$NODEJS_HOME/bin:$PATH"

Tester l’installation

node -v
npm -v

Installer Bower

npm install -g bower

Installer Grunt

npm install -g grunt

Let’s Hack !

Matomo encountered an error: Uncaught Error: Class "Piwik\Plugins\CustomVariables\CustomVariables" not found in /var/www/piwik/core/Tracker/TrackerCodeGenerator.php:98 Stack trace: #0 /var/www/piwik/plugins/SitesManager/API.php(159): Piwik\Tracker\TrackerCodeGenerator->generate() #1 [internal function]: Piwik\Plugins\SitesManager\API->getJavascriptTag() #2 /var/www/piwik/core/API/Proxy.php(255): call_user_func_array() #3 /var/www/piwik/core/Context.php(28): Piwik\API\Proxy->Piwik\API\{closure}() #4 /var/www/piwik/core/API/Proxy.php(158): Piwik\Context::executeWithQueryParameters() #5 /var/www/piwik/core/API/Request.php(272): Piwik\API\Proxy->call() #6 /var/www/thegtricks/wp-content/plugins/wp-piwik/classes/WP_Piwik/Request/Php.php(46): Piwik\API\Request->process() #7 /var/www/thegtricks/wp-content/plugins/wp-piwik/classes/WP_Piwik/Request/Php.php(18): WP_Piwik\Request\Php->call() #8 /var/www/thegtricks/wp-content/plugins/wp-piwik/classes/WP_Piwik/Request.php(63): WP_Piwik\Request\Php->request() #9 /var/www/thegtricks/wp-content/plugins/wp-piwik/classes/WP_Piwik.php(1038): WP_Piwik\Request->perform() #10 /var/www/thegtricks/wp-content/plugins/wp-piwik/classes/WP_Piwik.php(1205): WP_Piwik->request() #11 /var/www/thegtricks/wp-content/plugins/wp-piwik/classes/WP_Piwik/TrackingCode.php(16): WP_Piwik->updateTrackingCode() #12 /var/www/thegtricks/wp-content/plugins/wp-piwik/classes/WP_Piwik.php(296): WP_Piwik\TrackingCode->__construct() #13 /var/www/thegtricks/wp-includes/class-wp-hook.php(324): WP_Piwik->addJavascriptCode() #14 /var/www/thegtricks/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() #15 /var/www/thegtricks/wp-includes/plugin.php(517): WP_Hook->do_action() #16 /var/www/thegtricks/wp-includes/general-template.php(3066): do_action() #17 /var/www/thegtricks/wp-content/themes/twentyfifteen-child/footer.php(45): wp_footer() #18 /var/www/thegtricks/wp-includes/template.php(810): require_once('...') #19 /var/www/thegtricks/wp-includes/template.php(745): load_template() #20 /var/www/thegtricks/wp-includes/general-template.php(92): locate_template() #21 /var/www/thegtricks/wp-content/themes/twentyfifteen/archive.php(68): get_footer() #22 /var/www/thegtricks/wp-includes/template-loader.php(106): include('...') #23 /var/www/thegtricks/wp-blog-header.php(19): require_once('...') #24 /var/www/thegtricks/index.php(17): require('...') #25 {main} thrown (which lead to: Session must be started before any output has been sent to the browser; output started in /var/www/thegtricks/wp-includes/class-wp-styles.php/290)