Le Vide Tête

Tout ce qu'est trop long pour tenir dans un tweet

Swift côté serveur – Partie 1: Installation de Swift, Vapor et PostgreSQL

Dans cette série de 3 articles je vais faire une introduction à l’utilisation de Swift, le langage de developpement d’Apple, côté serveur à l’aide du framework Vapor et en utilisant une base de données PostgreSQL.

Les 3 parties:
1ère Partie: Installation des outils nécessaires: Swift, Vapor et PostgreSQL, pour créer une application en Swift côté serveur
2ème Partie: Création d’une application basique avec Vapor et PostgreSQL
3ème Partie: Comment gérer un type plus complexe comme la Date


Mise à jour le 25 avril 2017 avec les nouvelles procédures d’installation de Vapor.


Il y a deux plateformes sur lesquelles on peut utiliser Swift: macOS (bien sûr) et Linux (juste les distributions basées sur Ubuntu 14.04, 16.04, 16.10 – 64-bit).

Installation de Swift

Sur Mac

Il n’y a qu’à télécharger et installer Xcode.

Pour tester, il suffit d’ouvrir une fêntre du terminal et taper:

Si c’est une version supérieure ou égale à 3.0 c’est bon, sinon il faut télécharger une version de Xcode plus récénte.

Sur Linux

Pour la version rapide il n’y a qu’à entrer dans une fenêtre terminal:

Pour une installation manuelle, il faut lire la doc Vapor.

Dans un Docker

La machine hôte peut être n’importe quoi qui supporte l’installation du moteur Docker.
Si vous avez Docker installé (sinon suivez la doc) sur votre machine vous pouvez récupérer une Image Docker qui a déjà Swift configuré sous Ubuntu. Pour la récupérer:

Pour créer un conteneur à partir de l’image:

Le paramètre:
-p permet de mapper le port local 8080 sur le port 8080 du conteneur. Ainsi on peut utiliser l’URL: http://localhost:8080
-v permet de mapper le répertoire local /srv/swift au répertoire /srv du conteneur. Donc quand on va créer un fichier dans ce répertoire, peu importe si on est sur la hôte ou dans le conteneur, les deux verront le fichier. Ce qui fait qu’on peut coder en utilisant sur la machine hôte son éditeur de code ou IDE préféré, Visual Code par exemple, et une fois enregistré on peut builder et exécuter dans le conteneur directement.

Installer le Vapor toolbox

Dans une fenêtre du terminal (si vous avez choisi d’utiliser un conteneur Docker, ces commandes sont à exécuter dans celui-ci):


Mise à jour: 25 avril 2017
L’installation de Vapor a changé entre temps.

Sur Mac

L’installation de fait à l’aide de Homebrew et la commande:

Sur Linux/Docker

L’installation se fait via apt

Si sudo et wget ne sont pas installés (dans l’image docker ils n’y sont pas) il faut les installer avant les commandes précédentes à l’aide de:

Fin mise à jour: 25 avril 2017


Tester que tout est OK:

Installation de PostgreSQL

Ce tutoriel utilise une base PostgreSQL, donc il faut en avoir un serveur PostgreSQL.
Si vous avez déjà un serveur Postres sur une autre machine, sur Mac vous devez quand-même installer le serveur Postges pour pouvoir compiler le driver Postgres de Vapor. Par contre pour Linux vous pouvez vous contenter juste de l’installation des libs de développement.

Sur Mac

Installer PostgreSQL en utilisant Homebrew

Sur Linux

Installer PostgreSQL:

Si vous avez déjà un serveur Postges (ou vous êtes dans un Docker dans ce cas il vaut mieux utiliser un autre Docker pour la base) afin de pouvoir builder le driver Postgres de Vapor il suffit d’installer uniquement libpq-dev:


Tout est installé, on est prêt à passer au code.

Continuer dans la Partie 2 pour créer une application basique qui enregistre et récupère des données de la base Postgres en utilisant Vapor.