Outils et environnement technique
BBC-Partners Solutions - Direction Innovation et Technologie
1. Stack technique par pôle
1.1 Vue d'ensemble
┌─────────────────────────────────────────────────────────────────────────────┐
│ STACK TECHNIQUE DIT │
└─────────────────────────────────────────────────────────────────────────────┘
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ FRONTEND │ │ BACKEND │ │ MOBILE │ │ DEVOPS │
├─────────────┤ ├─────────────┤ ├─────────────┤ ├─────────────┤
│ HTML/CSS/JS │ │ Python │ │ Flutter │ │ Docker │
│ React/Vue │ │ PHP │ │ React Native│ │ CI/CD │
│ TypeScript │ │ Node.js │ │ Swift/Kotlin│ │ Linux │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ IoT │ │ R&D │ │ DATA SCIENCE│
├─────────────┤ ├─────────────┤ ├─────────────┤
│ Arduino │ │ Polyvalent │ │ Python │
│ ESP32 │ │ Prototypage │ │ Pandas │
│ MQTT │ │ POC │ │ ML/BI │
└─────────────┘ └─────────────┘ └─────────────┘
1.2 Pôle FrontEnd Dev
| Catégorie |
Technologies |
| Langages |
HTML5, CSS3, JavaScript, TypeScript |
| Frameworks |
React.js, Vue.js |
| Styling |
Sass/SCSS, Tailwind CSS, Bootstrap |
| Build tools |
Webpack, Vite |
| Tests |
Jest, Cypress |
| Qualité |
ESLint, Prettier |
1.3 Pôle BackEnd Dev
| Catégorie |
Technologies |
| Langages |
Python, PHP, JavaScript (Node.js) |
| Frameworks |
Django, Laravel, Express.js |
| Bases de données |
PostgreSQL, MySQL, MongoDB |
| ORM |
SQLAlchemy, Eloquent, Sequelize |
| API |
REST, GraphQL |
| Tests |
PyTest, PHPUnit, Mocha |
| ERP |
Odoo (Python) |
1.4 Pôle Mobile
| Catégorie |
Technologies |
| Cross-platform |
Flutter, React Native |
| iOS natif |
Swift, SwiftUI |
| Android natif |
Kotlin, Jetpack Compose |
| Tests |
XCTest, Espresso, Flutter Test |
| Distribution |
App Store Connect, Google Play Console |
1.5 Pôle DevOps
| Catégorie |
Technologies |
| Conteneurisation |
Docker, Docker Compose |
| Orchestration |
Kubernetes (si applicable) |
| CI/CD |
GitLab CI, GitHub Actions, Jenkins |
| Infrastructure |
Linux (Ubuntu, Debian) |
| Monitoring |
Prometheus, Grafana, ELK Stack |
| Cloud |
Selon hébergeur partenaire |
| Scripting |
Bash, Python |
1.6 Pôle Team IoT
| Catégorie |
Technologies |
| Microcontrôleurs |
Arduino, ESP32, ESP8266, Raspberry Pi |
| Langages |
C/C++, MicroPython |
| Protocoles |
MQTT, HTTP, CoAP, LoRa, BLE |
| Plateformes cloud |
AWS IoT, Azure IoT, ThingsBoard |
| Capteurs |
Température, humidité, mouvement, etc. |
1.7 Pôle Data Science
| Catégorie |
Technologies |
| Langages |
Python, SQL |
| Librairies |
Pandas, NumPy, Scikit-learn, TensorFlow |
| Visualisation |
Matplotlib, Seaborn, Plotly |
| BI |
Power BI, Tableau, Metabase |
| Notebooks |
Jupyter, Google Colab |
| Bases analytiques |
PostgreSQL, ClickHouse |
2. Outils de développement
2.1 Gestion du code source
| Outil |
Usage |
Accès |
| Git |
Versioning |
Tous les développeurs |
| GitLab / GitHub |
Hébergement des dépôts, CI/CD |
Équipe DIT |
Organisation des dépôts :
bbc-partners/
├── maintex/
│ ├── maintex-frontend # Application web Maintex
│ ├── maintex-backend # API Maintex
│ └── maintex-mobile # Application mobile Maintex
├── projects/
│ ├── client-a-projet-x # Projets clients
│ └── client-b-projet-y
├── odoo/
│ ├── odoo-modules-custom # Modules Odoo personnalisés
│ └── odoo-integrations # Connecteurs et intégrations
├── iot/
│ └── iot-projects # Projets IoT
└── shared/
├── libraries # Librairies partagées
└── templates # Templates de projet
2.2 Environnements de développement (IDE)
| IDE |
Usage principal |
Pôles |
| VS Code |
Développement polyvalent |
Tous |
| PyCharm |
Python, Django, Odoo |
BackEnd, Data Science |
| WebStorm |
JavaScript, TypeScript |
FrontEnd |
| Android Studio |
Android |
Mobile |
| Xcode |
iOS |
Mobile |
| Arduino IDE |
Firmware |
IoT |
2.3 Outils de test
| Type de test |
Outils |
| Tests unitaires |
Jest, PyTest, PHPUnit |
| Tests d'intégration |
Postman, Newman |
| Tests E2E |
Cypress, Selenium |
| Tests mobiles |
Appium, XCTest, Espresso |
| Tests de charge |
JMeter, Locust |
3. Outils de gestion de projet
3.1 Suivi des tâches et backlog
| Outil |
Usage |
| Jira / GitLab Issues / Trello |
Gestion du backlog, sprints, tickets |
Structure des tickets :
- Epics : Grandes fonctionnalités
- User Stories : Besoins utilisateurs
- Tasks : Tâches techniques
- Bugs : Anomalies à corriger
3.2 Documentation
| Outil |
Usage |
| Confluence / Notion / Wiki GitLab |
Documentation projet et technique |
| Swagger / OpenAPI |
Documentation des APIs |
| Storybook |
Documentation des composants UI |
3.3 Communication
| Outil |
Usage |
| Slack / Microsoft Teams |
Messagerie instantanée |
| Email |
Communications formelles |
| Visioconférence |
Réunions à distance |
4. Infrastructure et environnements
4.1 Environnements applicatifs
| Environnement |
Objectif |
Accès |
Déploiement |
| Local |
Développement individuel |
Développeur |
Manuel |
| Dev |
Intégration continue |
Équipe DIT |
Automatique (CI) |
| Staging |
Recette et validation |
DIT + DPS |
Automatique |
| Production |
Utilisateurs finaux |
Tous utilisateurs |
Manuel (validé) |
4.2 Architecture type
┌─────────────────────────────────────────────────────────────────────────────┐
│ ARCHITECTURE ENVIRONNEMENTS │
└─────────────────────────────────────────────────────────────────────────────┘
LOCAL DEV STAGING PRODUCTION
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Poste │ │ Serveur │ │ Serveur │ │ Serveur │
│ développeur │ │ Dev │ │ Staging │ │ Production │
├─────────────┤ ├─────────────┤ ├─────────────┤ ├─────────────┤
│ Docker │ │ Docker │ │ Docker │ │ Docker │
│ Compose │ │ CI/CD │ │ Config │ │ HA/LB │
│ │ │ │ │ similaire │ │ Backup │
│ │ │ │ │ à Prod │ │ Monitoring │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
│ │ │ │
└─────────────────┴──────────────────┴──────────────────┘
│
┌─────────▼─────────┐
│ Base de données │
│ (par environnement)
└───────────────────┘
4.3 Hébergement
| Service |
Fournisseur |
Usage |
| Serveurs |
Hébergeur partenaire |
Applications, bases de données |
| Stockage |
Hébergeur partenaire |
Fichiers, backups |
| CDN |
À définir |
Assets statiques (si besoin) |
4.4 Sécurité infrastructure
| Mesure |
Description |
| Pare-feu |
Filtrage des accès réseau |
| SSL/TLS |
Chiffrement des communications |
| VPN |
Accès sécurisé à l'infrastructure |
| Backup |
Sauvegardes quotidiennes |
| Monitoring |
Surveillance 24/7 |
5. Pipeline CI/CD
5.1 Étapes du pipeline
┌─────────────────────────────────────────────────────────────────────────────┐
│ PIPELINE CI/CD │
└─────────────────────────────────────────────────────────────────────────────┘
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ LINT │──▶│ BUILD │──▶│ TEST │──▶│ SECURITY│──▶│ DEPLOY │
└─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘
│ │ │ │ │
▼ ▼ ▼ ▼ ▼
Code style Compilation Tests auto Scan sécu Déploiement
Formatage Artefacts Couverture Dépendances Environnement
5.2 Configuration type (GitLab CI)
stages:
- lint
- build
- test
- security
- deploy
lint:
stage: lint
script:
- npm run lint # ou équivalent selon le projet
build:
stage: build
script:
- docker build -t app .
test:
stage: test
script:
- npm run test
coverage: '/Coverage: \d+\.\d+%/'
security:
stage: security
script:
- npm audit # ou équivalent
deploy_staging:
stage: deploy
script:
- ./deploy.sh staging
only:
- develop
deploy_production:
stage: deploy
script:
- ./deploy.sh production
only:
- main
when: manual
6. Outils de monitoring et observabilité
6.1 Surveillance applicative
| Outil |
Usage |
| Prometheus |
Collecte de métriques |
| Grafana |
Tableaux de bord et visualisation |
| Sentry |
Suivi des erreurs applicatives |
6.2 Surveillance infrastructure
| Outil |
Usage |
| Grafana |
Dashboards infrastructure |
| Alertmanager |
Gestion des alertes |
| Uptime monitoring |
Disponibilité des services |
6.3 Logs
| Outil |
Usage |
| ELK Stack |
Centralisation et analyse des logs |
| Loki |
Alternative légère pour les logs |
7. Matrice outils / pôles
| Outil |
FrontEnd |
BackEnd |
Mobile |
DevOps |
IoT |
R&D |
Data |
| Git |
● |
● |
● |
● |
● |
● |
● |
| VS Code |
● |
● |
○ |
● |
● |
● |
● |
| Docker |
○ |
● |
○ |
● |
○ |
○ |
○ |
| Jira/GitLab |
● |
● |
● |
● |
● |
● |
● |
| Postman |
● |
● |
● |
○ |
○ |
○ |
○ |
| Grafana |
○ |
○ |
○ |
● |
○ |
○ |
○ |
Légende : ● Utilisation principale | ○ Utilisation ponctuelle
8. Gestion des accès
8.1 Principe du moindre privilège
Chaque collaborateur dispose uniquement des accès nécessaires à ses fonctions.
8.2 Matrice des accès
| Ressource |
Développeur |
Resp. Pôle |
Scrum Master |
Directeur DIT |
| Dépôts Git (lecture) |
● |
● |
● |
● |
| Dépôts Git (écriture) |
● |
● |
○ |
● |
| Environnement Dev |
● |
● |
○ |
● |
| Environnement Staging |
○ |
● |
○ |
● |
| Environnement Production |
○ |
○ |
○ |
● |
| Outils de monitoring |
○ |
● |
○ |
● |
| Administration infrastructure |
○ |
DevOps |
○ |
● |
Légende : ● Accès complet | ○ Accès limité ou sur demande
Documents connexes
Document maintenu par la DIT - BBC-Partners Solutions
Aucun commentaire à afficher
Aucun commentaire à afficher