Pages

dimanche 21 avril 2024

Révolutionner le processus de création des logiciels grâce à l’Intelligence Artificielle Générative

Réinventer chaque phase du cycle de vie des logiciels

D’après la présentation faite par Sébastien Méric.

 Depuis plus de 70 ans les informaticiens développent des applications informatiques. Cette activité est encore aujourd’hui très artisanale. Elle souffre de deux maux :

-        La complexité des opérations à effectuer,

-        La faible productivité des développeurs.

Pour y faire face on a adapté la gestion de projet au développement de logiciels avec le modèle en cascade, le cycle en V, les méthodes agiles, … De nombreux outils ont été inventé pour faciliter le travail des programmeurs comme l’identification et le suivi des tâches, la gestion des temps, la rédaction automatique de compte-rendu des réunions ou d’entretien, la rédaction de résumé de ces documents, … Ils sont nombreux et un nombre croissant d’entre eux recourent à l’Intelligence Artificielle mais ils n’ont pas, jusqu’à aujourd’hui, permis de réaliser des gains importants.

Depuis un peu plus d’un an on assiste au développement très rapide de l'Intelligence Artificielle Générative (IAG) et de ses usages. Chaque jour on découvre de nouvelles applications notamment en informatique. Celle-ci sont en train de révolutionner le monde du développement des logiciels, offrant un soutien inestimable à chaque étape du processus, allant de l’émergence de l’idée de la future application (l'idéation) à la fin de l’exploitation de l’application après des années de bons et loyaux services (le décommissionnement).

 L'Intelligence Artificielle Générative (IAG) intervient aux différents stades du projet

 Elle permet d’abord d’améliorer la gestion de projet qu’elle soit faite selon le modèle classique en cascade ou à l’aide d’une méthode agile. Elle permet de :

-        Automatiser les comptes-rendus de réunion, y repérer les tâches et les décisions sans en oublier aucune,

-        Automatiser et optimiser le suivi des tâches,

-        Gérer la répartition des ressources,

-        Estimer l’ensemble des charges y compris celle des utilisateurs et des testeurs,

-        Prévoir les délais et notamment les dates où doivent intervenir les utilisateurs et les décideurs,

-        Préparer les tests,

-        Permettre une planification plus efficace et une exécution du projet plus fluide.

Cette technologie apporte d’abord une valeur ajoutée significative lors de l’étape de conception, notamment pour produire les spécifications. Elle peut :

-        Faciliter le recueil des besoins en offrant aux futurs utilisateurs la possibilité de répondre de manière libre à des questions ouvertes afin de décrire sous forme de texte ce dont ils ont besoins et ensuite d’en faire automatiquement la synthèse sans rien oublier,

-        Rédiger les documents de spécification détaillés (cahier des charges) à partir de textes décrivant ce que la future application doit faire,

-        Proposer des maquettes d'interface utilisateur (écran, état, fichier),

-        Suggérer une architecture logicielle optimales en fonction des besoins spécifiés.

Durant les phases de développement, l'Intelligence Artificielle Générative (IAG) se révèle particulièrement précieuse :

-        Produire automatiquement du code dans le langage qu’on souhaite mettre en œuvre à partir d’une simple description de ce qui est souhaité figurant dans la spécification détaillée,

-        Préparer et automatiser les tests. Il est ainsi possible de rédiger le cahier de tests à partir du code, de proposer des scénarios et de générer les paramètres nécessaires pour effectuer automatiquement les tests à partir de logiciels comme : Selenium de Headspin,

-        Organiser la gestion des bouchons (mise en place et suppression en fin de test),

-        Fournir des commentaires pertinents sur la qualité du code produit par les développeurs, en se basant sur les meilleures pratiques de programmation. Le système peut ainsi suggérer des améliorations du code et notamment des optimisations.

Cette assistance permet aux développeurs de se concentrer sur des aspects plus créatifs et complexes du développement logiciel, tout en assurant une plus grande efficacité et une réduction des erreurs.

