Synology : Installation de Mono

23/03/2015

MonoMono est une plateforme de développement complète basée sur une mise en oeuvre de l’environnement d’exécution de code .Net.
Ainsi Mono permet d’exécuter des applications développées avec le framework Microsoft .Net sur d’autres environnements que Windows.
Toutes les fonctionnalités du framework ne sont pas encore disponibles. Plus d’informations sont disponibles sur la page du projet dédiée à la compatibilité avec le framework .Net.

Prérequis

Mono nécessite l’activation du serveur web du NAS Synology.
Vous devez également activer le protocole SSH sur votre NAS pour accéder au shell.

Installer Mono sur le NAS Synology

La version de DiskStation Manager utilisée dans cet article est la 5.1

Mono est actuellement (en mars 2015) en version bêta. Pour l’installer sur votre NAS, vous devez au préalable autoriser votre serveur à accéder à des paquets en version Bêta.

Pour se faire, ouvrez le centre de paquet puis cliquez sur le bouton Paramètres. Dans la nouvelle fenêtre, accédez à l’onglet Bêta. Cochez la case Oui, je veux voir les version Bêta ! et validez en cliquant sur le bouton OK.

Afficher les paquets en version Bêta

Afficher les paquets en version Bêta

Ensuite, affichez la catégorie Utilitaires. Recherchez l’application Mono et lancez l’installation.

Installation de Mono sur le NAS Synology

Installation de Mono sur le NAS Synology

Vérifier l’installation de Mono sur le NAS Synology

Connectez-vous au serveur (via SSH) et exécutez la commande suivante pour vérifier l’installation de Mono :

mono --version

Vérification de l'installation de Mono sur le NAS Synology

Vérification de l’installation de Mono sur le NAS Synology

Hello World Mono !

Il est de coutume dans l’informatique d’afficher à l’écran le célèbre Hello World lorsque l’on teste un nouvel environnement de développement.

Copiez le code suivant dans un fichier et enregistrez le dans un dossier de votre NAS. Nommez le hello.cs.

using System; 
public class HelloWorld
{
    static public void Main ()
    {
        Console.WriteLine ("Hello World !");
    }
}

Connectez-vous ensuite au shell et accédez au dossier où est stocké le fichier. Dans cet article, les fichiers sont enregistrés dans le dossier /volume1/Projets/Mono.

cd /volume1/Projets/Mono

Lancez ensuite la compilation du code en utilisant la commande mcs :

mcs hello.cs

Le compilateur va générer un fichier exécutable : hello.exe.

Exécutez le via mono :

mono hello.exe

La phrase Hello World ! s’affiche alors !

Hello Word !

Hello Word !

Et ASP.Net dans tout ca ?

Mono permet également d’exécuter des applications web (Webforms).

Reprenons notre exemple précédent et convertissons le en version web.

Copiez le code suivant dans un fichier et enregistrez le dans le même dossier que l’exemple précédent. Nommez le hello.aspx.

<%@ Page Language="C#" %>
<html>
<head>
   <title>Hello World</title>
</head>
<body>
   <asp:Label runat="server">Hello World !</asp:Label>
</body>
</html>

Accédez au dossier où est stocké le fichier :

cd /volume1/Projets/Mono

Puis démarrez le serveur web autonome livré avec Mono :

xsp2 --port 9000

Le port 80 étant utilisé par Web Station, il faut utiliser un autre port, 9000 pour cet exemple.

Hébergement d'une application Webforms avec Mono

Hébergement d’une application Webforms avec Mono

Connectez vous via un navigateur sur le port 9000 de votre NAS : http://[IP-du-nas]:9000/

Attention : Si le pare feu est activé, vous devez créer une règle pour autoriser le trafic sur ce port.

Hello World dans un navigateur !

Hello World dans un navigateur !

4 réflexions au sujet de « Synology : Installation de Mono »

  1. Soufian

    Thank you very much. Maybe its good to also have an english verzion of this page. I was searching the internet and this was the best/easiest explanation.

  2. Emilie

    « xsp2 –port 9000 » ne me donne aucun resultat. Est ce que tu sais pourquoi? Merci Emilie

  3. djelleb

    Merci pour ce tutoriel. J’ai bien installé Mono sur mon NAS, j’ai créé un fichier aspx comme dans l’exemple et l’ai placé dans un dossier d’un volume du NAS. J’ai ensuite lancé le serveur Web sans souci mais lorsque j’entre l’url http://[IP]:9000/ (en remplaçant [IP] par l’IP de mon NAS) dans un navigateur (j’ai testé avec plusieurs navigateurs et plusieurs postes) la page se charge indéfiniment et rien ne s’affiche. Savez-vous d’où peut venir le problème ? (J’ai regardé les règles du pare-feu et rien n’empêche la connexion)

Laisser un commentaire