Articles

Svelte offre une flexibilité remarquable pour créer des composants dynamiques. Dans ce tutoriel, nous allons explorer comment instancier des composants à la volée et leur transmettre des propriétés de manière élégante et efficace.

Une application web professionnelle est une solution logicielle spécialisée conçue pour aider les entreprises à gérer efficacement leurs opérations. Contrairement aux applications génériques comme les plateformes de commerce électronique (comme Shopify) ou les outils de planification (comme Doctolib), une application web professionnelle traite généralement les informations fournies par les clients, applique une logique spécifique à l’entreprise et renvoie un résultat qui aide à atteindre les objectifs de la dite entreprise.

J’ai un switch clavier/souris/écran pour connecter 2 PC : un sous Linux et un sous Windows.

Quand je connecte tous les ports, cela fonctionne, mais à chaque bascule vers le laptop Windows, j’ai une reconfiguration de l’écran, mes fenêtres sont déplacées et cela m’énerve. Le switch fait comme si j’avais débranché/rebranché l’écran physiquement et Windows se sent obligé d’adapter toute la disposition !

J’ai souvent besoin de coder un moyen d’afficher plusieurs sous-pages au même endroit : par exemple, un panneau de configuration avec plusieurs pages. La façon naturelle de coder ça, c’est avec des onglets.

Saisie de tags

L’idée est de coder une saisie de “tags” comme dans l’animation ci-dessus.

  • Un champ texte, dans lequel je rentre des mots.
  • Dès que je tape une virgule ou Entrée, la saisie se transforme en “tag”.
  • Le tag apparaît à côté du champ avec une petite croix pour le supprimer.

Je récupère la liste des tags dans une structure de données facile d’utilisation : par exemple, un tableau de string.

Au gré d’une discussion sur un discord de programmation, une affirmation m’a rendu perplexe : Go ne serait pas un langage objet.

On peut personnaliser l’interface de Firefox, par exemple pour supprimer la barre d’onglet :

  1. Changer les préférences de Firefox pour permettre de personnaliser son interface.

Sqlite Pure Go 2022.11.06

Serait-il possible d’embarquer une base de données dans son programme pour éviter de gérer une instance MySQL ou Postgres ?

Encore plus fort, cette base peut-elle être interrogée en SQL ? C’est que je n’ai pas envie d’apprendre une autre façon de requêter les données.

Udev Webcam 2022.04.01

Vous pouvez forcer l’emplacement de la webcam d’un point de vue “device linux” : même si on change le port USB, on pourrait toujours avoir notre webcam sur /dev/video99 (par exemple).

Avec des écrans 4K, la console linux devient illisible : la police de caractère est trop petite. Alors comment faire pour agrandir sa taille pour avoir une console lisible après démarrage ?

Lorsque les clients exprimaient leurs besoins dans le contexte d’un projet informatique, il m’était très difficile, voire impossible, d’obtenir l’ordre dans lequel ils voulaient voir se concrétiser leurs demandes.

Cette note explique comment afficher une horloge géante sous Linux sans utiliser de programme particulier ni utiliser une application web comme time.is. Avec juste votre terminal et quelques commandes, vous pourrez obtenir ce qui suit :

Git local 2019.12.02

On n’est pas obligé d’utiliser Git avec un dépôt sur un serveur : on peut tout à fait avoir les avantages de Git (la gestion des versions) en utilisation locale, sans serveur distant. Pour cela, on définit un dépôt quelque part sur son disque dur avec l’option de commande “bare init”.

On peut facilement modifier le prompt du client mysql, et ainsi repérer dans quelle instance MySQL on se trouve.
C’est très utile lorsqu’on doit jongler entre plusieurs bases, et qu’on finit par ne plus savoir dans laquelle on se trouve :-)

Pour réduire la taille d’un container Docker, on peut créer l’image en partant de rien, ou plus précisément, en partant de “scratch”, qui ne contient rien. On obtient à la fin un container beaucoup plus léger que si l’on partait de Debian, ou pire, d’Ubuntu.

Pour se débarraser du démarrage graphique sur Linux, on peut modifier sa configuration grub :

# modifier la configuration grub
sudo vi /etc/default/grub

# supprimer les options splash, quiet, ... de la variable GRUB_CMDLINE_LINUX_DEFAULT
GRUB_CMDLINE_LINUX_DEFAULT="text"

# sauvegarder et relancer grub
sudo update-grub

Dans le cas où vous avez absolument besoin d’insérer une date dans MySQL, qui n’est pas valide, par exemple le 30 février 2014, vous pouvez exécuter le server MySQL dans un mode spécial pour autoriser ces dates :

« Un peuple prêt à sacrifier un peu de liberté pour un peu de sécurité ne mérite ni l’une ni l’autre, et finit par perdre les deux. »

Marchandage 2015.02.09

Aujourd’hui, je me sens dans la peau de ce vendeur.

Vidéo

Après avoir shooter une proposition commerciale à un client, ce dernier me répond être intéressé mais à un prix bien inférieur. Ca m’a rappelé cet extrait des bronzés :-D

Lorsqu’on tente de monter un disque usb via son file manager (Thunar ou Nautilus), on peut avoir un message d’erreur ’not authorized’. Lorsqu’on a un environnement de bureau à la Gnome ou KDE, toutes ces histoires de gestion des droits est pris en charge de façon transparente. Mais quand on veut avoir un environnement hyper léger, il y a des manipulations  à faire pour contourner certains problèmes. Voici la marche à suivre :

La mode n’est plus aux photos géantes en fond de page. Maintenant, c’est au tour des vidéos !

Comme ça, vous voulez carrément afficher une vidéo comme fond de votre site web ? Grâce à HTML5 et CSS3, c’est super simple. Suivez le guide !

2048 Gremlins 2014.04.28

Laissez jouer les Gremlins à 2048 !

Connaissez vous 2048 , un petit jeu qui fait le buzz en ce moment : en faisant glisser les tuiles numérotées pour combiner celles qui sont identiques, on les cumule en espérant atteindre une tuile de 2048 !

Google Calendar permet de partager un calendrier avec d’autres utilisateurs du domaine Apps. Mais dès qu’on veut donner la possibilité à une personne extérieure au domaine, de modifier l’agenda, on se heurte à un problème de taille : la liste de choix ne permet que d’afficher les disponibilités. Rien pour le détail et encore moins pour modifier l’agenda.

Let's groove ! 2014.01.19

letsgroove

Je me suis mis à Groovy, un langage dynamique .

Bref, pour me forcer à l’utiliser me motiver à l’apprendre, je code des minis applications qui pourront servir un jour : je me base sur l’idée d’Unix, plein de petites applis qui font qu’une chose mais qui le font bien. Et là, j’ai commencé avec un afficheur de code barre (tiens, tiens, mais pourquoi donc ? )

minimalist everything

Lorsque je consulte Gmail, j’ai toujours la partie droite de mon navigateur qui est occupée par de la publicité non sollicitée. Je sais bien que c’est grâce à ça que Google vit et nous permet de profiter gratuitement de ses services, mais comme je ne vais JAMAIS cliquer dessus, et que j’aimerai bien récupérer l’espace occupé, j’ai cherché un moyen de les enlever : et je suis tombé sur Minimalist for everything .

processlist-refresh

Voici une petite astuce pour surveiller ses serveurs mysql sans déployer d’outil particulier :

mysqladmin -u root -p -i 5 processlist

L’option -i ou - sleep en version longue permet de spécifier une durée en seconde pour répeter la commande. Très pratique pour du dév en local et prend quasi pas de ressource.

ZX 81 Basic 2013.09.13

Livre en ligne ZX81 Programmation Basic (en anglais)

Je viens de trouver, en ligne, le bouquin dans lequel j’ai appris à programmer à l’age de 11 ans. Petite nostalgie quand tu nous tiens ;-)

