---
title: "Votre première application"
description: "Déployez et testez votre première application sur Kontainers en moins de 15 minutes, sans domaine ni configuration préalable."
source_url:
  html: https://docs.blackswift.cloud/demarrer/premiere-application/
  md: https://docs.blackswift.cloud/demarrer/premiere-application.md
---

# Votre première application

> Déployez et testez votre première application sur Kontainers en moins de 15 minutes, sans domaine ni configuration préalable.

Dans ce tutoriel, vous allez déployer un serveur web, vérifier qu'il tourne, et
vous y connecter — le tout en moins de 15 minutes, sans aucun prérequis autre que
[votre kubeconfig](https://docs.blackswift.cloud/demarrer/recuperer-votre-kubeconfig.md).

**Prérequis** : `kubectl` installé et votre kubeconfig activé
([voir comment](https://docs.blackswift.cloud/demarrer/recuperer-votre-kubeconfig.md)).

Voici le manifest complet que nous allons déployer :

```yaml
# premiere-app.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: premiere-app
spec:
  selector:
    matchLabels:
      app: premiere-app
  template:
    metadata:
      labels:
        app: premiere-app
    spec:
      containers:
        - name: web
          image: nginx:alpine
```

<Steps>

1. **Créez le fichier**

   Copiez le manifest ci-dessus dans un fichier nommé `premiere-app.yaml`.

   <Aside type="note" title="💡 Débutant Kubernetes ?">
   Un **Deployment** décrit une application à faire tourner : quelle image de
   conteneur, combien d'exemplaires. Kubernetes crée alors un **Pod** — l'unité
   d'exécution qui héberge votre conteneur — et le recrée automatiquement s'il
   s'arrête.
   </Aside>

2. **Déployez-le**

   ```bash
   kubectl apply -f premiere-app.yaml
   ```

   ```text
   deployment.apps/premiere-app created
   ```

3. **Vérifiez que le pod démarre**

   ```bash
   kubectl get pods
   ```

   ```text
   NAME                            READY   STATUS    RESTARTS   AGE
   premiere-app-7d9c5b6f4-x2krl    1/1     Running   0          10s
   ```

   Attendez que `STATUS` affiche `Running` (quelques secondes, le temps de
   télécharger l'image).

4. **Connectez-vous à votre application**

   Ouvrez un tunnel entre votre machine et le pod :

   ```bash
   kubectl port-forward deploy/premiere-app 8080:80
   ```

   Puis, dans un autre terminal (ou votre navigateur) :

   ```bash
   curl http://localhost:8080
   ```

   La page d'accueil nginx s'affiche : **votre application tourne sur Kontainers.** 🎉

5. **Nettoyez (optionnel)**

   ```bash
   kubectl delete -f premiere-app.yaml
   ```

</Steps>

<Aside type="note">
Vous n'avez déclaré ni CPU ni mémoire : la plateforme a réservé automatiquement
0,1 vCPU et 200 Mi pour votre conteneur. C'est ce qui est
[facturé](https://docs.blackswift.cloud/reference/facturation.md) tant que le pod tourne — détails dans
[Mutations automatiques](https://docs.blackswift.cloud/reference/mutations-et-politiques.md).
</Aside>

## Et maintenant ?

Votre application n'est pour l'instant visible que par vous, via le tunnel. Les
étapes suivantes du parcours :

- [**Exposer votre application**](https://docs.blackswift.cloud/deployer/exposer-en-https.md) — la rendre
  accessible sur Internet avec votre domaine et un certificat automatique ;
- [**Ajouter du stockage persistant**](https://docs.blackswift.cloud/deployer/stockage-persistant.md) — pour que
  vos données survivent aux redémarrages ;
- [**Configurer votre application**](https://docs.blackswift.cloud/deployer/configmaps-et-secrets.md) — variables
  d'environnement et secrets.
