forked from ScoDoc/DocScoDoc
99 lines
3.8 KiB
Markdown
99 lines
3.8 KiB
Markdown
# Configuration d'un environnement de développement
|
|
|
|
Quelques indications pour développer avec ScoDoc, à adapter à vos goûts et outils.
|
|
|
|
Commencez par lire
|
|
[Installation du code pour les développeurs](https://scodoc.org/git/ScoDoc/ScoDoc#pour-les-d%C3%A9veloppeurs)
|
|
|
|
## Machine virtuelle
|
|
|
|
Il est confortable de développer dans une VM (un container Docker ferait
|
|
aussi bien l'affaire).
|
|
|
|
### Conseils pour la machine virtuelle
|
|
|
|
[VirtualBox](https://www.virtualbox.org/) est facile à installer sur Linux ou
|
|
Windows. Créer une VM avec Debian 10, et suivre la
|
|
[procédure habituelle d'installation de ScoDoc](GuideInstallDebian11.md).
|
|
|
|
Sur les Macs anciens (processeurs Intel), VirtualBox fonctionne bien. Sur les
|
|
modèles "M1" (Apple Silicon), je conseille d'utiliser
|
|
[UTM](https://mac.getutm.app/) qui est facile à installer et très performant. On
|
|
installe alors une VM avec la distribution Linux Debian pour l'architecture
|
|
`arm64` (nous ne produisons pas de paquets Debian `arm64` pour ScoDoc 9, mais
|
|
l'installation est simple, ne pas hésiter à demander sur le Discord).
|
|
|
|
En général, vous préférez développer sur la machine hôte pour disposer de votre
|
|
éditeur préféré, mais exécutez ScoDoc dans la VM.
|
|
|
|
### Éditeur de texte / IDE
|
|
|
|
Si vous êtes expérimenté, vous avez vos outils préférés. Mais si vous débutez,
|
|
surtout pour un environnement de développement distant (le code développé tourne
|
|
dans une machine virtuelle ou réelle séparée de votre machine de bureau), nous
|
|
vous conseillons **VS Code** avec le module
|
|
[*Remote-SSH*](https://code.visualstudio.com/docs/remote/ssh). Ceci vous évite
|
|
de fastidieuses configurations de partage de fichiers entre les machines, il
|
|
suffit d'une connexion SSH fonctionnelle.
|
|
|
|
### Configuration réseau de VirtualBox
|
|
|
|
La VM a besoin d'accéder à Internet pour l'installation, et aussi pour les mises
|
|
à jour et peut-être certains tests que vous voudrez lancer. L'accès à la VM
|
|
depuis l'hôte doit être possible via un réseau privé interne (car vous ne serez
|
|
pas toujours connecté à Internet, et ne souhaitez pas que l'on accède à votre
|
|
serveur de test de l'extérieur).
|
|
|
|
Modifier la config réseau via l'UI graphique de VirtualBox, la VM étant éteinte.
|
|
|
|
- `Adapter 1` : accès à la VM depuis l'hôte: réseau privé hôte `vboxnet0`
|
|
|
|
- `Adapter 2` : accès à Internet depuis la VM, configurer un interface réseau NAT.
|
|
|
|
Dans le Debian, j'utilise `/etc/network/interfaces`
|
|
|
|
# The loopback network interface
|
|
auto lo
|
|
iface lo inet loopback
|
|
|
|
# The primary network interface
|
|
allow-hotplug enp0s3
|
|
iface enp0s3 inet dhcp
|
|
|
|
(le `enp0s3` désigne chez moi l'`Adapter 1`, mais c'est susceptible de changer.
|
|
Normalement, l'installateur a créé ce fichier )
|
|
|
|
Pour lancer l'interface externe , quand on a besoin d'accéder à Internet depuis
|
|
la VM:
|
|
|
|
dhclient enp0s8
|
|
|
|
ici `enp0s8` correspond à l'`Adapter 2`. Si vous travaillez sur une machine fixe
|
|
avec connexion permanente, vous pouvez dans Debian activer cette interface
|
|
constamment (modifier `/etc/network/interfaces`).
|
|
|
|
### Noms des machines
|
|
|
|
Modifier le `/etc/hosts` (ou équivalent) de l'hôte, et y ajouter l'IP de votre
|
|
VM, par exemple (adapter l'IP !):
|
|
|
|
192.168.12.10 scodoc scodoc.dev.net
|
|
|
|
### Partage de fichiers
|
|
|
|
Pour éditer votre code au chaud sur votre hôte, il y a plein de solutions.
|
|
La plus simple, déjà mentionnée, consiste à passer par une connexion SSH (VS
|
|
Code propose un module dédié très simple et performant, mais tout montage de
|
|
type `sshfs`peut aussi faire l'affaire).
|
|
|
|
|
|
!!! note "Voir aussi"
|
|
|
|
- [Conventions de codage](DevConventions.md)
|
|
- [API ScoDoc 9](ScoDoc9API.md)
|
|
- [Guide installation](GuideInstallDebian11.md)
|
|
- [Gestion des utilisateurs](AdminUsers.md)
|
|
- [Guide administrateur ScoDoc](GuideAdminSys.md)
|
|
- [FAQ](FAQ.md)
|
|
- [Contacts](Contact.md)
|
|
- |