J’ai une configuration minimaliste sur mes ordis : GNU/Linux/Ubuntu pour la couche OS et dwm pour l’interface graphique. Pour avoir un minimum de confort sur le portable, j’aime bien être alerté quand la batterie arrive à 5%. Jusque là, j’utilisais xmessage qui ouvrait une fenêtre avec le message d’alerte. Mais une fenêtre qui s’ouvre brutalement sous dwm, un “tiling window manager” ça n’a pas le même effet que sur les windows managers classiques : c’est très intrusif, surtout en plein édition de code…

Je cherche activement à louer des nouveaux bureaux pour Softinnov. La rue Caumartin c’est vraiment bien mais j’ai remarqué que les  prix ont bien chutés dans le quartier et j’en avais assez de me faire plumer. Du coup, quelques lectures d’annonces plus tard et me voilà à visiter quelques locaux.

rdesktop -r disk:toto=/home/user/path your.server.com -r sound:local

Un client nous a demandé de migrer son application qui tournait sur une Debian vers une plateforme Windows en VM pour mutualiser ses coûts d’administration. Pas de grosse difficulté puisque l’application avait été faite sous java en 2004 (presque 10 ans, ça nous rajeunit pas).

nexus7

Tablette nexus7

Je viens de l’acheter via ma petite entreprise Softinnov .

Mauvaise idée ? Pourtant, passer par ma boite me permet de déduire la TVA et du coup toucher l’objet du délit à -19,6%. Mais voilà, Google ne donne pas de facture, par défaut, et ma comptable n’apprécie pas trop les achats non justifiés.

Dialogue de sourd, aujourd’hui, avec une web-conseillère de Sosh, auprès de laquelle j’ai tenté vainement de lui faire comprendre qu’il n’y avait rien dans les conditions générales qui m’empêchait de souscrire une offre au nom de ma boîte. Seule réponse faite : “c’est que pour les particuliers, pour les pros, allez voir chez Orange !”. A croire qu’Orange ne souhaite pas se délester de cette vache à lait.

Depuis quelques mois, je travaille pour une grande entreprise dans le domaine de la finance. Ce qui est bien avec les grandes entreprises, en tant que consultant, c’est d’avoir du boulot. Pas évident d’avoir toujours des chantiers lorsqu’on est une PME mais il semble que chez les grosses boites, il y a toujours de quoi faire. Tant mieux pour moi.

Un ami m’a demandé le nécessaire pour rendre son Ubuntu Gnome complétement public, c’est-à-dire qu’aucun mot de passe ne soit demandé. Je pensais que ce serait simple à priori. Et bien il en n’est rien. Voici un petit mémo des étapes à suivre pour rendre son Ubuntu Gnome complétement libre d’accès !

Il y a quelques temps, j’avais fais une note sur la Khan Academy : je trouvais génial le gars et son initiative de mettre en ligne des cours sur tous les sujets qui l’intéressaient. Et bien, j’apprends que Google lui accorde des fonds dans le cadre de leur projet 10 puissance 100 ! Ce ne sont pas moins de 10 millions de dollars à se partager entre les 5 lauréats sélectionnés par Google, pour financer leurs idées.

Jean-Michel Billaut publie sur son blog quelques histoires sur les prémisses d’Internet en France, à travers son expérience professionnelle, et notamment au sein de l’Atelier Télématique de la Compagnie Bancaire. C’est toujours aussi croustillant, surtout lorsqu’on voit la réaction de nos “élites” face à la nouveauté et à leur immense talent de visionnaire ! Et c’est pour moi beaucoup de bons souvenirs puisque j’ai fais mes armes en tant que “garagiste” de l’Atelier.

Carte du citoyen portugaise

Vous ne parlez pas portugais ? C’est dommage, car sachez que nos voisins ibériques disposent depuis quelques temps d’une évolution technologique que j’aurai appréciée pour notre Gaule : la carte du citoyen, une petite carte qui permet de s’identifier auprès de tous les services publics !

