[www.openode.io] Enfin, un bon hébergeur pour publier ULTRA facilement des applications NODE.JS

nodeeeeee

Introduction


Avant 2018, on pouvait créer nos applications NODE.JS assez facilement en LOCAL .

Mais lorsque venait le moment de publier notre application en ligne, c’était assez la galère,il fallait soit acheter un serveur dédié assez cher, soit effectuer des méthodes complexes avec cloudant ou autres Aws pour arriver à placer son app en ligne .

Openode.io : Une seule commande, cela fonctionne de suite !


Depuis 2018, openode.io est arrivé, et enfin, ça marche et c’est facile !! Depuis le temps qu’on attendait ça !!

On s’inscrit sur openode.io, on a de suite un environnement prêt, suffit juste de lui donner un nom, c’est vraiment TROP SIMPLE ! Cette société serait basée au Texas.

En local, dans notre pc, on se rends dans le répertoire de notre site node.js .

Ensuite, on télécharge avec GIT leur programme de gestion hyper simple qui nous donne quelques commandes supplémentaires dans CMD(La ligne de commande Windows).

Une fois qu’on a installé leur programme, il suffit de taper dans notre répertoire :

openode deploy

pour envoyer l’intégralité de notre site en ligne, ça marche de suite !

Voici un exemple de moi, qui envoie mon application node.js en ligne :

deploy.jpg

Le programme deploy surveille que notre fichier package.json contient de bonnes versions de librairies :

Exemple :

{
"name": "socket-chat-example",
"version": "0.0.1",
"description": "my first socket.io app",
"dependencies": {
"express": "^4.15.2",
"mysql": "^2.16.0",
"mongoose": "^5.2.6",
"morgan": "^1.1.1"

},
"scripts": {
"start": "node index.js"
}
}

Ici , je charge la lib mongoose pour pouvoir me connecter à un base de données MONGODB et la lib mysql pour pouvoir aussi me connecter à une base de données MYSQL, tout cela en JS (le langage le plus coool et flexiiible!).

Et oui, cela veut dire qu’on peut désormais coder tout en JS, aborder des bdd relationnelles quand même, et déployer de façon ultra simple, c’est carrément TROP COOL !

Voici les 2 autres fichiers de mon app, just pour info (On voit que j’exécute des requêtes SQL dans le Javascript …)  :

index.js :


 var app = require('express')();
 var http = require('http').Server(app);
 var port = process.env.PORT || 3000;
 var mongoose = require('mongoose');
 var mysql = require('mysql');
 var morgan = require('morgan'); // log requests to the console (express4)</code>

 var connection = mysql.createConnection({
     host: 'sql.free.fr',
     user: 'nicolas.huleux',
     password: 'xxxxxxx',
     database: 'nicolas_huleux'
 });

 connection.connect(function(err) {
     // connected! (unless `err` is set)

 });

 connection.query('SELECT * from acteurs', function(err, rows, fields) {
     if (!err)
         console.log('The solution is: ', rows);
     else
         console.log('Error while performing Query.');
 });

 app.get('/', function(req, res) {
     res.sendFile(__dirname + '/index.html');
 });

 http.listen(port, function() {
     console.log('listening on *:' + port);
 });

Et là, index.html, un formulaire bateau, pas encore fonctionnel

<!doctype html>
<html>
  <head>
    <title>form</title>

  </head>
  <body>
    <ul id="messages"></ul>
    <form action="">
      <input id="m" autocomplete="off" /><button>Send</button>
    </form>
    <script src="https://cdn.socket.io/socket.io-1.2.0.js"></script>
    <script src="https://code.jquery.com/jquery-1.11.1.js"></script>
	
	 <form action="action_page.php">
		  <div class="imgcontainer">
			<img src="img_avatar2.png" alt="Avatar" class="avatar">
		  </div>

		  <div class="container">
			<label for="uname"><b>Username</b></label>
			<input type="text" placeholder="Enter Username" name="uname" required>

			<label for="psw"><b>Password</b></label>
			<input type="password" placeholder="Enter Password" name="psw" required>

			<button type="submit">Login</button>
			<label>
			  <input type="checkbox" checked="checked" name="remember"> Remember me
			</label>
		  </div>

		  <div class="container" style="background-color:#f1f1f1">
			<button type="button" class="cancelbtn">Cancel</button>
			<span class="psw">Forgot <a href="#">password?</a></span>
		  </div>
		</form> 

  </body>
</html>

Conclusion :
On peut désormais coder tout en NODE.JS et publier des démos sur son blog super facilement, sans acheter une serveur dédié, c’est TROP BIEN . Si on veut, plus besoin d’utiliser PHP en back end il existe des tas de libs qui permette à node de se connecter aux bases relationnelles, y compris sans faire de SQL avec par exemple KNEX.JS (https://stackoverflow.com/questions/5818312/mysql-with-node-js) :

KNEX.JS

KnexJs can be used as an SQL query builder in both Node.JS and the browser. I find it easy to use. Let try it – Knex.js

$ npm install knex--save# Then add one of the following(adding a--save) flag:
  $ npm install pg
$ npm install sqlite3
$ npm install mysql
$ npm install mysql2
$ npm install mariasql
$ npm install strong - oracle
$ npm install oracle
$ npm install mssql


var knex = require('knex')({
    client: 'mysql',
    connection: {
        host: '127.0.0.1',
        user: 'your_database_user',
        password: 'your_database_password',
        database: 'myapp_test'
    }
});

You can use it like this

knex.select('*').from('users')

or

knex('users').where({
    first_name: 'Test',
    last_name: 'User'
}).select('id')
Publicités