Prompt optimisation ou comment parler à l’oreille des IAs…

Les IA génératives, ChatGPT en tête, peuvent vraiment nous faciliter la vie. Mais si l’on veut dépasse le stade de la simple curiosité et pouvoir les utiliser comme assistantes dans un cadre professionnel, les résultats obtenus dépendent directement de la façon dons nous sommes capables de leur expliquer ce que nous attendons d’elles. En effet, pour le moment, aucune IA n’est capable de lire dans nos pensées ou dans une boule de cristal 🙂

Pour créer cet article d’initiation à l’art et la manière de créer un bon prompt, j’ai choisi de demander directement à ChatGPT ce qu’il considérait comme étant nécessaire à un prompt correct :

En résumé, les point important sont :

  • La précision
  • la mise en situation (contexte)
  • bien définir le résultat attendu.
Lire la suite

J’ai embauché un.e assistant.e ! Merci ChatGPT :)

J’avoue, le titre est un peut… aguicheur pour rester polie. Mais je n’ai pas pu résister à la tentation 🙂

Tout le monde en parle sur les internets en ce début d’année, j’ai nommé ChatGPT3, d’OpenAI.

Il s’agit d’une intelligence artificielle spécialisée dans le langage, mais tout aussi apte à vous faire la conversation, vous raconter des histoires, faire des recherches ou développer des bouts de code, voir à générer des images avec sa cousine Dalle.E 2

Du buzz ? Je n’en suis pas certaine…

Voici par exemple un article créé par ChatGPT3, non retouché, et dont la consigne était « crée un article de blog pour le débutants comparant la programmation mobile flutter et swift » :

« 

Avec l’avènement des technologies mobiles et l’évolution rapide des systèmes d’exploitation, les développeurs sont confrontés à des choix difficiles et à des décisions complexes lorsqu’il s’agit de développer des applications mobiles.

Les deux langages de programmation les plus populaires pour le développement mobile sont Flutter et Swift. Alors que Flutter est un cadre de développement mobile open source récemment lancé par Google, Swift est un langage de programmation développé par Apple pour iOS et macOS.

Flutter est un cadre de développement mobile open source basé sur le framework Google Dart. Il est conçu pour créer des interfaces utilisateur natives pour les applications mobiles. Il est également compatible avec les appareils Android et iOS, ce qui en fait un bon choix pour les développeurs qui souhaitent travailler sur les deux plateformes. Flutter offre des performances et une flexibilité supérieures, ce qui facilite le développement et l’exécution de l’application.

Swift est un langage de programmation open source développé par Apple pour le développement d’applications iOS et macOS. Il fournit une syntaxe plus intuitive que d’autres langages de programmation, ce qui le rend très facile à apprendre. Le code Swift est également plus proche du code objet-C, ce qui permet aux développeurs de transférer facilement leurs connaissances de l’environnement objet-C vers Swift.

Au final, les deux technologies sont très différentes et peuvent être utilisées de manière complémentaire pour le développement d’applications mobiles. Flutter est un cadre de développement open source qui permet aux développeurs de créer des applications natives pour les appareils Android et iOS. Swift est un langage de programmation open source qui est facile à apprendre et qui est très proche du code objet-C.

Les deux peuvent être utilisés de manière complémentaire pour le développement d’applications mobiles.

« 

C’est pas parfait, mais plutôt convainquant non ? Et là, c’est brut, sans aucune optimisation !

Mais OpenAI est aussi capable de générer des images d’illustration ou autres sur demande. Par exemple, l’image d’illustration de cet article à été faite en demandant à Dalle.e de générer une image à partir des mots : « developper mobile digital art ».

Si l’on ajoute à cela les récents progrès réalisés dans la musique générée par AI, comme le propose AIVA, je pense que cette fois, nous prenons toute vitesse le train de l’IA !

La question reste de savoir si nous l’utiliserons collectivement pour améliorer le monde ou si celle-ci restera utilisée par une poignée de personnes pour – encore plus – asservir la majorité !

Donner un peu, pour aider beaucoup…

J’ai la chance d’avoir une activité professionnelle qui me passionne et une vie personnelle épanouissante, mais j’avais envie depuis quelques temps de faire « quelque chose » qui pourrait donner un plus à ma vie.