Yamaha a créé un logiciel permettant à l’ordinateur de chanter des textes accompagnés de musique. J’avais déjà connaissance d’expérimentations dans la synthèse vocale, et je savais qu’on était arrivé à un niveau correct et compréhensible. Mais là, on est bien au dessus puisqu’il s’agit de chanter ! La techno s’appelle Vocaloid et le résultat est tout simplement surprenant. L’exploit est en parti dû à l’utilisation de voix d’acteurs ou chanteurs qui sont re-combinés dans leur outil pour donner cette qualité de rendu.

Le captcha ? C’est ce test qu’on vous demande de réussir pour prouver que vous n’êtes pas un robot lorsque vous remplissez un formulaire. La plupart du temps, on nous demande de recopier un texte complétement déformé ou brouillé. C’est enquiquinant et pas toujours évident d’arriver à décrypter le texte.

J’aime bien cette vidéo. Habituellement, on voit des têtes d’enterrement dans le métro. Là, les gens ont la banane qu’ils prennent le toboggan ou qu’ils observent les autres glisser, et ça fait plaisir.

C’est fou ce qu’on trouve comme blogueurs qui vous expliquent comment devenir riche en… bloguant.

Ca me rappelle furieusement cette méthode immorale qui consiste à proposer à tout à chacun de s’enrichir facilement tout en restant à la maison. Vous n’avez jamais reçu ce genre de pubs? Celles qui vous promettent de vous envoyer la méthode infaillible pour gagner 10 fois votre salaire sans bouger de chez vous ? Évidemment le tout moyennant finances !

Pour donner un coup de main à sa cousine éloignée par la distance, Sal (diminutif de Salman) filme des cours de maths qu’il met à disposition sur youtube. Ca marche tellement bien qu’il finit par quitter son job d’analyste financier pour se consacrer à plein temps à son école en ligne, la KhanAcademy, gratuite et ouverte au monde : plus de 1200 vidéos allant de l’algèbre à l’histoire de la révolution française, qu’il a entièrement réalisées seul !

Tirés des travaux de Jakob Nielsen, voici 10 principes à garder à l’esprit afin de concevoir une interface ergonomique :

  1. Visibilité de l’état du système : Tenir informé l’utilisateur de ce qui se passe de façon appropriée et dans un temps raisonnable.
  2. Adéquation avec le monde réel : Utiliser le langage de l’utilisateur, avec des mots, des phrases et des concepts qui lui sont familiers et bannir les termes techniques. Faire apparaître les informations dans une séquence naturelle et logique.
  3. Contrôle & liberté : Permettre à l’utilisateur d’annuler ou de rejouer une action pour le laisser se sortir d’un état non voulu (choix par erreur).
  4. Cohérence et standards : Adopter les conventions (métier, culture, …) pour ne pas forcer l’utilisateur à se poser des questions sur le sens d’un mot, d’une situation ou d’une action dans son contexte.
  5. Prévention des erreurs : Prévenir les problèmes que pourrait rencontrer l’utilisateur par le design : éviter les conditions favorisant les erreurs ou les vérifier en demandant confirmation à l’utilisateur
  6. Reconnaître plutôt que se souvenir : Faciliter la reconnaissance des objets, actions et options. Laisser les instructions d’utilisation visibles ou accessibles, à chaque fois que l’utilisateur en a besoin.
  7. Flexibilité : Autoriser les utilisateurs à personnaliser les actions récurrentes.
  8. Design minimaliste : Supprimer les informations ou les décorations non pertinentes ou rarement nécessaires qui diminue la visibilité des informations clés.
  9. Aider l’utilisateur à gérer les erreurs : Formuler les messages d’erreur en langage clair (pas de codes), indiquer précisément le problème et suggérer une solution pour le résoudre.
  10. Aide et documentation : Même si le système doit pouvoir être utilisé sans documentation, fournir de l’aide et de la documentation, faciles à trouver, concises, centrées sur la tâche de l’utilisateur, indiquant concrètement les étapes à suivre.
