Ma vision de l'ingénierie

J'ai des addictions, l'une d'entre elle est l'ingénierie, voila c'est dit mais je me soigne. De temps en temps je fais de la lecture de science-fiction pour stimuler la créativité et l'imaginaire ou bien je dors pendant des jours par pure fatigue psychique. Avant je me détendais sur EVE Online, j'étais un hard core gamer, cela m'obligeait à utiliser Windows car la compatibilité des jeux sous GNU/Linux laisse à désirer mais avec Proton de Steam cela commence à changer.

On remarque que des choses évoluent et aujourd'hui nous sommes encore dans un âge relativement sombre de l'ingénierie dans le sens que l'éducation ce fait par des institutions, c'est un problème très français que la reconnaissance par le diplôme et le classement de l'école d'ingénieur. Alors j'aimerai promouvoir pour les autodidactes l'ingénierie mais il y a des domaines que cela reste encore relativement fermée. En réalité les métiers de l'informatique on déjà relativement bien basculé en 10 ans grâce aux MOOC plus particulièrement et des initiatives pour former les ingénieurs à moindre coût donnant accès pour les pays en voie de développement ou ceux qui sont loin de l'université pour raison de localisation, de prix, de place etc... Les métiers de l'ingénierie informatique étant immatériel, le savoir circule rapidement sur internet. Quelques liens populaires:

  • Codecademy propose d'apprendre la programmation dans 12 langages différents gratuitement (Python, Javascript, C++, Ruby etc) et des parcours à la carte payant pour construire une carrière.
  • Teach Yourself Computer Science  est un site qui donne accès aux meilleurs livres pour apprendre l'informatique en désignant par sujet d'apprentissage. J'ai entendu plusieurs fois sur internet dans les groupes de discussion des gens faire référence au "dragon book" sur les compileurs.
  • OSSU: Open Source Society University a démarré par un simple repository sur Github de la promesse d'apporter aux autodidactes en informatique l'éducation nécessaire, c'est une communauté avec un serveur Discord.

Si dans l'informatique il est possible de suivre des cursus en autodidacte, c'est que tout a commencé en libérant les compileurs qui sont les outils de création de logiciel. Le plus célèbre est GCC du projet GNU de Richard Stallman. Le paradigme allait changer en ingénierie qui est souvent défini selon l'offre et la demande dans une économie de la rareté. L'ingénierie informatique est précurseur d'une économie post-pénurie dans le sens que le capital immatériel peut-être copier à l'infini.

Ce qui est amorcer par le logiciel libre, c'est que dans le domaine de l'esprit une oeuvre peut-être copier à l'infini à partir du moment que les outils de création sont libre. Cette liberté va accélérer l'innovation en ouvrant le code source on permet la copie et l'amélioration, l'audit en conséquence. La révision, le contrôle de version pour des projets précurseurs demande de coordiner les programmeurs de collaborer à plus de mille personnes sur le même code d'ou la naissance de Git d'un besoin du noyau Linux.

En réalité l'ingénierie va évoluer en conséquence sur tout modèle immatériel pour le manipuler dans la réalité physique. On réalise un modèle abstrait d'un objet qui s'éxecute par du code informatique. On peut réaliser des formes avec du code informatique, c'est au final une structure dépendante des compileurs puis des moteurs de rendu graphique simulant la physique.

Alors on va me dire, si l'informatique est capable d'optimiser les calculs on devraient avoir les mêmes modèles d'objets physique? C'est le cas dans l'aéronautique, un avion chez Boeing ou Airbus admet la même forme aérodynamique. On a atteint un optimum, et cela ce retrouve également dans le design de navire furtif. C'est du standard, la différentiation est un mythe dans l'ingénierie de pointe. On cherche toujours à aller au meilleur rapport qualité/prix, ainsi on va standardiser des méthodes de conception qui sont commune aux constructeurs, si dans l'automobile on voit naitre des alliances comme Stellantis (Abarth, Alfa Romeo, Chrysler, Citroën, Dodge, DS Automobiles, Fiat Automobiles, Fiat Professional, Jeep, Lancia, Maserati, Opel, Peugeot, Ram, Vauxhall) c'est qu'il y a des composants standards dans le savoir-faire des entreprises que l'on peut fusionner pour réduire les coûts.

Alors on va me dire mais ils nous mênent en bateau? Je pense que le cas le plus parlant est le réacteur nucléaire. La France n'a pas inventé des nouveaux réacteurs nucléaire mais a utilisé une licence sur les brevets commerciaux de Westinghouse. Framatome à l'époque etait lié à l'accord d'exploitation. Car en réalité il n'y a pas 36 techniques pour réaliser un réacteur nucléaire optimum à eau préssurisé. On devenait dépendant de l'inventeur, cette guerre de brevet on peut aussi la trouver avec les profils NACA qui va réduire l'adoption de l'invention et sa diffusion.

