On ne fait pas de la magie

Aller au contenu | Aller au menu | Aller à la recherche

jeudi 27 février 2014

HTML et CSS pour les CMS

Publier un site Web pour présenter son activité, écrire un blog, … est aujourd’hui très aisé grâce aux CMS (Wordpress, Joomla, …) ou aux outils de publication en ligne (Weebly, 1and1, Facebook, …).

Ces solutions proposent de nombreuses mises en forme prédéfinies, des templates, des pluggins qui permettent de personnaliser très finement son site. Mais parfois, il faut modifier du code HTML ou des styles CSS pour obtenir exactement la présentation souhaitée ou pour améliorer le référencement. Et là, on se trouve confronté à des aspects techniques de compréhension de la syntaxe et de l'utilisation du HTML ou du CSS. 

Une formation HTML et CSS classique n'est pas très bien adaptée pour maitriser ces aspects techniques. D'une part, certains sujets n'ont que peu d'intérêt dans le contexte d'un CMS, par exemple les formulaires ou les iframe, et d'autre part, l'accès au HTML et aux styles s'effectue au travers d'éditeurs dédiés.

Pour ces raisons, j'ai élaboré une formation HMTL/CSS spécifique pour les CMS, mettant l'accent sur la personnalisation de CMS et sur l'amélioration du référencement naturel. La première session aura lieu très bientôt à Grenoble.


lundi 8 avril 2013

Découvrez la vie des abeilles avec un jeu réaliste : Bee-Happy

Aujourd'hui, nous allons parler d'un sujet peu courant sur ce blog : un jeu !

bee-happy.fr est un jeu réaliste qui permet de se retrouver dans la peau d'un vrai apiculteur. En jouant, vous découvrirez la vie d'une des plus anciennes espèces de la planète.

Si le jeu vous plait, vous pouvez également participer à son financement en souscrivant sur kisskissbankbank

Il est développé par une petite équipe de coworkers au sein de Col'inn. L'interactivité est assurée par l'emploi de bibliothèques JavaScript telles que jQuery ou Knockout que je vous invite à essayer pour vos développements.

samedi 30 mars 2013

Atelier Wordpress : créer un site vitrine

Cette semaine, j'ai expérimenté une nouvelle approche de formation, avec un atelier sur WordPress pour créer un site vitrine.

Même si WordPress est d'une utilisation assez simple, il faut prévoir une formation de deux à trois jours pour l'utiliser au mieux et commencer à se sentir à l'aise. Cette durée peut être rédhibitoire pour des entrepreneurs individuels qui souhaitent créer un site vitrine présentant leur activité.

En collaboration avec Col'inn, le premier espace de coworking de Grenoble, j'ai proposé cet atelier "Créer un site vitrine avec WordPress". Avec les cinq participants, nous avons pu parcourir les étapes de mise en ligne d'un site vitrine, y compris en ajoutant un formulaire de contact. Du point de vue d'un formateur, c'est un exercice très intéressant, car il faut vraiment choisir l'approche la plus directe et la plus claire possible pour aboutir à un résultat.

Je pense proposer à nouveau cet atelier, en fonction des demandes, et prévoir un atelier de spécialisation, pour présenter l'utilisation d'extensions spécifiques utiles dans le cadre d'un site vitrine. 

dimanche 17 février 2013

La magie du C++

Non vous ne rêvez pas, j'ai bien utilisé le mot magie dans le titre d'un article sur le blog On ne fait pas de la magie ! Mais vous vous doutez bien qu'il y a anguille sous roche et qu'on va faire de l'anti-magie.

L'une des opinions courantes sur le C++ est que c'est un langage difficile à employer, car il est facile de commettre des erreurs de programmation qui se traduisent par des fuites mémoires ou l'accès à des objets qui n'existent plus. En contrepartie, il est souvent également admis que le code C++ est plus rapide à l'exécution que du code Java ou C#, pour lesquels les fuites mémoires n'existent pas.

Quelles sont les raisons sous-jacentes de ces opinions ? La principale est que le développeur C++ doit gérer lui même la durée de vie des objets qu'il utilise. Cela se traduit souvent par la contrainte d'avoir à écrire un constructeur copie ou à surcharger l'opérateur d'affectation d'une classe. Mais cela lui offre la souplesse de maitriser l'instant exact où une ressource est libérée, qu'elle soit une ressource mémoire ou une connexion à une base de données.

Notamment, cela permet d'écrire une application en utilisant le principe RAII (Resource Acquisition Is Initialisation) sans avoir à veiller à chaque utilisation de sa classe à l'encapsuler avec une instruction using ou à ne pas oublier une clause finally d'un bloc try. C++ ne dispose pas de using ni de finally parce qu'il n'en a tout simplement pas besoin ...

De ce fait, le développeur a moins d'instructions à écrire et l'application moins de code à exécuter : il n'y a pas de besoin de code supplémentaire exécuté dans un thread séparé pour faire le ménage dans les objets à détruire. Cerise sur le gâteau, les performances d'une application C++ sont déterministes, alors qu'une application Java ou C# peut présenter des ralentissements aléatoires déclenchées par le passage du garbage collector.

Ces opinions risquent de se renforcer à juste titre avec l'utilisation judicieuse des nouvelles fonctionnalités du C++ 11, maintenant largement adopté par les principaux compilateurs actuels. En effet, les nouveaux types de smart pointers, comme unique_ptr ou shared_ptr, ou la notion de RValues, qui permet d'écrire un constructeur move vont continuer à faciliter l'écriture d'application plus efficaces, en réduisant le nombre de lignes de code source écrites par le développeur, ainsi que le nombre d'instructions machine exécutées. 

Le constructeur move est particulièrement efficace de ce point de vue, en évitant la création d'objets temporaires qui peuvent nécessiter des tailles mémoire importantes et des temps d'initialisation conséquents.

Pour obtenir ces résultats, qui ne sont pas de la magie, mais l'utilisation de mécanismes très bien pensés, le développeur C++ doit consacrer un temps d'apprentissage pour maitriser ces nouvelles notions. C'est le message que, pour ma part, je fais passer dans les formations C++ que j'anime. 

vendredi 15 février 2013

Travailler autrement

Depuis quelques mois, j'expérimente le travail en tant que coworker, dans la première structure grenobloise à le proposer : Col'inn. C'est une expérience nouvelle, qui offre, de mon point de vue, de nombreux avantages à rester travailler chez soi.

Pour les Grenoblois qui sont intéressés par le sujet, il y a une conférence sur le sujet "travailler autrement" le mercredi 20 février. N'hésitez pas à y venir !

mardi 25 septembre 2012

Comment avoir la meilleure expression de sa pensée ?

Ce billet ne va pas parler d'informatique, ni de magie, pour une fois ! Non, nous allons parler d'expression française.

Pourquoi ? Tout simplement parce qu'il est bien trop courant, à mon goût, de lire sur Internet des textes difficiles à comprendre.

Je ne vais même pas évoquer le langage SMS, ni les fautes d'orthographe ou de syntaxe grossières. Pour cela, il existe heureusement des outils de corrections qui ont fait depuis quelques années de grands progrès. 

Mais ces outils sont complétement inefficaces lorsqu'il s'agit d'améliorer la compréhension du texte. Une des difficultés majeures, lorsqu'on écrit un ouvrage ou un article, est d'exprimer au mieux ce que l'on souhaite, en s'assurant que le lecteur nous comprendra sans ambiguïté.

Au cours des travaux que j'ai effectués, j'ai croisé la route d'une correctrice qui peut vous aider à assurer ce travail : Hélène Destrem

Si vous avez un texte à écrire, n'hésitez pas à la consulter, vous serez surement très heureux du résultat !

samedi 18 août 2012

Partage d'une connexion wifi sous Windows 7

Il est aujourd'hui courant d'avoir accès à une connexion wifi dans une chambre d'hôtel, ce qui permet d'accéder à Internet avec un confort tout à fait agréable.

Mais le nombre d'appareils dont on dispose et que l'on souhaite connecter augmente et on tombe parfois sur une difficulté majeure : on ne peut accéder à la connexion wifi de la chambre qu'avec un seul appareil à la fois. Et suivant les cas, il n'est pas possible de se déconnecter : c'est le premier équipement qui est lié à la connexion wifi et c'est "définitif".

Pour résoudre cette difficulté, il faudrait pouvoir partager sa connexion Internet en créant son propre hotspot ... Que nous dit Google là dessus ?

Quelques minutes de recherche permettent de trouver des solutions payantes ou gratuites, avec l'approche classique : un logiciel à télécharger, à installer et si tout se passe bien, avec de la chance, on a une solution. Mais si cela ne marche pas bien, on patauge, on désinstalle, on réinstalle, on change de logiciel, on pose des questions désespérées dans les forums ...

Vous vous en doutez si vous lisez ce blog : il y a une autre solution que de foncer dans le brouillard.

Pour cela, il faut disposer de Windows 7 (ou Windows Server 2008 R2), dans lequel Microsoft a fourni une nouvelle fonctionnalité : une carte wifi virtuelle. Vous pouvez voir que cette carte est présente dans la liste des cartes réseau. L'image suivante montre la présence d'une carte "Microsoft Virtual Wifi Miniport Adapter"

Carte wifi virtuelle

Que faire avec une telle carte ? Nous allons activer un réseau virtuel à l'aide de la commande netsh, à l'aide des commandes :

netsh wlan set hostednetwork mode=allow monwifi key=12345678
netsh wlan start hostednetwork

Que font elles ? La première permet de paramétrer le réseau hébergé de Windows, nommé très logiquement hostednetwork, en définissant un nom que vous pouvez choisir comme vous voulez (monwifi pour ma part) et en spécifiant la clé de connexion (12345678 dans cet exemple).
La seconde ligne lance effectivement le réseau wifi, qui apparaît alors dans la liste des réseaux disponibles.