The fun theory 2010.02.05

Comment changer les gens pour qu’ils adoptent de bonnes pratiques ? Par la morale ? Par la contrainte ? Non, par l’amusement !

Les inventions de Pranav Mistry sont géniales. J’en avais déjà parlé dans ma brève sur 6e sens et il nous revient encore sur TED avec une nouvelle présentation enrichissante sur d’autres expérimentations qu’il mène dans son labo du MIT. Il finit par une nouvelle réjouissante : il compte mettre tous les softs sur lesquels il travaille en opensource afin de fournir ses technologies au plus grand monde.

Bruce Chapiro est médecin. En 1990, il tombe sous le charme d’images produites par ordinateur. Depuis, il conçoit d’incroyables machines pour produire des oeuvres d’art. Ma préféré “Sisyphe” permet de dessiner dans le sable des formes géométriques à l’aide d’une boule d’acier pilotée par des aimants. Cela ressemble un peu aux écrans magiques.

Inspiration 2010.01.21

Jouer ensemble pour changer le monde, d’où qu’on soit, sans se rencontrer… C’est beau, c’est bien fait et c’est utile.

En essayant de réhabiliter un vieux PC avec la dernière Ubuntu (Jaunty 9.04), je me suis confronté à un souci de configuration de ma webcam avec Skype : les gens avec qui je travaille sont sur Skype et ne sont pas informaticiens (juste pour éviter les “mais skype c’est mal, faut utiliser xxx” - mettre votre logiciel libre préféré à la place des xxx)

6e sens 2009.04.20

Une idée raffraichissante d’ingéniosité et de pragmatisme et qui me fait regretter d’avoir quitté le milieu universitaire, tellement l’approche a du sens. Et quel sens ! Un 6e sens qui complète à merveille nos 5 biologiques. Grâce à une webcam, un projecteur miniature et un téléphone mobile, Pranav Mistry, petit génie du MIT, lie le virtuel et le réel. Regardez la vidéo, écoutez Pattie Maes la directrice de projet au MIT, c’est époustouflant.

GMail off-line 2009.02.04

gmail-offline

Et hop ! La fonctionnalité que j’attendais dans gmail est arrivée dans le lab de Google : la possibilité de consulter ses emails sans être connecté.

Voici une présentation du “girl effect”, ou effet fille, dans laquelle on nous explique comment combatre la pauvreté en orientant les efforts sur les filles. Par exemple, au Bangladesh, à l’aide d’un crédit de 4000 Takka, une jeune fille a acheté une vache, qui rapporte par sa production de lait 500 Takka par mois, consacrés au remboursement du prêt, à l’alimentation, à l’éducation de son jeune frêre, etc… etc…

J’utilise régulièrement les services en ligne de La Poste pour envoyer du courrier. Après avoir préparé mon courrier en PDF, j’utilise le service https://lettreenligne.laposte.fr pour rematérialiser mon courrier (PDF vers papier), le mettre sous pli et l’envoyer. Ca marche aussi pour les recommandés. Enfin, ça marche… c’est un bien grand mot.

Encore une news qui tombe sur la lourdeur des cartables d’école des bambins, sur le nombre impressionnant de livres, de fournitures à transbahuter de l’école à la maison, et vice-et-versa, avec à chaque fois le coup de gueules des associations de parents, l’alerte des médecins sur la déformation de la colonne des enfants et des risques de frein de la croissance.

Chandler 2008.09.29

Chandler

Chandler est un logiciel permettant de s’organiser, tout seul ou à plusieurs.

Son principe est basé sur la gestion de notes, que ce soit des réflexions, des actions, des évènements, des rendez-vous, … tout se résume à une note, sur laquelle vous pouvez écrire un commentaire (le contenu de la note ou de l’action), l’ajouter au calendrier, lui ajouter une alerte, l’envoyer par e-mail, etc, etc… Et surtout, vous ne gérez que 3 états sur les notes : NOW, LATER, DONE, respectivement maintenant, plus tard et fait.