En effet, mais peut-être est-ce l’effet de l’âge (j’assume…), je ressent comme un malaise sur ce qu’est devenu l’informatique en général. Je fais partie maintenant d’une génération d’ancien.nes informaticien.nes, et je ne pense pas trop me tromper en disant que nous n’envisagions pas, dans les années 80 – 90, qu’internet deviendrait un immense centre commercial et que les autoroutes de l’information se transformeraient en autoroutes du mensonge. Je pense que sur ce coup là, nous avons échoué.es.

Mais bon, cela n’est pas un article à la « Coeurs perdus en Atlantide« , mais plutôt un article pour vous encourager à essayer de donner un peu de temps ou de ressources afin que d’autres êtres, humains, plantes ou animaux, puissent en bénéficier.

Je suis bien placée pour savoir que quand on est d’un tempérament plutôt solitaire, voire même plutôt asociale n’est pas forcément évident.

Du coup, j’ai eu l’idée de regarder si mes compétences professionnelles pouvaient aider des causes utiles, et je suis tombée là dessus : https://benevolat.croix-rouge.fr

Cela m’a permis de consacrer un peu de mon temps libre à la création, et maintenant à la gestion, du site web de la délégation Croix-Rouge de la Manche https://manche.croix-rouge.fr :

Et franchement, j’ai découvert un autre monde, fait de respect, de don de soi et n’ayons pas peur des mots, d’abnégation 🙂

La Croix-Rouge propose des missions pour tous les profils, de toutes durée, et même en télétravail ! Donc si vous avez envie de donner un peu de temps ou de ressource, n’hésitez pas, rejoignez les nombreux.ses bénévoles de La Croix-Rouge !

Quelques nouvelles…

Comme vous l’avez sans doute remarqué, j’ai été un petit peu absente de ce blog ces derniers mois. En effet, une activité pro chargée, de gros projets personnels et un peu de bénévolat pour la Croix-Rouge ont eu raison de mon temps libre et surtout de mon énergie 🙂

Mais bonne nouvelle, je compte bien reprendre ce blog en main et vous apporter de nouveaux articles !

Je continuerai bien entendu à aborder les thèmes traditionnels du blog : développement mobile en Swift / Flutter, Arduino..

Mais aussi aborder d’autres thèmes comme la qualité logicielle, la sécurité, la création de sites et des tests de plugins WordPress…

Plus concrètement, en approche et en vrac, nous avons :

  • Une grosse mise à jour de l’application mobile Kayak Tracker
  • Quelques tutos sur AWS / EC2
  • La création d’un -petit- réseau d’Arduino Uno
  • Peut-être même, pour les plus hackers (au sens noble) d’entre nous, un peu de Cobol
  • Et quelques surprises 🙂

Alors encore un peu de patience et merci de me suivre,

Camille-Alice 🙂

Tout sur ma veille technologique

Je ne surprendrai personne en disant qu’en informatique, et plus particulièrement en développement, la veille technologique est très importante. Mais les journées ne faisant que 24 h, il est nécessaire d’optimiser ses sources de renseignements.

C’est pourquoi j’ai décidé aujourd’hui de vous partager mes trucs est astuces pour me maintenir au top niveau 😉

Dans mon cas, la veille se fait principalement le matin, au petit déjeuner. Bon, je sais que niveau déconnexion boulot, on a vu mieux, mais depuis quand doit-on déconnecter lorsque l’on est passionné.e ?

Pendant très longtemps, je me suis contentée de maintenir 10 à 20 onglets ouverts sur mon navigateur : ZDNet, LinuxFR, Stack Overflow… mais ce n’était pas très pratique.

J’ai également essayé de m’abonner aux personnes et aux flux qui vont bien sur Twitter, Reddit, et même Facebook et Google News 😦 . Si j’ai totalement laissé tomber le premier et les 2 derniers, Reddit continue à m’être bien utile !

Puis j’ai découvert l’application mobile Feedly. Le principe est simple : on sélectionne les différents flux auxquels on veut s’abonner, et chaque matin on a sont lot d’actualités toutes fraîches !

Vraiment top cette application, et cerise sur le gâteau, elle est disponible sur desktop ici, pour iOS ici, et sur Android, par là.