La dernière opération à effectuer est d'activer le partage de connexion Internet de la connexion Wifi, en indiquant que le réseau qui peut accéder à Internet est le réseau hébergé que l'on vient d'activer :

Partage_Wifi.png

Et le tour est joué : vous pouvez utiliser tous les équipements que vous voulez et accéder à Internet avec votre connexion wifi !

dimanche 10 juin 2012

Les flèches du clavier ne fonctionnent plus comme il faut sous Excel !!!!

Parfois, que ce soit en lors d'une formation à Excel ou lors d'une utilisation courant, un utilisateur est confronté à un comportement bizarre.  Lorsqu'il utilise les flèches du clavier, il ne déplace plus la cellule sélectionnée, mais fait défiler l'affichage. Par exemple, s'il a sélectionné la cellule H3, l'appui sur la flèche vers la droite ne sélectionne pas la cellule H4, mais décale l'affichage d'une colonne vers la droite. La seule solution dont il dispose pour se déplacer dans le tableau est d'employer la souris.

Si vous êtes confronté à ce comportement, observez bien la barre d'état d'Excel : vous y verrez probablement affiché Arrêt défil.

ArretDefil1.PNG

Quel est ce mode ? Pour le savoir, approchons la souris de cet indicateur, afin de faire apparaître un message d'explication :

ArretDefil2.PNG

Explicite, n'est ce pas ? Dans ce mode, on fait défiler la feuille au lieu de déplacer la sélection.

Mais comment entre t-on dans ce mode ? Cherchez sur votre clavier, vers le haut gauche : vous verrez une touche, plus ou moins visible, qui s'appelle ArrêtDéfil.
Elle n'est aujourd'hui quasiment plus utilisée et peut nécessiter d'utiliser une combinaison avec la touche de fonction de votre clavier. Essayez de l'activer ou de la désactiver : vous verrez apparaître ou disparaitre l'indicateur Arrêt défil. de la barre d'état d'Excel.

Cette touche était souvent utilisée autrefois , lorsqu'un programme affichait de nombreuses lignes qui défilaient à l'écran sans qu'on ait le temps de les lire et sans qu'on ait d'ascenseur pour remonter dans la fenêtre. Sous Windows, aujourd'hui, il n'y a plus guère qu'Excel qui l'emploie.

vendredi 25 mai 2012

Comment modifier un champ lors de sa saisie sous Filemaker ?

Cet article présente un exemple de sujet abordé dans les formations Filemaker que je propose.

Il est parfois nécessaire de modifier un champ lorsqu'il est saisi, afin d'effectuer une mise en forme particulière. Par exemple, lorsqu'on gère des listes de personnes, différencier le nom du prénom en le mettant en majuscule peut être une bonne idée.

Cette modification est possible en utilisant l'option Entrée automatique du champ, avec un calcul, comme indiqué sur l'image ci dessous. Il faut veiller à décocher l'option "Ne pas remplacer la valeur existante de la rubrique" afin que le résultat du calcul remplace bien la valeur saisie.

ModifierChampSaisieFilemaker1.png

Dans la définition du calcul, il suffit d'utiliser la fonction de passage en majuscule, et le tour est joué :

ModifierChampSaisieFilemaker2.png

Vous pouvez utiliser cette technique pour effectuer des modifications de toute sorte sur les champs saisis, afin de faciliter la saisie ou d'éviter des entrées incorrectes difficiles à gérer avec les validations.

Comment créer une contrainte d'unicité portant sur plusieurs champs avec Filemaker ?

Cet article présente un exemple de sujet abordé dans les formations Filemaker que je propose.

Filemaker propose, dans les critères de validation d'un champ, la contrainte d'unicité. Elle permet d'éviter que des enregistrements en double soient saisis, mais ce contrôle ne porte que sur un champ à la fois. 

ContrainteUniciteSurPlusieursChampFilemaker1.png

Si on souhaite contrôler les doublons sur deux champs, par exemple nom et prénom, il faut passer par un champ supplémentaire, de type texte, en utilisant la propriété "Entrée automatique". La valeur est définie par un calcul, comme indiqué sur l'image ci dessous. Il faut veiller à décocher l'option "Ne pas remplacer la valeur existante de la rubrique".



Le calcul en lui même est tout simplement la concaténation des deux champs. Dans notre exemple, nous avons ajouté un espace pour que ce champ puisse être utilisé pour des présentations.

ContrainteUniciteSurPlusieursChampFilemaker2.png

Et il faut ensuite, dans l'onglet "Validation", ajouter la contrainte "Valeur unique". Il ne sera ainsi pas possible de saisir plusieurs fois la même combinaison nom et prénom.

ContrainteUniciteSurPlusieursChampFilemaker3.png

Dans cet exemple, nous avons établi la contrainte d'unicité sur deux champs, mais rien n'empêche de le faire sur un plus grand nombre de champs. Attention, toutefois, au temps de calcul si votre base comporte un très grand nombre d'enregistrements.

- page 1 de 11