Création d’un Addons NodeJS

BLOG

Comment créer son premier addons NodeJS

1- Installation de l'environnement

 

1.1 Installation de nodejs

$ sudo apt-get install python git-core pkg-config build-essential
$ wget http://nodejs.org/dist/v0.10.21/node-v0.10.21.tar.gz
$ tar xvzf node-v0.10.21.tar.gz && cd node-v0.10.21
$ ./configure && make && sudo make install

 

1.2 Installation de node-gyp

node-gyp un outil qui va vous permettre de compiler vos projets nodejs

$ sudo npm install -g node-gyp

 

2- Hello world

 

2.1 Création du projet

$ mkdir -p node-hello/src
$ git init
$ vim .gitignore

node_modules
build

 

2.2 Le code en lui même

On va pouvoir commencer à écrire un peu de code à présent 🙂

$ vim src/hello.cc
#include 
#include 

using namespace v8;

Handle Method(const Arguments& args) {
  HandleScope scope;
  return scope.Close(String::New("world"));
}

void init(Handle exports) {
  exports->Set(String::NewSymbol("hello"), FunctionTemplate::New(Method)->GetFunction());
}

NODE_MODULE(hello, init)

 

2.3 Le fichier binding.gyp

 

{
  "targets": [
    {
      "target_name": "hello",
      "sources": [ "src/hello.cc" ]
    }
  ]
}

 

2.4 On compile et on test

$ node-gyp configure build
$vim hello.js

var addon = require('./build/Release/hello');
console.log(addon.hello()); // 'world'

 

3- Sources:

VOUS AVEZ UN PROJET ?

Nous sommes à votre écoute pour le mettre en place (...)

OpenCV sur Ubuntu 10.13

BLOG

Installation et permier programme avec la librairie OpenCV sur Ubuntu 13.10

Qu'est-ce que OpenCV ?

OpenCV (pour Open Computer Vision) est une bibliothèque graphique libre spécialisée dans le traitement d'images en temps réel. La bibliothèque OpenCV met à disposition de nombreuses fonctionnalités très diversifiées permettant de créer des programmes partant des données brutes pour aller jusqu'à la création d'interfaces graphiques basiques.

Installation

Via les dépots

$ sudo apt-get install libcv-dev libcvaux-dev libhighgui-dev

Via les sources

Installation des prés requis

# Système
$ sudo apt-get install build-essential cmake pkg-config phyton  python-dev python-numpy

# Librairie Image I/O libraries:
$ sudo apt-get install libjpeg62-dev libtiff4-dev libjasper-dev

# Librairie GTK dev
$ sudo apt-get install libgtk2.0-dev

# Librairie Video I/O
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

# Librairie  video streaming
$ sudo apt-get install libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev

Compilation de la librairie

$ wget http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.3/OpenCV-2.4.3.tar.bz2/download
$ tar -xvf OpenCV-2.4.3.tar.bz2
$ cd ~/opencv
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local
    -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON 
    -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON 
    -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
$ make
$ sudo make install

Et voilà openCV est installé.

Premier programme

Créons notre premier programme pour tester openCV: helloworld.c

#include 
#include 
#include 

int main(int argc, char* argv[])
{
  IplImage* img=NULL;
  const char* window_title="Hello, OpenCV!";
  if(argc < 2)
  {
    fprintf(stderr, "usage: %s IMAGE\n", argv[0]);
    return EXIT_FAILURE;
  }
  img=cvLoadImage(argv[1], CV_LOAD_IMAGE_UNCHANGED);
  if (img == NULL)
  {
    fprintf(stderr, "couldn't open image file: %s\n", argv[1]);
    return EXIT_FAILURE;
  }
  cvNamedWindow (window_title, CV_WINDOW_AUTOSIZE);
  cvShowImage (window_title, img);
  cvWaitKey(0);
  cvDestroyAllWindows();
  cvReleaseImage(&img);
  return EXIT_SUCCESS;
}

Le Makefile

CFLAGS=-fPIC -g -Wall `pkg-config --cflags opencv`
LIBS=`pkg-config --libs opencv`

all:
	gcc $(CFLAGS) helloworld.c -o helloworld $(LIBS)

