- HTML 100%
| .gitignore | ||
| docker-compose.yml | ||
| README.md | ||
| roadmap.md | ||
| svn-pdm-k8s-spec.html | ||
| svn-pdm-spec.html | ||
PDM-SVN
PDM-SVN est une plateforme de gestion de données techniques (Product Data Management) destinée aux clubs étudiants en ingénierie.
Objectif
Fournir une infrastructure centralisée, fiable et simple d'utilisation pour la gestion collaborative des fichiers de conception, de simulation et de documentation.
Pourquoi SVN ?
Le projet utilise Subversion (SVN) plutôt que Git comme moteur de gestion de versions.
Ce choix est motivé par :
- le support natif du verrouillage de fichiers;
- l'adaptation aux fichiers binaires volumineux;
- la simplicité du modèle centralisé;
- la compatibilité avec les workflows CAD traditionnels.
Ces caractéristiques sont particulièrement adaptées aux outils comme SolidWorks, CATIA et AutoCAD.
Pourquoi SCM-Manager ?
SCM-Manager fournit :
- une interface web d'administration;
- la gestion des utilisateurs;
- la gestion des groupes;
- la gestion des permissions;
- l'administration des dépôts SVN.
Il permet d'éviter l'administration manuelle des fichiers de configuration SVN et constitue la couche de gestion principale du système.
Domaines visés
- Génie mécanique
- Génie aérospatial
- Génie électrique
- Robotique
- Véhicules autonomes
- Fabrication et prototypage
Types de fichiers
- SolidWorks
- CATIA
- AutoCAD
- Fusion 360
- Ansys
- MATLAB / Simulink
- Documents techniques
- Résultats de simulation
Priorités
- Fiabilité du stockage
- Sauvegardes automatisées
- Traçabilité complète des modifications
- Verrouillage des fichiers critiques
- Simplicité de restauration
- Administration accessible aux futurs responsables
Architecture
TortoiseSVN / svn
↓
SCM-Manager
↓
Dépôts SVN
Déploiement local (dev)
Côté serveur
docker compose up -d
- Accès à l'interface Web :
http://localhost:8081
- Création d'un compte admin La première connexion requiert un token d'initialisation et la configuration d'un nom d'administrateur, un courriel de contact (ne sera pas vérifié) et un mot de passe.
docker logs scm-manager
Chercher "Startup token for initial user creation" dans le log.
- Plugins
SCM-manager va suggérer des plugins. On peut les ajouter plus tard à partir de Plugin-Center plus tard.
- Login
Avec le nom d'admin et le mot de passe configurés dans l'étape 1 (nom par défaut=scmadmin).
- Création d'un répertoire
Bouton Add repository
Donner un nom, choisir Subversion comme type. Les autres sections sont optionnelles.
- Ajouter des utilisateurs
Dans l'onglet Users en haut de la page. Bouton Create User. Username, display name et le mot de passe sont obligatoires.
- Création de groupe
Dans l'onglet Groups en haut de la page.
- Configurer la permission d'un répertoire Dans le répertoire, aller dans Settings>Permissions. Add New Permission. Choisir User Permission ou Group Permission. Saisir le nom de l'utilisateur ou du groupe, son rôle et les permissions à accorder.
Côté client
Les clients n'utilisent généralement pas SCM-Manager.
Ils accèdent aux dépôts SVN à l'aide d'un logiciel client :
- TortoiseSVN sous Windows;
- svn sous Linux et macOS.
Connexion avec TortoiseSVN sur Windows
Télécharger et installer TortoiseSVN
Pour récupérer un projet :
- Créer ou choisir un dossier local.
- Faire un clic droit dans ce dossier.
- Sélectionner SVN Checkout...
- Entrer l'URL du dépôt.
Exemple URL :
http://IP_DU_SERVEUR:8081/scm/svn/NOM_DU_DEPOT
Linux
Installation :
Debian
sudo apt install subversion
NixOS
nix-shell -p subversion
Arch
sudo pacman -S subversion
Récupérer un dépôt :
svn checkout http://IP_DU_SERVEUR:8081/scm/svn/NOM_DU_DEPOT
Mettre à jour la copie locale :
svn update
Envoyer ses modifications :
svn commit -m "Description des changements"
Gestion de projet
Dans SCM-Manager, aller dans Administration>Plugins>Available. Dans la section Issue Tracker, prendre Redmine.
- section à compléter...
Tester le serveur
Un checklist de tests et des liens de téléchargement d'échantillons sont disponible dans roadmap.md, section Tests à réaliser et Échantillons de fichiers.
Autres possibilités à explorer
- Peut-on lier l'authentification par un système que le club a déjà?
- À quoi l'infra va ressembler? Côté réseau?