Côté client ? Tu as du oublier que ton code SERVEUR executé avec Node.JS n'est pas accessible par le client, il ne peut pas en voir le code source vu que tu ne lui donnes pas. Seul ton code côté client ( qui communique avec le serveur ) sera visible par l'utilisateur, or les requêtes MySQL se font avec Node.JS, donc côté serveur.
Après si tu ne veux vraiment pas te passer de PHP pour ça, comme je l'ai dis plus haut il y a moyen de faire une requête HTTP sur Apache pour récupérer la page et en retourner son contenu au client. Exemple :
La documentation
Edit : Node.JS n'a pas de module de push en natif, mais il doit surement en exister. Concernant app.js tu peux très bien le mettre dans un répértoire protégé ou alors le mettre ailleurs que dans l'arborescence des fichiers de ton site web.
Après si tu ne veux vraiment pas te passer de PHP pour ça, comme je l'ai dis plus haut il y a moyen de faire une requête HTTP sur Apache pour récupérer la page et en retourner son contenu au client. Exemple :
// Serveur
var html = require('fs').readFileSync(__dirname+'/app.html');
var http = require('http');
var app = http.createServer(function(req, res){ res.end(html); });
app.listen(8080);
var io = require("socket.io");
var io = io.listen(app);
io.sockets.on('connection', function (socket) {
var options = {
host: 'localhost',
port: 80,
path: '/path/de/ton/fichier/php',
method: 'GET'
};
var req = http.request(options, function(res) {
res.on('data', function (contents) {
socket.emit('divContents', contents);
});
});
req.end();
});
La documentation
Edit : Node.JS n'a pas de module de push en natif, mais il doit surement en exister. Concernant app.js tu peux très bien le mettre dans un répértoire protégé ou alors le mettre ailleurs que dans l'arborescence des fichiers de ton site web.