Athena, qu'est-ce-que c'est ?
ATHENA est une plateforme d'intégration ouverte aux équipes de développements. Elle vise à :
- Rassembler les compétences sur une plateforme collaborative accessible à l’ensemble des équipes techniques
- Favoriser les démarches incrémentales grâce à des environnements de travail agiles et personnalisables
- Harmoniser les pratiques en proposant une bibliothèque commune de méthodes et d’outils reconnus pour le DevOps
Il s'agit d'un projet interne Thales Services Numériques qui vise à définir, homogénéiser, intégrer et fournir des moyens applicatifs pour les projets d’intégration et de développement Thales. L'ambition de ce projet est d’aller chercher l’innovation logicielle sur le terrain auprès des équipes, de la capitaliser et de la mettre à disposition de tous.
Athena, une offre multiple
Athena propose une plateforme collaborative et une plateforme projet aux équipes de développement. Dans le premier cas, l'équipe Athena met à leur disposition des services et un catalogue d'actifs communautaires. Dans le second, l'équipe propose un ensemble d'actifs interconnectés, préconfigurés et prêts à être déployés pour un projet indépendamment de la plate-forme collaborative.
La plateforme collaborative : des services partagés
L'équipe Athena met à disposition pour les équipes de développements, des services administrés et maintenus par une équipe dédiée. Ces services sont les suivants :
- GITLAB - Gestionnaire de source centralisé
- Confluence - Dépot de documentation
- Artifactory - Dépôts d'Artefacts destinés à la communauté
- Forum - La première source d'information sur une problématique donné
La plateforme collaborative : un catalogue centralisé et ouvert
L'équipe Athena met à disposition un catalogue d'actifs communautaires (images docker, rôles ansible, documentation, produits). Ces actifs sont de deux types : libre (fourni par un contributeur lambda), ou maintenu (fourni et maintenu par une équipe contributrice).
La plateforme projet
C'est un ensemble d'actifs interconnectés, préconfigurés et prêts à être déployée pour un projet indépendamment de la plate-forme collaborative.
Par exemple, un projet souhaiterait disposer de sa propre plate-forme dédiée dans l'un des cas suivants :
- La mise en place d'une intégration continue
- Un outil / plugin / version spécifique n'est pas fourni par la plateforme collaborative
- Un besoin en ressources spécifiques (disque, CPU) qui ne correspondent pas à la plate-forme collaborative
- Le projet veut se protéger des mises à jour ou montée de version de la plate-forme collaborative
- La stratégie de sécurité du projet nécessite un niveau de correctif donné non implémenté par la plate-forme collaborative
- La politique de sécurité du projet interdit l'utilisation d'une plateforme collaborative
Cas d'usage typique
Un projet de développement logiciel souhaite mettre en œuvre un flux de travail d'intégration continue et de déploiement continu. Le projet utilisera les services suivants de la plate-forme collaborative :
- Confluence - Pour la documentation et le wiki de son projet
- Jira - Pour la gestion des tâches et des exigences (2ème semestre 2018)
Le projet utilisera les services suivants à partir de leur propre plate-forme dédiée :
- Gitlab - Gestionnaire de sources
- Jenkins - Constructions de projets
- SonarQube - Qualité de code
- Nexus 3 - Référentiel d'actifs
Roadmap Générale de la plateforme d'intégration Athena
- Nouvelle version de plateforme projet basée sur la dockerisation des outils Gitlab, Jenkins, Sonar et Nexus
- Installation base sur AFS : Socle d’hébergement de Docker basé sur Swarm / Portainer et CephFS
- Déploiement automatisée de la plateforme par Ansible sur Cloud Thales (Rhone) et AWS
- Possibilité d’étendre la plateforme de manière standard
- Amélioration de la gestion des espaces disques utilisés par la plateforme
- Ajout de la possibilité de définir des Dashboard projet en tant qu’extension à la plateforme
- Intégration d’outils permettant l’analyse sécurité des application construite sur la plateforme
- Portage de la plateforme sur OVH public Cloud
- Amélioration de la supervision des plateformes
- Démonstration d’utilisation de Gitlab-ci (en complément de Jenkins)
- Gestion avancée des utilisateurs (SSO, gestion des droits utilisateurs)
- Déploiement de projets depuis la plateforme vers un cluster Kubernetes
- Ajout de nouveaux contrôle sécurité sur les application contruites dans la plateforme
- Travail sur la scalabilité de la plateforme et passage à Kubernetes,
- Etude d'autres technologies pour la création des infrastructure (Terraform…)
- Déploiement automatisés plus poussés qui sont demandés par beaucoup de projet et pas mutualisés, travail du cycle de vie des logiciels développés sur la plateforme
- Optimisation d'utilisation des clouds publics (en effet notre architecture, bien que compatible avec plusieurs IaaS n'est pas du tout optimale pour un cloud public type AWS, sur lequel on pourrait faire beaucoup d'optimisations au niveau cout et efficacité pour les équipes)
Nos correspondants support nationaux (CSD)
Les Correspondants Support aux Développements intéragissent avec la communauté ATHENA pour vous aider localement.
La mission du CSD est d'aider les équipes de développement logiciel, à la mise en œuvre des pratiques outillées de l’ingénierie logicielle Thales Services (eTUP). Les CSDs sont présents localement sur chacun des sites hébergeant des activités d’ingénierie logicielle et portent les rôles suivants :
|
![]() |
Qui sont-ils?
- Lille: Sébastien B.
- Paris: Robert B. / Christian B. / Khaled Z.
- Brest: Sylvain L. / Bruno L.
- Rennes: Ronny L. / Eric A.
- Nantes: Fabrice C.
- Lyon: Morgan S.
- Grenoble: Jean-Philippe D.
- Bordeaux: Thomas D.
- Toulouse: Axel D. / Zakaria G.
- Aix en Provence: Mickaël B.
- Toulon: Didier C.
- Sophia Antipolis: Frédéric M.