Mais le principal défaut des flux dans Feedly est qu’ils restent soit trop génériques, soit trop spécifiques, ce qui ne correspond pas toujours à mes besoins. Mais peut-être est-ce juste une question de paramètre, et cela n’enlève rien à l’intérêt de l’application 🙂 .

Je complète donc avec quelques sites, dont la liste varie en fonction de mes centres d’intérêts du moment.

Il s’agit du plugin daily.dev, du site Hacker News et son pendant en langue française Le Journal du Hacker.

Notez que Daily.dev existe aussi en tant que site web, ou même de web app.

Enfin, même si je suis informaticienne, je j’apprécie toujours les revues au format papier, et je ne saurait trop conseiller la lecture de la passionnante revue MISC des éditions Diamond (existe aussi au format numérique) :

Voilà pour mes outils quotidiens de veille technologique. Je mettrai bien sûr à jour cet article au fur et à mesure de mes découvertes, et en attendant, n’hésitez pas à me partager les vôtres 🙂 !

Une interface graphique pour Arduino sans prise de tête…

Cela faisait longtemps que je n’avais pas parlé de projets Arduino sur ce blog…

Il était donc temps de rattraper ça 🙂

Dans le cadre d’un projet perso (et encore secret 😉 ), j’avais besoin de réaliser rapidement et simplement une interface graphique pour piloter un Arduino Uno. Ce projet n’ayant ni bluetooth, ni wifi, et n’étant de toutes façons pas très motivée pour développer un protocole de communication, je recherchais une solution « clé en main ».

C’est à ce moment là que je suis tombée sur le projet Azande : https://zeijlonsystems.se/products/azande/index.html

L’idée ici est de coder l’interface graphique directement dans le code Arduino. A l’aide de structures simples, on définit ainsi des boutons, des compteurs…

Mais comme un exemple vaut mieux qu’un long discourt, en voici un : faire varier l’intensité lumineuse d’une led grâce à différents boutons Azande.

Voici le code :

Et l’interface générée :

En somme, les éléments d’interface se définissent dans « define_int_event », « define_int_commande » et « define_enum_command ».

La fonction loop() se borme ensuite à écouter sur le port série un flux, et, lorsque la commande « cmdLum » est reçue, à exécuter la fonction SetLum, qui change la luminosité de la led,et à envoyer une mise à jour à « eventLum » pour mettre à jour le compteur.

Côté code, difficile de faire plus simple !

Et voici le résultat :

Je suis toujours épatée par les possibilités de création offertes par ces petites cartes ! De vraies machines à générer du bonheur !

Une développeuse au pays du low code…

Une développeuse au pays du low code

Appsheet, Microsoft Power Platform, Zapier, AWS HoneyCode, Glide, Airtable, Siberian… il ne vous aura sans doute pas échappé que cette année 2020 aura été celle du low code / no code !

Bien sûr, en tant que Developpeur.se, la première réaction face à ces nouvelles méthodes de développement est souvent beuurk…

Mais en tant que développeur.se, notre métier ne consiste-t-il pas à perpétuellement se remettre en cause afin de proposer la meilleure solution technique au client.e ?

C’est en tout cas ce que je pense, et c’est pourquoi je considère que le low-code / now-code à tout à fait sa place dans mon offre 🙂

Mais d’abord, de quoi parlons nous?

Pour moi, l’idée maitresse du low code est de pouvoir produire, relativement facilement et rapidement, des outils métiers qui déchargent les entreprises des tâches à faible valeur ajoutée, ou qui permettent d’améliorer leur flux de travail.

Le mot clé étant à mon avis « rapidement ».

Même si le terme est relativement nouveau, Excel par exemple fait ça depuis très longtemps via les macros.

La différence est que maintenant, on peut faire communiquer entre eux différents logiciels, par exemple grâce à Zapier, et créer de véritables applications mobiles qui se synchronisent avec des classeurs Excel ou Suite.

Pour moi, on peut aussi les CMS modernes comme Word Press d’outils no code. Pouvoir créer des applications mobiles de cette façons était donc la suite logique.

El alors, comment ça marche ?

Lire la suite

Installer Sonarqube server sur Windows

Si vous vous intéresser un tant soit peu à la qualité de votre code, vous avez forcément un jour croisé la route de Sonarqube. Il s’agit sans doute de l’un des outils d’analyse statique de code source le plus connu.

