# Mettre en ligne votre site

## Où vont vos fichiers

Chaque domaine de votre compte a son dossier, et son site se sert depuis le dossier `public_html` qu'il contient :

```
/home/IDENTIFIANT/domains/votre-domaine.com/public_html
```

`IDENTIFIANT` est l'identifiant de votre compte, affiché dans votre espace client. Un fichier `index.php` ou `index.html` déposé dans `public_html` devient la page d'accueil de votre site.

## Déposer vos fichiers

Trois chemins mènent au même dossier ; choisissez celui qui vous convient.

### Le gestionnaire de fichiers

Dans le panneau, **File Manager** : envoyez vos fichiers depuis votre navigateur, une archive `.zip` comprise, que vous décompressez sur place. C'est le chemin le plus rapide pour quelques fichiers.

### Le FTP chiffré (FTPS)

Dans un logiciel FTP comme FileZilla :

| Réglage          | Valeur                                                                       |
| ---------------- | ---------------------------------------------------------------------------- |
| **Protocole**    | FTP, avec **chiffrement TLS explicite** (FTPS)                               |
| **Hôte**         | le nom de votre serveur, par exemple `web1.simafri.cloud`                    |
| **Port**         | `21`                                                                         |
| **Identifiant**  | l'identifiant de votre compte, ou un compte FTP créé dans **FTP Management** |
| **Mot de passe** | celui du panneau, ou celui du compte FTP                                     |

Le chiffrement TLS protège votre mot de passe et vos fichiers pendant le transfert ; dans FileZilla, choisissez **Connexion FTP explicite sur TLS**. Un compte FTP créé dans **FTP Management** prend la forme `nom@votre-domaine.com` et peut être limité à un dossier, pour un prestataire par exemple.

### Le SSH et le SFTP

L'accès SSH se fait par **clé**, que vous déposez dans le panneau :

1. Pas encore de clé ? Sur votre ordinateur, lancez `ssh-keygen -t ed25519`, puis ouvrez le fichier qui se termine par `.pub` : c'est votre clé **publique**.
2. Dans le panneau, ouvrez **SSH Keys**, puis collez votre clé publique.
3. Connectez-vous :

```
ssh IDENTIFIANT@web1.simafri.cloud
```

La même clé ouvre le **SFTP** (port `22`) dans FileZilla ou WinSCP. Seule la clé publique se dépose : votre clé privée reste sur votre ordinateur.

## Choisir la version de PHP

Chaque domaine choisit sa version de PHP dans **PHP Version Selector**. Sont proposées aujourd'hui **PHP 8.4**, **8.3** (la version par défaut), **8.1** et **7.4**, avec OPcache et les extensions courantes : intl, mbstring, gd, curl, zip, xml, sodium, bcmath, soap, PDO pour MySQL et SQLite. Votre application demande une autre version ? Écrivez au support : notre équipe l'ajoute.

## Créer une base de données

1. Dans le panneau, ouvrez **MySQL Databases**, puis créez une base : son nom et son utilisateur prennent la forme `IDENTIFIANT_nom`.
2. Notez le mot de passe de l'utilisateur.
3. Dans votre application, indiquez :

| Réglage                     | Valeur                                                       |
| --------------------------- | ------------------------------------------------------------ |
| **Hôte**                    | `localhost`                                                  |
| **Port**                    | `3306`                                                       |
| **Base** et **utilisateur** | ceux que vous venez de créer, par exemple `IDENTIFIANT_site` |

**phpMyAdmin**, ouvert depuis la même rubrique, importe un fichier `.sql`, exporte votre base et parcourt vos tables.

## Composer, Node.js et les frameworks

Par SSH, votre hébergement fait tourner :

* **Composer 2** : `composer install`, `composer update` ;
* **Node.js 24** et **npm** : `npm install`, `npm run build` pour compiler votre front ou vos assets ;
* **Git**, **Python 3** et **Perl**.

Pour **Symfony** ou **Laravel**, la racine web du domaine est le dossier `public/` du projet. Déposez votre projet à côté de `public_html`, puis remplacez `public_html` par un lien vers son dossier `public/` :

```
cd ~/domains/votre-domaine.com

mv public_html public_html.origine

ln -s mon-projet/public public_html
```

Les commandes du framework (`php bin/console`, `php artisan`) se lancent dans le dossier du projet. Pour un front **Angular**, **React** ou **Vue**, déposez le résultat de `npm run build` dans `public_html`, avec un fichier `.htaccess` qui renvoie les routes vers `index.html`.

Une application qui doit rester lancée en continu, comme un serveur Node.js ou une file de messages, a sa place sur un [VPS Pro](https://docs.simafri.com/fr/vps-pro/).

## Planifier une tâche

Dans **Cron Jobs**, indiquez la fréquence et la commande, par exemple chaque jour à 3 h :

```
0 3 * * * /usr/local/bin/php /home/IDENTIFIANT/domains/votre-domaine.com/mon-projet/bin/console app:nettoyage
```

## Le HTTPS de vos domaines

Chaque domaine et sous-domaine reçoit son **certificat HTTPS** Let's Encrypt, demandé et renouvelé automatiquement dès que le domaine pointe vers votre serveur. **SSL/TLS Certificates** affiche le certificat de chaque domaine. Pour envoyer toujours vos visiteurs vers l'adresse en `https://`, ajoutez en tête du fichier `.htaccess` de `public_html` :

```
RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
```

## Questions fréquentes

### Mon site affiche encore la page par défaut.

Votre page d'accueil doit se trouver directement dans `public_html`, sous le nom `index.php` ou `index.html`, et non dans un sous-dossier. Supprimez la page par défaut si elle s'y trouve encore.

### Comment installer WordPress ?

Écrivez au support en indiquant le domaine : notre équipe installe WordPress sur votre hébergement et vous remet l'accès à son administration.

### Ma connexion SSH est refusée.

Vérifiez que votre clé **publique** figure dans **SSH Keys** et que vous vous connectez avec l'**Identifiant** de votre compte. La connexion SSH se fait par clé : votre logiciel doit utiliser la clé privée qui correspond à celle déposée.