On estime qu’avec un système d’IAG comme Copilot, développé par Microsoft à partir de GPT et fonctionnant sur GitHub les gains de productivité sont compris entre 20 et 30 %. Ils ne sont pas faciles à mesurer mais cela semble un ordre de grandeur raisonnable.

 Le rôle de l'Intelligence Artificielle Générative (IAG) dans la vie du logiciel

 Une fois l’application en production il va être nécessaire de la maintenir. C’est une charge de travail conséquente notamment si on ne dispose que d’une documentation incomplète ou, pire, si elle a été perdue ou si elle est obsolète. Avec un logiciel comme ChatGPT il est possible d’améliorer la gestion de la maintenance :

-        Produire à partir d’un code une documentation technique exhaustive et en bon français, même si l’application est très ancienne et qu’aujourd’hui peu de personnes connaissent le Cobol ou le Fortran,

-        Produire automatiquement un diagnostic du code, faciliter le débogage en identifiant les bugs, en suggérant des corrections et même des améliorations,

-        De plus, il est possible de générer du code complémentaire de qualité et performant à partir de simples commentaires pour, par exemple, renforcer des contrôles ou ajouter des résultats dans des sorties,

-        Unifier les noms des variables dans l’ensemble du code de l’application avec des libellés clairs et compréhensibles de façon à faciliter sa lecture,

-        Assister les exploitants afin de planifier et de mettre en œuvre les nouvelles versions de logiciel.

Enfin, les systèmes recourant à l'Intelligence Artificielle Générative (IAG) sont très utiles lorsque l’application est en fin de vie, lors du décommissionnement. Ils permettent à ce moment de :

-        Mieux évaluer les impacts de ces changements,

-        Planifier la transition,

-        Aider à la migration des données vers la nouvelle application,

-        Assurer une clôture de l’application de manière ordonnée et complète.

 En somme, l'Intelligence Artificielle Générative (IAG) n'est pas seulement un outil supplémentaire aux mains des développeurs leur permettant de faciliter leur travail mais c'est, en fait, un véritable partenaire qui transforme la manière dont le développement logiciel est envisagé et réalisé, ouvrant la voie à une ère nouvelle d'efficacité et d'innovation.

 

Ce texte est un résumé de la conférence faite par Sébastien Méric au Club de la Gouvernance des Systèmes d’Information le Mercredi 28 Février 2024 sur le thème : « Révolutionner le processus de création des logiciels grâce à l’Intelligence Artificielle Générative » avec comme sous-titre : « Réinventer chaque phase du cycle de vie des logiciels ». Elle a permis de faire le point sur ce sujet et de répondre à quelques questions clés comme :

-           Comment les systèmes à base d'Intelligence Artificielle Générative (IAG) modifie le cycle de vie des projets ?

-           Est-ce que ces démarches sont compatibles avec des démarches type modèle en cascade ? Et en méthode agile ?

-          Quelles sont les fonctions assurées par les systèmes d’Intelligence Artificielle Générative (IAG) ?

-          Quelles sont les gains de productivité permis par cette approche ? Et quels sont les gains de qualité ?

-        Comment est modifié le travail du développeur ?

-          Peut-on améliorer les spécifications faites par les utilisateurs ?

-          Est-ce que les systèmes d’Intelligence Artificielle Générative (IAG) permettent de rénover une vieille application écrite dans un langage anti-diluvien (réengineering) ?

-          ….

Lire ci-dessous le support de la présentation de l’exposé de Sébastien Méric :

                                                                                                                     Slide

1 – L’IAG accompagne l’entreprise dans toutes ses fonctions          2

2 – L(IAG dans le cycle de vie logiciel                                              4

3 – 5 méthodologies de développement de projets informatiques      5

4 – Quelle couverture du cycle complet                                           11

5 – L’Intelligence Artificielle Générative dans le cycle de

            Développement                                                                     12

6 – L’IAG pour l’idéation                                                                 13

7 – L’IAG pour la conception                                                           15

8 – L’IAG pour le développement                                                    17

9 – L’IAG pour la production du code                                             19

10 – Exemples d’outils de production de code                                20

11 – L’IAG pour le test applicatif                                                    22

12 – L’IAG et la mise en production et déploiement                       26

13 – L’IAG pour faire évoluer l’existant                                          28

14 – L’IAG et le décommissionnement                                            29

 

dimanche 31 mars 2024

La sobriété numérique est au cœur de la gouvernance numérique

 D’après la présentation faite par Christine Debray

 Les ressources naturelles que nous utilisons finissent par s’épuiser, notamment celles qui ne sont pas renouvelables comme les énergies fossiles (pétrole, gaz, charbon, …) mais aussi les minéraux et les terres rares. De plus leur emploi se traduit par des pollutions considérables notamment par le CO2 mais aussi par des déchets liés à leur extraction. Ce processus a commencé au 18ème siècle avec la révolution industrielle et elle s’est considérablement accélérée depuis les années 50 et notamment ces vingt dernières années. Tous les secteurs sont concernés et en particulier le numérique.

Au cours des soixante dernières années l’informatique s’est considérablement développée et les progrès réalisés ont été très importants. Ils ont permis d‘optimiser la gestion des entreprises, d’accélérer les échanges de biens et de services, de développer les communications, … Le numérique est devenu partie importante de nos vies. C’est aujourd’hui la solution à de très nombreux problèmes qui, jusqu’alors freinaient le développement de nos sociétés. Mais, la partie négative de ce processus ne doit pas être oubliée. On a ainsi constaté l’accroissement de la pression écologique qui est trop souvent sous-évaluée.

Les faits sont têtus

Les émissions de gaz à effet de serre liées au numérique étaient estimées en 2020 à 3 à 4 % du total des émissions mondiales. En France elles sont un peu inférieures (2,5 %) mais on estime qu’elles vont croitre et être multipliées par 3 à l’horizon 2050.  Quant à la consommation électrique du numérique en France, elle était estimée à 10 % de la consommation française en 2020, mais pourrait augmenter de 80% en 2050.

On pense, bien entendu, aux considérables consommations électriques des centres de traitement. Il y en a 5.000 dans le monde et la moitié appartiennent aux GAFAM. Mais, en réalité, ils ne représentent (en France) que 16 % de l’empreinte carbone associé au numérique. A cela on peut leur associer les consommations des réseaux qui sont de l’ordre de 5 %. C’est, en fait, la plus petite partie des pollutions constatées. Les 79 % restant sont dues aux terminaux : smartphones, PC, tablettes, imprimantes, écrans, … C’est considérable.

Cette pollution n’est pas tant dû à la consommation électrique ni à l’entretien de ces équipements mais à leur fabrication qui représente près de 80 % de leur empreinte carbone. De plus le nombre de ces équipements est considérable. On évalue qu’il y a 34 milliards d’objets en fonctionnement dans le monde soit plus de 4 par habitant de cette planète ou, autrement présenter 15 équipements par ménage.

Or, pour les fabriquer il est nécessaire d’utiliser de nombreux minerais et terres rares. Leur extraction et leur raffinage se traduisent par des pollutions graves et irrémédiables. Ainsi, pour produire un portable pesant 2 kilos il faut extraire 800 kilos de minerais et de matières premières, sans compter l’eau, l’énergie et les produits chimiques nécessaires pour les raffiner. 

Pour limiter cette dérive, il est nécessaire de définir une stratégie. Elle se résume par les 3 R : Réduire la consommation, Réutiliser les équipements et Recycler les matériaux.

Dans le monde, seulement 20% des matériels numériques sont collectés pour, soit être recyclés, soit leur donner une deuxième vie. Il est toujours préférable de prolonger la vie d’un matériel en leur reconditionnant et lui offrant une seconde vie sur un marché de seconde main. En effet, le recyclage des matériels est consommateur en énergie et en autres ressources et très peu de matières peuvent être correctement recyclées. Pour faire naitre un secteur du recyclage et du reconditionnement en France, un appel à projet a été ouvert par l’Etat sur 2023 et 2024.

Une affaire de gouvernance

Dans ces conditions il faut réagir, dans le secteur numérique comme dans tous les autres secteurs. L’Etat a mis en place un Secrétariat Général à la Planification Ecologique en juillet 2022, rattaché aux services du premier ministre pour :

-        Aller plus vite et plus loin en matière d’écologie,

-        Mieux coordonner les actions,

-        Adapter les choix aux réalités locales et individuelles,

-        Envisager la transition écologique comme source de nouvelles opportunités.

En janvier 2023, un plan et une feuille de route ont été établis dont les points clés concernent :

-        Mieux se déplacer,

-        Mieux se loger,

-        Mieux préserver et valoriser nos écosystèmes,

-        Mieux produire,

-        Mieux se nourrir,

-        Mieux consommer.

En décembre 2023 est sortie la feuille de route « numérique et données » pour aider par le numérique à la réalisation de la feuille de route de la transition écologique.

De plus, pour limiter l’empreinte écologique des administrations d’état, une mission interministérielle a été mise en place dans la DSI groupe de l’état : la MINUM-ECO pour coordonner les actions des ministères pour un numérique plus sobre. Un reporting est établi deux fois par an celui-ci et permettra de suivre les progrès réalisés. Chaque Ministère est concerné. A la Culture cela s’est traduit par la définition de 39 actions dont une partie concerne le numérique et en quelques mois 21 ont déjà été mises en place. A terme 60 actions sont prévues.

Les quatre leviers recommandés par l’ADEME pour un numérique sobre sont :

-        La stabilisation du parc des terminaux,

-        L’augmentation de la durée de vie des équipements en veillant de les choisir en fonction de leur réparabilité,

-        La conception des équipements de façon à avoir des matériels plus efficaces et moins consommateurs d’énergie,

-        L’encouragement de la sobriété des usages et en veillant à appliquer les bonnes pratiques de conception et de consommation des services numériques.

Ces leviers concernent l’ensemble des secteurs économiques. Le secteur culturel, pris au sens large, occupe près de 70% de la bande passante d’Internet. Bien entendu, une bonne partie correspond plus à du divertissement qu’à de la culture. Mais cela va évoluer car dans les années à venir car on prévoit que le numérique va être tiré par la culture qui est un remarquable vendeur d’imaginaire. C'est un enjeu considérable car les impacts écologiques du numérique sont importants. Ceci fait que la sobriété numérique est au cœur de la gouvernance numérique. Pour y arriver des changements de posture vont être nécessaire afin de réussir à mettre en œuvre un numérique durable. 

 

Après avoir travaillé pendant 40 ans en informatique, notamment comme DSI, Christine Debray est aujourd’hui chargée de mettre en place la sobriété numérique au sein du ministère de la Culture


Ce texte est un résumé de la conférence faite par Christine Debray au Club de la Gouvernance des Systèmes d’Information le Mercredi 20 Mars 2024 sur le thème : « La sobriété numérique est au cœur de la gouvernance numérique ». Elle a permis de faire le point sur ce sujet et de répondre à quelques questions clés comme :

-        Quelle est la situation du secteur du numérique face à la montée des préoccupations écologique ?

-        Quelles sont les activités du numérique les plus polluantes ?

-        Où se situent les enjeux principaux et les risques majeurs ?

-        Comment améliorer les performances écologiques du numérique ?

-        Que fait l’Etat ? Quelle stratégie écologique met-il en œuvre ?

-        Dans ce contexte quel est le rôle de la culture ? Pour quelles raisons c’est un secteur clé ?

-        De quelle manière le secteur privé peut contribuer à améliorer la performance écologique du numérique ?

-        ….

Lire ci-dessous le support de présentation de l’exposé de Christine Debray :

                                                                                                                      Slide

1 – Introduction                                                                                   3

2 – Les autres impacts écologiques                                                     7

3 – Les impacts du numérique                                                           11

4 – Les gaz à effet de serre du numérique                                         12

5 – L’empreinte carbone des centres de traitement, des réseaux

       et des terminaux                                                                          18

6 – Le poids de la fabrication des terminaux                                     19

7 – Le poids de l’extraction minière                                                  21

8 – L’importance des déchets et leur faible recyclage                      23

9 - La gouvernance à mettre en place                                                27

10 – La planification écologique                                                       30

11 – La gouvernance écologique au Ministère de la Culture           34

12 – Les principaux leviers d’action                                                 35

13 – Le poids du streaming vidéo                                                     37

 

lundi 22 janvier 2024

La véritable stratégie de Facebook et des réseaux sociaux

 Jusqu’où ira Facebook dans un océan informatique où se succèdent les déferlantes

par Pierre Berger.

 Facebook, c’est avant tout un homme : Marc Zuckerberg. Il a une personnalité étonnante. Aujourd’hui il a 40 ans et il est à la tête d’une fortune de 120 milliards de dollars. L’entreprise comprend 86.000 salariés mais il la dirige entouré par une petite équipe comprenant seulement une dizaine de collaborateurs de haut niveau.

Après deux années difficiles 2022 et 2023 est-ce que l’entreprise va reprendre la rapide croissance qu’elle a connu dans le passé. Que va-t-il se passer dans les années à venir ? Il est impossible de le prédire étant donné les évolutions très rapides du secteur et notamment l’impact de l’Intelligence Artificielle et en particulier les progrès sidérants constatés depuis un an l’IA Générative, sans parler des évolutions erratiques de la situation internationale et les contraintes dues à la transition de l’écologie.

Des milliards d’utilisateurs à travers le monde se servent quotidiennement des réseaux sociaux et en particulier de Facebook. Ainsi dans ma ville, à Maison Lafitte, il existe un site d’échange ouvert à tous les habitants. 12 000 membres fréquentent ce groupe, ce qui fait beaucoup pour une ville de 25 000 habitants. C’est un moyen très performant pour informer les gens La véritable stratégie de Facebook et des réseaux sociaux »

Jusqu’où ira Facebook dans un océan informatique où se succèdent les déferlantes aussi pour résoudre les mille et un petits problèmes du quotidien comme les chiens recherchés ou les objets perdus. C’est aussi un moyen d’échanger entre les participants sur des sujets d’intérêt communs comme les décisions ou les non-décisions de la Mairie, les nouveaux permis de construire... En fait, seule une petite minorité est vraiment active et le reste des utilisateurs se contente de s’informer et, le cas échéant, de cliquer des « like ».

Le projet d’origine de Marc Zuckerberg était ambitieux et généreux. Il voulait donner la parole aux gens afin que chacun puisse s’exprimer librement et gratuitement. C’est une forme absolue de la démocratie. Mais il y a loin des intentions à la réalité. Depuis deux décennies, il a manifesté en toutes circonstances un pragmatisme assez éloigné des considérations théoriques ou des grands principes éthiques. En fait son véritable objectif est la croissance de Facebook et le profit à tout prix. En effet ce réseau social est un support de publicité très efficace et plus le trafic est important plus les gains de l’entreprise sont importants. Pour cela il suffit d’inciter les participants à échanger et très vite à polémiquer. Très vite le ton monte et les invectives arrivent. C’est la porte ouverte au défoulement de tous les frustrés du monde.

Dans ces conditions les efforts de modération deviennent marginaux. Normalement tout message mensonger, choquant ou haineux devrait être rapidement supprimé. Mais, compte tenu du nombre de sites dans de très nombreuses langues cela devient très vite « mission impossible ». Les équipes chargées de faire ce travail ont été réduites au profit d’algorithmes à base d’Intelligence Artificielle avec des résultats incertains.  

Techniquement, Marc Zuckerberg pousse ses développeurs à aller le plus vite possible pour passer de l’idée à la mise en production avec, par exemple, la volonté d’effectuer tous les développements en DevOps plutôt que de recourir à des développements méthodiques effectués dans le cadre des projets : « Done is better than perfect ». C’est le « vite fait, bien fait sur le coin du gaz ». Cette stratégie technique est audacieuse et originale dans le cadre d’un site ayant un si grand nombre d’utilisateurs et un trafic aussi important mais on retrouve ce type de politique dans un nombre croissant de sites de commerce électronique. C’est une stratégie risquée notamment à cause des risques de dégradation des performances mais ça marche et c’est le principal.

En fait Marc Zuckerberg, malgré ses discours officiels, rejette les grands principes de « qualité » ou de « vérité ». Ce qui compte, c’est la mobilisation des utilisateurs. Pour cela il faut mesurer cet « engagement ». Les équipes spécialisées de Facebook ont dans ce but développé un indicateur majeur : le MSI (Meaningful Social Interaction). Il permet d’évaluer la dynamique des échanges entre les participants en mesurant les interactions, le degré de participation, les attitudes des intervenants et le niveau de sécurité perçues par les personnes. Cet indicateur est notamment utilisé pour alimenter le « newfeed » qui affiche en permanence à l’écran des informations choisies par les algorithmes pour attirer l’attention des utilisateurs. Il est très utile mais, l’expérience montre qu’il a tendance à accroitre l’agressivité des intervenants. Ce n’était peut-être pas l’objectif recherché mais c’est le résultat obtenu.

A cela s’ajoute le poids des puissants. Ce sont des personnalités ayant une grande visibilité, des groupes de pression puissants ou des états comme les Etats-Unis, l’Inde ou le Myanmar, n’hésitent pas à faire pression sur Facebook. Face à ce type de « problèmes » il existe des solutions mais Marc Zuckerberg les a toutes rejetées. Ces attitudes opportunistes montrent bien toutes les ambiguïtés de l’entreprise.

Cependant rien n’est définitif dans le domaine des réseaux sociaux. Chaque jour on constate que de nouveaux « breakthroughs » surviennent sans prévenir et qui vont influencer les évolutions du système notamment dans le domaine de l’Intelligence Artificielle. Nous surferons sur de véritables déferlantes …

Ce texte est un résumé de la conférence que Pierre Berger a fait au Club de la Gouvernance des Systèmes d’Information le Mercredi 10 Janvier 2024 sur le thème : « La véritable stratégie de Facebook et des réseaux sociaux. Jusqu’où ira Facebook dans un océan informatique où se succèdent les déferlantes ». Elle a permis de faire le point sur ce sujet et de répondre à quelques questions clés :

-        Quelles sont les raisons du succès des réseaux sociaux ?

-        Quelles sont les utilisations pratiques possibles ?

-        Quelles sont les vrais objectifs de Facebook ?  

-        De manière pratique comment les utilisateurs se servent des réseaux sociaux ?

-        Comment lutter contre les comportements perturbateurs ?

-        Après les années difficiles de 2022 et 2023 va-t-on assister en 2024 à un redémarrage ?

-        Peut-on améliorer la qualité des échanges ou doit-on prioriser la liberté d’expression ?

-        Comment contrôler les contenus sans censurer ?

-        ….

Lire ci-dessous le support de présentation de l’exposé de Pierre Berger :

                                                                                                          Slide

1 – La force de l’âge et les moyens d’agir                              2

2 – Le site de Maisons-Lafitte sur Facebook                          4

3 – La croissance avant tout                                                  12

4 – La gouvernance des contenus                                         15

5 – Modération                                                                      17

6 – Les puissants ont tous les droits                                      21

7 – Conclusion                                                                       27