# Getting started

Congrats, you just received your new workstation! :tada:

Let's go together through the different steps to be able to edit code and see the changes on your platform.

{% hint style="info" %}
This page is intended for a **developer** and will describe the first steps for someone who plans on writing code. \
If this is not your case, you are probably not on the right page :)
{% endhint %}

### 0 - Find your Remote Workstation configuration&#x20;

​Open the production backoffice, and in the header menu click on "**Remote Workstations**".&#x20;

<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LYM6a76uZePOTen0dIw-887967055%2Fuploads%2FOAXnjv0tpieOASOXy40R%2Fopen-my-workstations.jpg?alt=media&#x26;token=2153c4a2-2c5b-496a-b7ad-f33bd16118a5" alt=""><figcaption><p>List Remote Workstations created for your user</p></figcaption></figure>

Click on the line of your Remote Workstation and you will see your current configuration.

You need 3 information:

* the status of your Remote Workstation (Ready, Stopped, Updating, etc...)
* the link to the backoffice
* the command line to connect to the sandbox

<figure><img src="https://3028197268-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LYM6a76uZePOTen0dIw-887967055%2Fuploads%2FJKHUfsZ36a2VC0BlNGpd%2Fmanage-workstation.jpg?alt=media&#x26;token=c703913a-e790-4053-9061-c9dd034c2631" alt=""><figcaption></figcaption></figure>

For this guide, here are some fake examples:

* fake backoffice link: <https://tc.my-alias.tc.exo7d.us>
* fake command line: `ssh user@my-alias.tc.exo7d.us -p 2222 -A`

### 1 - Start your Remote Workstation

{% hint style="success" %}
To avoid using unnecessary resources, your Remote Workstation is stopped. When you start working on it, you can start it from the production backoffice.

This way it is running only when needed :herb:
{% endhint %}

If the state of your Remote Workstation is "**Stopped**", you will need to start it before being able to work on it. *This should take less than 3 minutes.*

<figure><img src="https://3028197268-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LYM6a76uZePOTen0dIw-887967055%2Fuploads%2FpgVGSrXl7oq24gqerLXu%2Fstart-stop-workstation.jpg?alt=media&#x26;token=e3a40e0f-856a-4212-a39d-46d909e30599" alt=""><figcaption></figcaption></figure>

You will need to refresh the page and wait for the state to be "**Ready**"

### 2 - Check you have access to Testeur

Open your backoffice link, and check you have to Testeur. The link should look like this, with `my-alias` replaced by the alias to your workstation:

<https://tc.my-alias.tc.exo7d.us>

### 3 - Check you can connect to the sandbox

Open your Terminal, and enter the command line provided in the Remote Workstation configuration

It should look like this, with `my-alias` replaced by the alias to your workstation

```
ssh user@my-alias.tc.exo7d.us -p 2222 -A
```

### 4 - Clone your first theme

Now that you are inside your sandbox, go to the folder `integration`, that will contain all your themes

```bash
cd integration
```

And now you can git clone your theme&#x20;

```bash
git clone XXXXXXX
```

And finally, in Testeur your theme should be here, you can click on "**Update theme**" to add it to the platform

### 5 - Import your first Account

When a new workstation is created, it doesn't have any websites.&#x20;

Now that you have added the first theme, you can start importing websites.

{% content-ref url="import" %}
[import](https://galaxy-cms.gitbook.io/project/remote-workstations/import)
{% endcontent-ref %}

### 6 - Editing code

Many IDEs will provide you with a way to connect remotely with SSH.&#x20;

At xo7, we use Visual Studio Code, find here our page dedicated to your setup:

{% content-ref url="developers/vsc-remote-ssh-extension" %}
[vsc-remote-ssh-extension](https://galaxy-cms.gitbook.io/project/remote-workstations/developers/vsc-remote-ssh-extension)
{% endcontent-ref %}

* In case you need to work with a specific version of Node NVM is available. \
  Read more here: [nvm-node-version-manager](https://galaxy-cms.gitbook.io/project/remote-workstations/developers/nvm-node-version-manager "mention")
* Your new workstation has no git configuration, don't forget to add your email and username. Read more here: [#git-configuration](https://galaxy-cms.gitbook.io/project/developers/sandbox-environment#git-configuration "mention")

Now that you know the basics about your Remote Workstations, feel free to deep dive in other topics:

{% content-ref url="essentials" %}
[essentials](https://galaxy-cms.gitbook.io/project/remote-workstations/essentials)
{% endcontent-ref %}

{% content-ref url="developers" %}
[developers](https://galaxy-cms.gitbook.io/project/remote-workstations/developers)
{% endcontent-ref %}