Hors la copie est la règle en invention, ce qui est utile à la société appel la demande qui créé des standards, plus vous cherchez à optimiser vos produits plus ils se ressemblent entre concurrents. On est totalement dépendant des calculs informatiques qui eux s'en contre-fiche des brevets et des monopoles. Ce qui est standard est copié sinon cela sera volé. C'est un pousse au crime.

Pour l'instant les outils de création sont ouvert en informatique accélérant l'innovation quand en conception mécanique on réduit l'accès sous licence. Conséquence? Tous le monde pirate les logiciels que cela soit des étudiants, profs ou PME. En Chine le bureau d'étude tournait sous licence piraté pour tous les logiciels. On trouve cela absurde? Pourquoi ne pas ouvrir les outils de création? Car ils se font la guerre encore entre logiciels et ce copie espérant détenir le standard, c'est à dire l'adoption par tous les ingénieurs. La suprématie, le monopole cela fait rêver. Alors ils ajoutent des fonctions pour ce diversifier et ce démarquer des concurrents tels que des outils de calculs d'élements finis, la CFD (Computational Fluid Dynamique) c'est à dire le calcul d'équation de la mécanique des fluides tel que Bernoulli, Navier-Stokes, conservation de la masse. De la conception parametrée à la PLM (Product Lifecycle management), tout ça c'est du vent car cela n'a pas été pensée en architecture et modularité. Aucun programmeur n'a accès au code source pour ajouter des fonctions. 

Et donc ils vont rater un virage encore une fois dans le sens qu'il faut rendre accessible des standards, innover dans les méthodes de collaboration sur des projets complexes pour les industriels, monétiser les inventions. 

Le modèle économique pourrait être calquer sur un logiciel comme Metasploit. Une base en ligne de commande qui gère les fonctions standards comme:

  • Créer un utilisateur, initier un projet ou rejoindre un existant à travers une base de donnée partagée, mettre à jour un fichier (Git)
  • Gestion de document, explorateur de fichier
  • Accès aux API pour créer des modules
  • Initialiser les modules
  • Configurer des paramètres logiciels
  • Auditer du code
  • Ajouter une intelligence artificielle (ligne de commande comme le projet Jarvis)
  • Traiter des formes(openscad) et canevas 2D
  • Convertir des formats à la volé

Il faut que cela soit très modulaire, réutilisable, un point de vue architecte de système, et l'utilisation en mode ligne de commande doit être essentiel. Ensuite on créer des modules que l'on gère selon une politique de développement de l'entreprise en version stable dont:

  • Moteur rendu graphique
  • PLM
  • FEM 
  • CFD
  • Monétisation des inventions( smart contract )
  • L'impression
  • Prototypage rapide
  • Conception paramétrée, gamme de produit
  • Data Mining dans les bases de brevet

Tout ça sera optimum grâce aux recherches en informatiques ou l'on va payer des ingénieurs MAIS grâce aux API chacun peut créer ces modules, il faut juste créer le socle comme une carte mère en logiciel libre tel une plateforme de développement en ingénierie mécanique. L'utilisation des modules est soit payantes pour la version entreprise, soit libre d'accès et personnalisable. Comme certains calculs d'équations sont parfois long, il faudra choisir un modèle distribué et partager la ressource entre les utilisateurs. 

Alors on va dire, c'est un MEGA Git pour l'ingénierie mécanique en architecture distribuée decentralisée. C'est vers quoi l'ingénierie bascule, ou l'on retrouve des tendances sur les systèmes complexes ou la collaboration est au centre du logiciel. Les outils de créations doivent permettre d'innover plus vite, que cela soit chez des industriels, des entrepreneurs ou des ingénieurs au fin fond du Kenya. Le travail en remote est le futur de l'ingénierie mécanique et comme tout métier avec un capital immatériel, la copie doit être facilité et les standards répertoriés.

Alors j'apprends la conception logicielle, et je suis très enthousiaste de déployer le projet, je réfléchis encore dans quel langage programmer, étant un extremiste du logiciel libre, utilisé GCC est la base, mais en orienté-objet est plus intélligent comme du C++, de plus il y a plus de bibliothèques de développement, c'est le langage le plus rapide à la compilation. 

J'ai besoin de ce logiciel pour plus tard créer mon labo de recherche & développement dans la propulsion et le minage spatial c'est une brique indispensable pour concevoir, traité des masses de données et recruter les meilleurs talents à l'international.