clean:
	rm -rf helloworld

Y a plus qu'à tester si tout va bien 🙂

$ make
$ ./helloworld 

Et pour la suite, je vous conseille de faire un petit tour dans les tutauriaux d'openCV :

http://docs.opencv.org/doc/tutorials/tutorials.html

Sources

Le site officiel: opencv.org

Un article en anglais qui m'a servit de base: http://www.raben.com/book/export/html/3

Pour aller plus loin: http://www.geckogeek.fr/tutorial-opencv-isoler-et-traquer-une-couleur.html

 

VOUS AVEZ UN PROJET ?

Nous sommes à votre écoute pour le mettre en place (...)

Visualiser votre schéma de base de données avec Ruby On Rails

BLOG

Voici un petit gem qui va vous permettre de visualiser votre schéma de base donnée en quelques lignes de commande!!

Introduction

Cet article à été originalement écrit par CoachUp. Voici une traduction en français.

Avez-vous déjà voulu visualiser votre schéma Rails, de façon clair et resortant les relation en les différents Models ? Vous a-t-on déjà demandé des représentations visuel de votre schéma, et ce par différentes personnes, voir différents services ?

Après avoir créé le diagramme, cela aide beaucoup les membres des équipes (surtout de dev, et en particulier les nouveaux développeur sur le projets) afin de savoir où en est le schéma. Cela évite de toujours affichier les champs dans PHPMyAdmin par exemple...

J'ai pensé qu'il fallait partager cette petite information qui pourraient vous aider !!! Voici les étapes pour installer le Gem Railroady qui va vous permettre de visualiser vos diagrammes !

 

Installation

Pour commencer il vous faut graphviz.

sudo apt-get install graphviz

 

En suite on installe le gem

vim Gemfile
group :development, :test do
    gem 'railroady'
end

bundle install

 

Et voilà, c'est installé !!

 

Utilisation

Une commande va vous générer 4 fichiers svg de représentation de vos modeles. Ils sont donc ouvrable directement dans votre navigateur.

rake diagram:all

 

Quelques exemples bien utiles:

railroady -o models.dot -M 
  Produces a models diagram to the file 'models.dot'
railroady -a -i -o full_models.dot -M 
  Models diagram with all classes showing inheritance relations
railroady -M | dot -Tsvg > models.svg
  Model diagram in SVG format
railroady -C | neato -Tpng > controllers.png
  Controller diagram in PNG format
railroady -h
  Shows usage help

 

Sources

 

VOUS AVEZ UN PROJET ?

Nous sommes à votre écoute pour le mettre en place (...)

Ruby On Rails et AngularJS

BLOG

Comment implémenter AngularJS dans une application ruby on rails !

On créé l'application:

rails new demo-rails-angular -d mysql && cd demo-rails-angular

Installation des gems pour l'identification:

gem 'devise'
gem 'omniauth'
gem 'omniauth-facebook'
gem 'omniauth-twitter'
gem 'uuidtools'

bundle install

On installe devise

rails g devise:install
rails g devise user
rails g model authorization provider:string uid:string user_id:integer token:string secret:string name:string url:string
rake db:migrate

On commence par les routes:

namespace :api, defaults: {format: :json} do

    resources :task_lists, only: [:index] do

      resources :tasks, only: [:index, :create, :update, :destroy]

    end

end

On met en place le controller:

rails g controller task

On met en place le model

rails g model rails g model task description:text priority:integer complete:boolean
rake db:migrate

VOUS AVEZ UN PROJET ?

Nous sommes à votre écoute pour le mettre en place (...)

Comment résoudre : Head dechated from

Comment résoudre : Head dechated from

Si vous avez l'erreur: HEAD detached from, voici comment faire 🙂

 

Voici les étapes à faire

STEP 1

git stash # Vos changement locaux sur cette branche

STEP 2

git pull origin branchname -v # Pour envoyer et merger les changements locaux, et mettre une messaage. Tout en fixant les erreurs qu'il pourrait y avoir

STEP 3

git stash pop

STEP 4

git push origin branchname -v # Merger les changements

 

Remplacer brachname par le nom de la branche que vous voulez remettre à jour.

 

VOUS AVEZ UN PROJET ?

Nous sommes à votre écoute pour le mettre en place (...)

Vos premiers pas avec ReactJS !

BLOG

Pour utiliser le logiciel ReactJS, le plus simple est déjà d'installer NodeJS.
Sinon vous avez aussi la méthode suivante: https://facebook.github.io/react/downloads.html

Installation de NodeJS

wget https://nodejs.org/dist/v4.2.1/node-v4.2.1.tar.gz
./configure && make && make install
nodejs -v
v0.10.25

Installation de ReactJS

npm install --save react react-dom

Le fameux Hello World!

On commence le projet

mkdir helloworld<
touch helloworld.html
touch helloworld.js

Partie html (helloworld.html):

   
       
       Hello World with ReactJS !
        
        
    
   
 

           

La partie JS (helloworld.js):

ReactDOM.render(
  React.createElement('h1', null, 'Hello, world!'),
  document.getElementById('example')
);

Sources

Site officiel de ReactJS: https://facebook.github.io/react/

Lien Starter Kit: https://facebook.github.io/react/downloads/react-0.14.1.zip

Site nodeJS: https://nodejs.org

A vous de jouer !!!

VOUS AVEZ UN PROJET ?

Nous sommes à votre écoute pour le mettre en place (...)

Installation de cordova

BLOG

Mise en place de l'environnement de développement Cordova

Introduction

Nous allons voir comment mettre en place un environnement de développement, afin de créer des applications Cordova.

Installation de nodejs

Dans un premier temps, il faut installer nodejs

wget https://nodejs.org/dist/v5.6.0/node-v5.6.0-linux-x64.tar.xz

Dans le fichier .bashrc

vim ~/.bashrc
export PATH="$HOME/node-v5.5.0-linux-x64/bin:$PATH"

Vérifions que l'installation est bien faite:

$npm -v
3.3.12
$node -v
v5.5.0

Installation de Java (jdk)

On télécharge les binaires depuis le site officiel

wget http://download.oracle.com/otn-pub/java/jdk/8u73-b02/jdk-8u73-linux-x64.tar.gz

Il faut ensuite ajouter le jdk à notre path

$ vim ~/.bashrc
export PATH="$HOME/jdk1.8.0_73/bin:$HOME/node-v5.5.0-linux-x64/bin:$PATH"

Vérifions que l'installation est bien faite:

$ java -version
$ javac -version

SDK Android

On télécharge les binaires depuis le site officiel

wget https://dl.google.com/dl/android/studio/ide-zips/1.5.1.0/android-studio-ide-141.2456560-linux.zip

Il faut ensuite ajouter le SDK android à notre path

$ vim ~/.bashrc
export PATH="/platform-tools:/tools:$HOME/jdk1.8.0_73/bin:$HOME/node-v5.5.0-linux-x64/bin:$PATH"

Installation de ANT

On télécharge les binaires depuis le site officiel

wget http://apache.websitebeheerjd.nl//ant/binaries/apache-ant-1.9.6-bin.tar.gz

Il faut ensuite ajouter ANT à notre path

$ vim ~/.bashrc
export PATH="$HOME/apache-ant-1.9.6/bin:/platform-tools:/tools:$HOME/jdk1.8.0_73/bin:$HOME/node-v5.5.0-linux-x64/bin:$PATH"

Installation de cordova

Cordova s'installe via un module nodejs.

npm install cordova

Sa première application

Les commandes en vrac

cordova create HelloWorld
cordova platforms add android
cordova build
cordova run android ou cordova emulate android

Sources

Site officiel: https://cordova.apache.org/

Site officiel: http://oracle.fr

Site officiel: http://developer.android.com

Téléchargement java: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Téléchargement SDK: http://developer.android.com/sdk/index.html#Other

Téléchargement ANT: http://ant.apache.org/bindownload.cgi

VOUS AVEZ UN PROJET ?

Nous sommes à votre écoute pour le mettre en place (...)

LE CAPITOLE
3 Avenue Armand Toulet
64600 Anglet
06 50 88 02 72
contact@overconsulting.net