Un excellent outil, capable d’auditer beaucoup de langages grâce à un grand nombre de modules disponibles, qui s’intègre de plus en plus dans les cycles de développement de logiciels.

Source : https://docs.sonarqube.org/latest/

La méthode classique pour se bâtir un serveur Sonarqube est de l’installer sur un serveur, de préférence fonctionnant sous linux. Une seconde possibilité est de partir d’un conteneur Docker.

Mais ces 2 possibilités peuvent s’avérer un peu « lourdes » lorsque le besoin de Sonarqube est ponctuel, et surtout, compliquées si on n’a pas de machine Linux sous la main 😦 .

Ayant eu le cas, je me suis lancée dans l’installation de Sonarqube sur un ordinateur Windows.

Et comme je suis plutôt habituée à travailler sur des machines Unix like, et bien, j’ai pas mal ramé 😦 Je me suis donc dit qu’un petit mémo en français pouvait toujours servir…

Prêt.e ? C’est parti…

Lire la suite

Git Memorandum

Comme pour tous.tes les développeur.ses, Git fait partie de mon quotidien… Et comme tous.tes les développeur.ses, il m’arrive aussi de galérer avec Git 😦 .

C’est pourquoi j’ai décidé de créer ce billet de blog « Aide mémoire », destiné aussi bien aux débutant.es qu’au utilisateur.ices averti.es… Article sur lequel je partagerai bien entendu mes petites galères et mes (grandes) solutions !

Lire la suite

Bon anniversaire Linux !

Le 25 Aout 2021, Linux aura 30 ans…

Déjà 30 ans qu’un développeur de génie à décidé de développer un noyau de système d’exploitation… et surtout de le mettre sous licence GPL.

Un grand merci à lui !

Personnellement, mon premier contact avec Linux se fit par l’intermédiaire d’une Red-Hat, en 1998…

A l’époque, habituée à Windows 98, il m’avait fallu 1 semaine de patience pour réussir à arriver sur un bureau Linux, au final pas très utilisable pour moi à l’époque…

Mais je me souviens encore de ce sentiment de triomphe d’avoir réussi à faire fonctionner mon pc (un valeureux AMD K6 2 333 avec 32 Mo de ram) sous un système d’exploitation libre. Même si à l’époque, je n’avais pas vraiment idée de ce que signifiait ce mot.

Ensuite je me suis accrochée, et, en grande partie grâce à Mandrake Linux, devenue ensuite Mandriva Linux.

Les distributions, trouvées à l’époque dans des DVDs fournis avec les magazines, sont devenues de plus en plus utilisables au quotidien.

A tel point que j’ai pu réaliser la majorité de mes rapports de stages avec Start Office sous Linux Mandrake 10 🙂

Pour moi qui appréciait de programmer en C++, la présence en natif de tout le nécessaire était un vrai bonheur, et Linux à incontestablement facilité mes débuts en développement Java et en développement web !

Ma curiosité m’a poussée ensuite à me former à d’autres choses, comme l’administration système et la sécurité :

A l’époque, dans un monde presque exclusivement dominé par Windows, j’étais encore loin de penser que je passerai en fait une grande partie de ma vie professionnelle à travailler sur des systèmes type UNIX !

Mais c’était sans compter sur les aléas de la vie, parmi lesquels le travail pour un patron inconditionnel de MacOS (oui, je sais, MacOS est basé sur BSD, pas sur Linux, mais on y retrouve quand même des similitudes), et surtout le travail sur des serveurs web basés sur l’ensemble Linux (Debian ou Ubuntu) / Apache / PHP/ MySQL !

J’ai même tenté, à une époque, d’installer Linux Mint pour des clients qui désiraient garder un ordinateur incapable de basculer sur Windows 10. Les clients, sélectionnés en fonction de leurs besoins informatiques, ont été la plupart du temps ravis. Mais hélas, il faut être réaliste, et il reste compliqué de faire tourner les logiciels utilisés quotidiennement en entreprise sous Linux (peut-être est-ce aussi une question de culture d’entreprise…).

Enfin, même si ma période « évangélisation » est maintenant révolue, j’essaie quand même de continuer à faire connaître Linux au sein des particuliers et d’initier un maximum de personnes dans la sphère professionnelle !

Voilà pour mes expériences, heureuses ou malheureuses, avec Linux.

Et vous, partagez aussi les vôtres !