punition

Encore un site à garder précieusement lorsqu’on est encore à l’école : Free Punishment Generator.

Une petite application web qui permet de créer des punitions automatiquement en indiquant la ligne de texte à reproduire, le nombre de fois et hop ! La punition est faite.

GTD my way 2008.09.08

Voici ma compréhension de GTD ( Getting Things Done ) en application sur ma vie professionnelle. La INBOX (tout ce qui rentre) et les catégories en haut à droite représentent mes listes, qui peuvent prendre différentes formes : pochette plastique pour tout ce qui est papier, e-mail et dossier sur mon ordi pour tout ce qui est électronique.

En copiant un lien vers mon bureau depuis ie6, je me retrouve avec le message suivant :

ie6-oui-ou-non

Si je répond “oui”, c’est censé faire quoi ? Déplacer ou copier ? Et si je répond “non” ?
Pas simple de comprendre les produits Microsoft.

Après avoir modifier l’url dans la page d’option WordPress, le site n’était plus accessible… Cela arrive lorsqu’on fait la modif avant de mettre en place le .htaccess avec la règle de rewriting, ou alors qu’on se plante sur l’url. Pour réparer, sans être obligé d’installer un phpmyadmin, voici les commandes mysql :

Quand on tapes un ou plusieurs mots dans la barre d’adresse, et que Firefox n’identifie pas une url bien formée, il va tenter une recherche sur le service Google “I’m Feeling Lucky” : en gros, il essaye de faire coincider les mots tapés avec un nom de domaine existant.

Après avoir fait le ménage sur mon Ubuntu, et plus particulièrement après avoir désinstallé tout un tas de packages gnome, j’ai perdu la liaison entre Firefox et Thunderbird : un clic sur un lien depuis Thunderbird n’ouvrait plus Firefox, et vice-et-versa, impossible d’avoir un mailto: qui ouvre Thunderbird.

A la mise en place de pptp sous Linux/Debian, j’ai constaté des déconnexions fréquentes, sans explications claires. Pptp test régulièrement la ligne avec les clients, et s’il constate un time-out, il coupe l’accés.
Il est possible d’augmenter le time-out pour diminuer les déconnexions, et plus particulièrement sur des lignes à faible débit. Pour cela, sur le serveur, visualisez le fichier de configuration de pptpd :

Jetty Launcher est un plugin qui permet de piloter Jetty depuis Eclipse. La version 1.3.0 de Jetty Launcher ne fonctionne pas directement avec Eclipse version 3.1.0 : en suivant la procédure pour l’utiliser, le message d’erreur suivant apparait dans l’Error Log (via menu Window / Show View) :
Problems occurred when invoking code from plug-in: “org.eclipse.jface”.

Il est possible d’utiliser des outils traditionnellement dévolus au monde *NIX sur des plateformes Windows (c), grâce aux différents portages existants. Celui que j’utilise dèss que j’ai la malchance de travailler sur l’OS de Redmond, est le “Gnu utilities for Win32”. On y trouve ZSH, qui porte le nom de SH dans l’archive.

ComboDrive 2005.05.26

Le ComboDrive est un adapteur SD/Mini SD/MMC/RS MMC vers USB, qui a la taille d’une clé USB. Insérez-y vos mini-cartes et brancher le à votre PC pour lire le contenu aussi facilement qu’une clé de stockage USB.

Cet article a pour objet la mise en place d’un environnement de bureau graphique sous Linux utilisant peu de ressources systèmes.
Il vise à donner une alternative acceptable face aux mastodontes que sont KDE ou GNOME, sur des configurations matérielles “dépassées”.
Les outils utilisés sont : ROX-Filer, Oroborus, FBPanel.
L’une des applications les plus utilisées sur des systèmes dits “utilisateur” (en opposition aux serveurs) est l’environnement de bureau. Cette application est l’interface principale et permet l’accés aux autres applications via différents composants :