Skip to content

Content : Add article "Deploy Start-UI on Upsun"#79

Open
mdouet421 wants to merge 5 commits intomainfrom
content/Add-article-deploy-Start-UI-on-Upsun
Open

Content : Add article "Deploy Start-UI on Upsun"#79
mdouet421 wants to merge 5 commits intomainfrom
content/Add-article-deploy-Start-UI-on-Upsun

Conversation

@mdouet421
Copy link
Contributor

Mise en prod de l'article d'Héloïse "Déployer Start UI Web v3 sur Upsun v3.3.45"

@mdouet421 mdouet421 self-assigned this Mar 2, 2026
@vercel
Copy link

vercel bot commented Mar 2, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
bearstudio.fr Ready Ready Preview, Comment Mar 12, 2026 4:11pm

Request Review

@@ -0,0 +1,315 @@
---
title: 'Déployer Start UI Web v3 sur Upsun v3.3.45'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd suggest to remove the versions in the title but add a disclaimer in the article body

- 'deploiement'
- 'PaaS'
- 'Start UI'
heroImage: 'images/Format Blog Header (10).png'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

avoid spaces in filenames

@yoannfleurydev
Copy link
Member

please improve the naming of the file names so we know what the content of the image

image

For example, image1.png become: upsun-dashboard-onboarding.png

Comment on lines +81 to +84
![](images/image1.png)
![](images/image2.png)
![](images/image3.png)
![](images/image4.png)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please provide alt text for accessibility. For example for the first image :

![Tableau de bord d'Upsun. L'interface nous invite à créer un projet pour déployer notre application.](images/image1.png)

@yoannfleurydev
Copy link
Member

please make deployer-Start-UI-Web-v3-sur-Upsun lowercase deployer-start-ui-web-v3-sur-upsun

## Avant-propos

Dans le cadre d'une exploration des solutions de déploiement modernes,
j'ai testé **Upsun**, une plateforme PaaS récente proposée par les
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add link to Upsun here, people reading the article will want to check as soon as they see the name

- **Tester un déploiement initial** ("from scratch") **sans connaissance
préalable d'Upsun ni expérience en devops**. La perspective adoptée est celle d'une développeuse découvrant l'outil.

