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 !

Un livre à lire impérativement !

Machine Learning, Intelligence artificielle, Algorithmes, autant de mots, souvent des buzz words, employés à tort et à travers, sans que leur signification soit très claire.

Avec ce livre, accessible à tout le monde, Aurélie Jean remet les choses dans leur contexte, et explique en terme simples, avec beaucoup d’exemples tirés de son expérience personnelle, ce que ces termes signifient vraiment.

De la simulation du comportement d’un élastomère chargé en nanoparticules de carbone (en l’occurence le caoutchouc) à la simulation des tensions politiques sur l’économie tout en passant par l’étude de l’impact des ondes de choc sur le cerveau et les poupées sexuelles, Aurélie Jean nous emmène pour un magnifique voyage au pays du numérique.

Elle aborde également les biais, ou comment notre vision, notre perception, déformée par notre culture, notre passé… peuvent influer sur notre jugement, et aussi notre façon de coder. Cela peut générer au mieux des situations cocasses, au pire de gros bugs !

Enfin, l’autrice nous expliquera pourquoi l’ordinateur quantique n’est pas la réponse à tout, et pourquoi « l’intelligence artificielle » (la vraie) n’est pas pour demain…

Personnellement, ce livre va rapidement devenir ma bible lorsque je devrai expliquer de manière simple ce qu’est le machine learning !

Bref vous l’aurez compris, j’étais déjà une fervente admiratrice d’Aurélie Jean via ses différentes conférences et interventions, et je suis définitivement conquise par son livre ! Il s’agit vraiment d’un ouvrage à mettre entre toutes les mains, et de toute urgence !

Tuto : transformer un raspberry Pi en serveur web

En règle générale, lorsque j’ai besoin d’un serveur web pour faire du développement, j’utilise Mamp ou une machine virtuelle Linux avec Virtualbox.

Mais là, j’avais besoin de quelque chose de plus pérenne, destiné à fonctionner h24 pour un projet perso.

C’était donc l’occasion de ressortir le Raspberry Pi de son tiroir 🙂 .

Disclaimer : Attention, ce qui est détaillé ici est valable pour un serveur servant à faire du développement, non accessible depuis Internet et sur un réseau sécurisé. En gros, il ne contiendra pas de données importantes non sauvegardées et je suis sa seule utilisatrice. Il est évident que si vous compter y héberger des sites accessibles depuis le web, une grosse partie sécurisation d’Apache n’est pas abordée ici.

Voilà, maintenant on peut rentrer au coeur du sujet. En fait, cet article se veut plus un mémo / wiki qu’un tutoriel, et je serai sans doute la première à m’y référer lorsque j’aurai une autre installation à faire.

Lire la suite

Siberian CMS : place à la pratique !

Il y a quelques temps, je vous entretenais d’une autre façon de développer des applications mobiles : Siberian CMS.

Il s’agit d’une solution libre qui prend la forme d’un CMS, dans lequel il est possible de paramétrer son application mobile. Celle-ci est ensuite générée et il est alors possible de la distribuer sur les stores.

L’avantage de Siberian CMS, outre le fait que cela soit un logiciel libre, c’est qu’il est possible (et même conseillé) que le compte nécessaire à la distribution des apps soit au nom du client final. Cela change tout, notamment pour faciliter l’acceptation de ce type d’application sur l’App Store.

Du coup, j’ai récupéré en début d’année 2021 en gestion pour le compte d’un client 2 applications Siberian et franchement, ces apps sont plutôt sympas !

La première application est celle d’une cave à bières & growlers de Lyon. L’application permet entre autres de bénéficier de :

  • Un shop en ligne
  • Une carte de fidélité
  • Une carte cadeau
  • Des notifications
  • Une visite virtuelle

Elle est disponible pour Android sur le Play Store pour iOS sur l’App Store.

La seconde application à été développée pour une fromagerie, également située à Lyon : l’Art de Choix. Comme pour le Crafterie, l’application permet de :

  • Réaliser ses achats en ligne
  • Bénéficier d’une carte de fidélité
  • Profiter de promotions, de notifications…
  • Réaliser une visite 3D

Et vous pouvez également la retrouver sur le Play Store et sur l’App Store !

Bref vous l’aurez compris, Siberian CMS, ça marche et cela peut représenter une alternative crédible pour les projet d’applications « standards » et avec un budget relativement modeste !