Pour ce test, j'ai choisi de déployer notre outil maison [Start UI Web v3](https://start-ui.com/),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Pour ce test, j'ai choisi de déployer notre outil maison [Start UI Web v3](https://start-ui.com/),
Pour ce test, j'ai choisi de déployer notre outil maison [Start UI Web](https://start-ui.com/),

préalable d'Upsun ni expérience en devops**. La perspective adoptée est celle d'une développeuse découvrant l'outil.

Pour ce test, j'ai choisi de déployer notre outil maison [Start UI Web v3](https://start-ui.com/),
un starter d'application moderne basé sur React, Vite et Node.js, que nous utilisons régulièrement comme base de projets front-end. (Pour en savoir plus, vous pouvez lire dès maintenant notre [article de présentation Start UI](start-ui) !)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
un starter d'application moderne basé sur React, Vite et Node.js, que nous utilisons régulièrement comme base de projets front-end. (Pour en savoir plus, vous pouvez lire dès maintenant notre [article de présentation Start UI](start-ui) !)
un starter d'application moderne basé sur React, Vite et Node.js, que nous utilisons régulièrement comme base de projets front-end. (Pour en savoir plus, vous pouvez lire dès maintenant notre [article de présentation Start UI](/fr/blog/articles/start-ui) !)

Comment on lines +49 to +52
Une période d'essai gratuite de 15 jours est proposée. Elle permet d'accéder à un seul projet pendant cette durée limitée,
avec les ressources suivantes : 1 organisation, avec 1 projet et 2 running environments; des containers et un nombre de users
illimités; et jusqu'à 4,5 CPU, 12 Go de mémoire et 20 Go de stockage réseau fonctionnant simultanément.
À la fin de l'essai, votre projet sera suspendu jusqu'à ce que vous ajoutiez un mode de paiement valide à votre compte.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I find this paragraph hard to read for someone not technical.

Ce fork permet de disposer d’une copie du projet sous son propre compte GitHub.

Le projet forké doit ensuite être cloné en local afin de vérifier que l’installation fonctionne correctement avant tout déploiement.
La documentation officielle de Start UI Web précise que le projet nécessite une version récente de Node.js ainsi que l’utilisation de pnpm comme gestionnaire de dépendances.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
La documentation officielle de Start UI Web précise que le projet nécessite une version récente de Node.js ainsi que l’utilisation de pnpm comme gestionnaire de dépendances.
La documentation officielle de Start UI Web précise que le projet nécessite une version récente de Node.js ainsi que l’utilisation de [pnpm](https://pnpm.io/) comme gestionnaire de dépendances.

La documentation officielle de Start UI Web précise que le projet nécessite une version récente de Node.js ainsi que l’utilisation de pnpm comme gestionnaire de dépendances.
Un fichier d’environnement local peut être généré à partir du fichier d’exemple fourni afin de permettre un démarrage en local.

Alternativement, pour initialiser un projet, on peut utiliser ```pnpm create start-ui -t web myApp```. Il est ensuite impératif de pousser le projet sur un dépôt GitHub pour qu'il soit éligible au déploiement (les deux solutions ont été testées et fonctionnent aussi bien l’une que l’autre !).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Alternativement, pour initialiser un projet, on peut utiliser ```pnpm create start-ui -t web myApp```. Il est ensuite impératif de pousser le projet sur un dépôt GitHub pour qu'il soit éligible au déploiement (les deux solutions ont été testées et fonctionnent aussi bien l’une que l’autre !).
Alternativement, pour initialiser un projet, on peut utiliser `pnpm create start-ui -t web myApp`. Il est ensuite impératif de pousser le projet sur un dépôt GitHub pour qu'il soit éligible au déploiement (les deux solutions ont été testées et fonctionnent aussi bien l’une que l’autre !).

![](images/image8.png)
![](images/image9.png)

J’ai tenté d’utiliser l’option de génération assistée par IA pour l’initialisation de la configuration du projet mais ça a été un échec. J'espérais une solution miracle pour un déploiement en un clic. Cependant, ne maîtrisant ni le code, ni sa conception, ni sa raison d'être, j'ai préféré repartir d'une configuration manuelle. J'ai dû la revoir plusieurs fois avant de comprendre les champs absolument nécessaires (les hooks, la commande de start, les variables d’environnements,..).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cependant, ne maîtrisant ni le code, ni sa conception, ni sa raison d'être, j'ai préféré repartir d'une configuration manuelle.

not really selling Start UI with this comment 😛

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not about Start UI ? I think she means that she didn't understand the code generated by Upsun for the configuration, nothing to do with Start UI 🤔


Upsun permet de définir des variables par environnement directement depuis l’interface de gestion, mais elles sont à remplir une par une !

Le fichier ```.environment```, quant à lui, est utilisé par Upsun pour connecter automatiquement l’application aux services déclarés.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Le fichier ```.environment```, quant à lui, est utilisé par Upsun pour connecter automatiquement l’application aux services déclarés.
Le fichier `.environment`, quant à lui, est utilisé par Upsun pour connecter automatiquement l’application aux services déclarés.

Upsun permet de définir des variables par environnement directement depuis l’interface de gestion, mais elles sont à remplir une par une !

Le fichier ```.environment```, quant à lui, est utilisé par Upsun pour connecter automatiquement l’application aux services déclarés.
Il n’a pas vocation à contenir l’ensemble des variables applicatives et ce n’est pas non plus une simple copie du ```.env```. Pour Start UI j’ai laissé les variables d’environnement liées à la base de données qui ont été automatiquement ajoutées.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Il n’a pas vocation à contenir l’ensemble des variables applicatives et ce n’est pas non plus une simple copie du ```.env```. Pour Start UI j’ai laissé les variables d’environnement liées à la base de données qui ont été automatiquement ajoutées.
Il n’a pas vocation à contenir l’ensemble des variables applicatives et ce n’est pas non plus une simple copie du `.env`. Pour Start UI j’ai laissé les variables d’environnement liées à la base de données qui ont été automatiquement ajoutées.

Les hooks Upsun doivent être configurés afin d’installer les dépendances, construire l’application et exécuter les scripts nécessaires au bon fonctionnement de Start UI Web.

Le **hook de build** est utilisé pour installer les dépendances et générer le build de production.
Le ```–ignore-scripts``` lors de l’installation reste important pour éviter la configuration de husky et des hooks git qui viennent polluer les logs de pleins d’erreurs.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Le ```–ignore-scripts``` lors de l’installation reste important pour éviter la configuration de husky et des hooks git qui viennent polluer les logs de pleins d’erreurs.
Le `–ignore-scripts` lors de l’installation reste important pour éviter la configuration de husky et des hooks git qui viennent polluer les logs de pleins d’erreurs.

![](images/image14.png)

Le **hook de déploiement** permet d’exécuter les scripts liés à l’initialisation de la base de données.
Dans notre cas : ```pnpm db:init```
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Dans notre cas : ```pnpm db:init```
Dans notre cas : `pnpm db:init`


### Lancement de l’application

Ne pas oublier de modifier la commande de la partie `web > commands > start` : ```pnpm start```.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Ne pas oublier de modifier la commande de la partie `web > commands > start` : ```pnpm start```.
Ne pas oublier de modifier la commande de la partie `web > commands > start` : `pnpm start`.


Si une intégration GitHub est utilisée, le simple fait de pousser sur le dépôt distant déclenche automatiquement le déploiement sur Upsun (`git push` déploie sur Upsun, et `upsun push` pousse également sur GitHub). Sans intégration, le push doit être effectué vers la remote Upsun.

Le premier déploiement complet peut prendre plusieurs dizaines de minutes ⏱️.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there an explanation about why it is this long?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@heloise-gllm if you have an answer


L’interface Upsun affiche principalement les logs liés aux phases de build et de déploiement (mais ils mériteraient un scroll automatique pour garder les logs les plus récents à l’écran).

Pour consulter les logs d’exécution de l’application, il est nécessaire d’utiliser la commande dédiée via l’outil en ligne de commande Upsun : ```upsun log``` (```upsun log app```, ```upsun log deploy```, etc.).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Pour consulter les logs d’exécution de l’application, il est nécessaire d’utiliser la commande dédiée via l’outil en ligne de commande Upsun : ```upsun log``` (```upsun log app```, ```upsun log deploy```, etc.).
Pour consulter les logs d’exécution de l’application, il est nécessaire d’utiliser la commande dédiée via l’outil en ligne de commande Upsun : `upsun log` (`upsun log app`, `upsun log deploy`, etc.).


En tant qu’alternative à Clever Cloud, Upsun mérite clairement d’être testé, mais demande aujourd’hui un investissement initial qui m’a semblé assez important.

Si vous souhaitez aller plus loin, vous pouvez découvrir nos librairies open-source *made-in-BearStudio* : [UI-State](pourquoi-on-a-cree-ui-state) et [Ficus UI](ficus-ui-ui-simple-et-composable-pour-react-native). No newline at end of file
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Si vous souhaitez aller plus loin, vous pouvez découvrir nos librairies open-source *made-in-BearStudio* : [UI-State](pourquoi-on-a-cree-ui-state) et [Ficus UI](ficus-ui-ui-simple-et-composable-pour-react-native).
Si vous souhaitez aller plus loin, vous pouvez découvrir nos librairies open-source *made-in-BearStudio* : [UI-State](/fr/blog/articles/pourquoi-on-a-cree-ui-state) et [Ficus UI](/fr/blog/articles/ficus-ui-ui-simple-et-composable-pour-react-native).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants