mercredi 26 décembre 2012

Partage d'agendas Google secondaires

Situation : 
Vous avez créé un agenda secondaire (Google, Agenda, Paramètres, Agendas, Créer un agenda) et vous l'avez partagé avec d'autres personnes (Partagé : Modifier les paramètres) qui ont un compte Google.

Problème : 
Comment, les possesseurs d'iPhone, iPad, peuvent-ils voir cet agenda dans leur application mobile (Calendrier) ?

Solution : 
Chaque personne doit vérifier qu'elle est bien abonnée à cet agenda (Google, Agenda, Paramètres, Agendas). Ensuite chaque personne doit se rendre à cette adresse : https://www.google.com/calendar/iphoneselect pour cocher les agendas qu'elle veut voir sur son iPhone, iPad.

samedi 10 novembre 2012

Détection de l'heure d'été, heure d'hiver

Pour détecter l'heure d'été ou l'heure d'hiver sans avoir à mettre à jour les données :

public static Boolean Heure_Hiver(DateTime valeur)
{
      if (valeur.Month>10 || valeur.Month<4) return true; else return false;
}


Décalage par rapport à l'heure universelle :

Heure d'hiver : DateTime.UtcNow+1
Heure d'été : DateTime.UtcNow+2

Cette façon de faire offre l'avantage d'être permanente, mais pendant les quelques jours de la fin du mois de décalage il y a une erreur d'une heure.

Boîte de dialog JQuery

Code à mettre dans l’entête (<head></head>) :
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>  

    <script type="text/javascript">
        function Avertissement(titre, valeur, x, y) {
            document.getElementById("dialog").title = titre;
            document.getElementById("dialog").innerHTML = valeur;
            $("#dialog").dialog({
                position: [y, x],
                modal: false,
                buttons: [
                    {
                        text: "OK",
                        click: function () { $(this).dialog("close"); }
                    }
               ]
            });
        }
    </script>

Code à mettre dans le corps (<body></body>) :
<div id="dialog" title="" style="display:none;"></div>

Appel Javascript :

Depuis un code côté serveur (ASP.NET C#) :
string csname1 = "RemarqueScript";
Type cstype = this.GetType();
ClientScriptManager cs = Page.ClientScript;
string cstext1 = "Avertissement('Avertissement','remarque',100,0);";
cs.RegisterStartupScript(cstype, csname1, cstext1, true);

Depuis un code côté client (HTML) :
Avertissement('Avertissement','remarque',100,0);

Code CSS3 pour mettre un effet d'ombre (ombrage) autour d'une boîte

box-shadow:4px 4px 10px #333333;

Apostrophe, simple cote, simple guillemet

Quel code utiliser dans du javascript pour éviter un plantage ?

Simple guillemet : ' , code à utiliser : &apos;

mercredi 7 novembre 2012

iMessage ou SMS gratuits entre appareils Apple

Depuis la version d'iOS 5 il est pratique de communiquer instantanément par iMessage entre personnes disposant d'appareil Apple (iPhone, iPad).

Il faut toutefois procéder à quelques réglages.

  1. Aller dans les Réglages
  2. Sélectionner Messages
  3. Mettre à ON iMessage, dans la rubrique Envoi et réception faire figurer les adresses et/ou les numéros de téléphone qui vous permettront d'être joint et l'adresse indiquée lorsque vous commencerez une nouvelle conversation.
  4. Une fois ces paramètres réglés, quand vous lancerez Messages et chercherez un contact disposant d'un appareil Apple bien paramétré, vous verrez apparaître une bulle bleue, une fois sélectionné, il apparaîtra en bleu plutôt qu'en vert.
Ainsi avec un appareil Apple disposant d'une connexion internet (Wifi ou 3G), nul besoin d'avoir un forfait avec SMS illimité.

Réglages, Messages

iMessage à ON

Faire dérouler, Envoi et réception

Identifiant Apple, liste des adresses de réception

Sélection d'un contact, bulle bleue

Contact en bleu : messagerie gratuite

vendredi 2 novembre 2012

iBooks ne fonctionne pas depuis la mise à jour 3

Depuis la mise à jour d'iBooks 3 l'application plante sur iPad 1.

Pour résoudre ce problème faire :

Règlages/Général/Réinitialiser/Réinitialiser tous les réglages.

Une fois la réinitialisation faite, le système propose de récupérer une sauvegarde, ce qui peut être fait. Ensuite iBooks se lance normalement.

jeudi 1 novembre 2012

Le mode lecteur

Il y a des fonctions que l'on trouve pratique et qui par la suite deviennent quasiment indispensables.

C'est le cas du mode lecteur proposé sur Safari d'iOS.

Sur iPhone, difficile de lire un article sur une page web faite pour ordinateur, mais avec le mode lecteur, tout change.

La lecture devient un plaisir : plus besoin de forcer la vue ou bien de jouer à agrandir/diminuer le contenu.

On pourrait croire que ce mode n'est qu'une option parmi tant d'autres mais quand on utilise d'autres appareils ou navigateurs qui ne le proposent pas, on se sent vraiment handicapé.

vendredi 26 octobre 2012

Le numérique dans l'administration

Voici pour la petite histoire, la procédure d'inscription au bac de l'année 2013 :

  • Consultation du site web de l'académie, impression d'un formulaire papier, remplissage au stylo et envoi par la poste. 
  • Réception une semaine après d'un document de 5 feuilles indiquant l'adresse internet pour réécrire en ligne ce qui a été écrit sur le papier. 
  • Réception de l'impression de l'inscription en ligne par la poste. 
  • Validation du papier avec signature manuscrite. 
  • Renvoi de l'impression papier par la poste, avec 3 enveloppes timbrées pour l'envoi des résultats.
En tout il y a eu plus d'une dizaine de feuilles de papier, 4 envois par la poste !

Dans les années 80 on m'a appris à modéliser un système de données pour simplifier ces problèmes de gestion.

Voici une solution simple :

Étant donné que le fichier contenant toutes les informations de scolarité des élèves existe (base de données), il suffit lors de la première consultation du site de l'académie, de guider le visiteur vers le logiciel d'inscription en ligne, puis d'envoyer une confirmation d'inscription par email en demandant de signer électroniquement (lien de confirmation). Pas de papier, plus de rapidité, moins d'erreurs de recopie, et surtout moins d'argent public gaspillé.

L'administration utilise l'ordinateur comme une machine à écrire, pas étonnant que les mauvaises langues disent que l'ordinateur a compliqué notre vie !

mercredi 29 août 2012

Ajouter des jours à une date en Javascript

Quel casse-tête de devoir ajouter des jours à une date en Javascript ! Après de nombreuses recherches, tests et essais, voici la seule solution qui marche vraiment :

Ajoutez cette fonction dans votre page web :

function AddDays(date, amount)
{
    var tzOff = date.getTimezoneOffset() * 60 * 1000;
    var t = date.getTime();
    t += (1000 * 60 * 60 * 24) * amount;
    var d = new Date();
    d.setTime(t);
    var tzOff2 = d.getTimezoneOffset() * 60 * 1000;
    if (tzOff != tzOff2)
    {
        var diff = tzOff2 - tzOff;
        t += diff;
        d.setTime(t);
    }
    return d;
}



Ensuite appelez la depuis votre code javascript :

function Une_Date(plus)
{
    var nouvelle = new Date(Calendar1.GetSelectedDate());
    var jour=AddDays(nouvelle, plus);
    Calendar1.SetSelectedDate(jour);
 }


Dans cette dernière fonction, on initialise une variable date avec la valeur d'un composant (dans notre cas un calendrier de componentart). On ajoute un nombre plus de jours. On injecte cette nouvelle date dans le calendrier Calendar1.
 

mercredi 1 août 2012

Remplacer l'apostrophe simple dans une base de données SQLServer

UPDATE discours SET nom=REPLACE(nom,'''','’')

Cette instruction SQL va remplacer le guillemet simple (mettre deux fois le guillemet simple pour prise en compte comme caractère - '') dans le champ nom par un apostrophe (’) dans la table discours.

jeudi 26 juillet 2012

Détection d'un espace insécable 160 C#

Comment détecter un espace apparent dans une page html aspirée ?

Le code de comparaison lorsque l'espace simple ne fonctionne pas est : \u00A0

Voici un exemple de code :


contenu.Text = contenu.Text.Replace( "<sup>" + verset_int + "</sup>\u00A0</span>",
                            "<sup>" + verset_int + "</sup>\u00A0</span><span class=\"verset\">");

vendredi 25 mai 2012

Comment gérer mes photos personnelles ?

La gestion des photos personnelles est un véritable casse-tête :
- Quel logiciel utiliser pour gérer ses albums ?
- Quelle organisation choisir pour retrouver ses photos ?
- Dans quel ordinateur, disque dur, appareil, les stocker ?
- Comment ne pas en perdre ?
La solution du moment que je trouve particulièrement adaptée à une prise de photos avec son smartphone est la solution de Google+ : Instant Upload.

Les avantages :
  • Toutes les photos prises avec son smartphone sont automatiquement téléchargées sur son compte Google+
  • Elles sont classées par date
  • L'espace de stockage n'a pas de limite
  • Aucun branchement, aucune opération manuelle à faire, sauf peut être la suppression
  • Le partage et la modification de l'image se fait en ligne facilement 
  • Les photos sont accessibles sur tous les services Google dont Google Drive (documents).
La procédure :
Cette procédure est possible avec un iPhone (iOS) ou un smartphone sous Android.
  • Installez l'application Google+ dans votre smartphone
  • Lancez-la et vérifiez que les paramètres correspondent aux images ci-dessous
Ensuite il faut attendre de se trouver dans une zone Wifi, lancez l'application Google+ et le temps nécessaire pour que les photos se téléchargent sur internet.

Dans la pratique, si, en zone wifi, on lance de temps en temps Google+, le téléchargement se fait à son rythme sans que l'on s'en aperçoive.

1. Cherchez l'application dans l'AppStore :


2. Installez l'application et retrouvez-la en page d'accueil, rangez-la au besoin dans un dossier :


3. Lancez l'application et sélectionnez les paramètres :


4. Dans les paramètres choisissez Quand importer :



5. Faites vos choix suivant votre abonnement, débit etc. :






lundi 7 mai 2012

Votre carnet de vol en ligne !

Vous avez besoin d'un carnet de vol, véritable mémoire du pilote ? Ce carnet de vol en ligne : www.carnet-de-vol.fr est fait pour vous : gérer votre carnet de vol avion et/ou planeurdepuis n'importe où, en disposant d'une simple connexion internet.

Vous pouvez par exemple saisir facilement vos heures de vols sur chaque appareil (avion, hélicoptère), observer divers statistiques (moyennes des heures par mois, par appareil, par période, etc.), importer votre précédent carnet de vol électronique d'un simple clic.

samedi 21 avril 2012

Problème de décodage des caractères après lecture d'un cookie (asp.net)

Voici un problème que j'ai mis quelques temps à résoudre :

J'enregistre une donnée dans un cookie à l'aide de l'instruction javascript suivante :


function createCookie(name, value, days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    }
    else var expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
}



Je lis cette donnée depuis asp.net côté server par l'instruction suivante :

Request.Cookies[name].Value;


Et voilà que les accents et autres caractères français sont mal décodés.

J'ai donc ajouté cette fonction :


private string Decoder(string valeur)
{
        byte[] temp;
        temp = System.Text.Encoding.GetEncoding("UTF-8").GetBytes(valeur);
        temp = System.Text.Encoding.Convert(System.Text.Encoding.GetEncoding("UTF-8"), System.Text.Encoding.GetEncoding("ISO-8859-1"), temp);
        return System.Text.Encoding.UTF8.GetString(temp);
}


Ce qui transforme mon instruction de lecture asp.net en :

Decoder(Request.Cookies[name].Value);


Et là ça marche même avec un serveur anglais.

mercredi 18 avril 2012

L'iPhone est trop cher pour moi !

S'il on choisit un smartphone (iPhone, Galaxy S etc.) juste pour remplacer son téléphone portable, il est évident que l'on va trouver le coût élevé.

Mais à bien y réfléchir s'il on prend un smartphone ce n'est pas pour téléphoner. Le téléphone est une fonction parmi tant d'autres.

Si on comptabilise tous les appareils qu'il remplace :
  • un mobile (50€), 
  • un appareil photo (100€), 
  • une caméra (150€),
  • un Walkman (150€),
  • des livres (100€), 
  • un GPS (150€), 
  • un ordinateur (300€), 
  • un dictaphone (50€), et la liste n'est pas terminée
on estimera certainement qu'il n'est pas cher du tout.

Alors simplifiez-vous la vie, un smartphone prend moins de place qu'une dizaine d'appareils !

lundi 16 avril 2012

Faire défiler toutes les images d'un document en javascript

Il peut être utile de regarder toutes les images d'une page (document) pour lire leur contenu et les manipuler :


 for (i = 0; i < document.images.length; i++) {
       if (document.images[i].src.indexOf(valeur) > -1) {
                            document.getElementById(document.images[i].id).src = autre_valeur;
                            document.getElementById(document.images[i].id).title = titre             
       }
}

Dans cet exemple, nous faisons défiler toutes les images du document, si une image contient un certain nom de fichier alors on change la valeur de cette image et on affecte une valeur à la propriété title (passage du curseur).

jeudi 1 mars 2012

Ordonner un saut de page dans un document HTML

Pour générer un saut de page dans l'aperçu avant impression ou lors de l'impression, définir un style :

.saut_page { page-break-after : always }

Ou ajouter la propriété dans une division :

<div style="page-break-after:always;"></div>

samedi 4 février 2012

L'informatique ultra légère pour les écoles, collèges, lycées

Comment utiliser les ordinateurs sans moyen humain et financier dans les écoles ?
Utilisons simplement ce qui existe et donnons à chacun la responsabilité de maintenir son matériel en bon état de fonctionnement. Une fois le problème matériel résolu, nous n'aurons plus qu'à l'utiliser et nous concentrer sur le contenu : la matière d'enseignement.
Nous profitons ainsi des avancées offertes par l'ordinateur (accès à des ressources infinies, portabilité etc.) tout en poursuivant la communication et l'acquisition de savoirs et de savoirs faire.
Mais avant tout, nous développons l'usage numérique et l'intégration des jeunes écoliers dans notre société.

Si vous souhaitez mettre en place une telle informatique dans votre établissement scolaire n'hésitez pas à me contacter.

Si l'image ci-dessus n'est pas cliquable : cliquez ici

Mots clés : école, collège, lycée, informatique, numérique, ordinateur, tablette, poids des cartables, manuels scolaires numériques, tablette, ipad

mercredi 1 février 2012

Un cerveau nous a quitté

Ce que je retiens de mon père ? Sa capacité à calculer. Quand il montait les escaliers il comptait instinctivement les marches. Il connaissait par coeur leur nombre dans sa propriété et ce n'est pas peu dire : il y en a des escaliers à l'Agriot, la maison qu'il a commencée à construire dans les années soixante.
Quand il voyait un avion dans le ciel, à Prades-le-Lez ou à Malemort-du-Comtat, il savait à quelle heure l'avion était parti, sa destination et son heure d'arrivée. Idem pour les trains. Bref un esprit matheux. Impressionnant !
Prépa, grande école d'ingénieur, il termina sa carrière ingénieur en chef au CNEARC, directeur d'une formation d'ingénieur agronome à Montpellier. Je me souviens avec nostalgie des fins de journées passées dans son bureau après mes cours de terminale E, je l'attendais patiemment, et lui s'affairait, il apparaissait de temps à autres et disait qu'il n'en avait pas pour longtemps.
Je me souviens aussi de son dynamisme pour Nature et Progrès dans les années 80. Il a fait beaucoup pour le Bio. A cette époque il était inimaginable de trouver du Bio dans les grandes surfaces comme on peut le voir maintenant où le Bio devient la référence alimentaire.
Et puis sa recherche généalogique insatiable pendant sa retraite : là je compte bien reprendre le flambeau et numériser tout ce qu'il a fait.
Je le remercie de m'avoir donné une vision scientifique de l'existence, de m'avoir fait lire des ouvrages évolutionnistes dont l'étude a conduit à un renforcement de mes croyances en Dieu et l'a fait devenir lui même croyant. Il a fini sa vie agnostique, il lui manquait juste un obstacle à franchir : serait-ce sa culture athée, sa peur du regard des autres, je le saurais bientôt.
Photo : Jean-Luc Messe en 2006.

samedi 21 janvier 2012

Relooking de Vacances-Arcachon.com

Le célèbre site de location saisonnière du Bassin d'Arcachon, www.vacances-arcachon.com (www.arcachonimmo.com) vient de s'offrir un nouveau look à l'occasion de son rachat par l'agence web Arcachon Communications.
Ce site existe depuis 10 ans, il permet à chaque propriétaire de louer pour les vacances son bien immobilier.
Ce n'est pas un simple site d'annonces de location de vacances comme il en existe beaucoup, puisque le locataire peut payer sa réservation en ligne via Paypal (carte bancaire), signer le contrat de location, bref s'éviter de tout envoi papier.

mercredi 11 janvier 2012

La consolidation de l'iPad

Au moment de la sortie de l'iPad (en 2010), je m'étais douté de sa réussite et surtout de son "indispensabilité" (voir cet article).

Après deux ans d'utilisation dans le cadre familial et professionnel, je peux témoigner que l'iPad est vraiment un outil plaisant et multiusage.

Il devient le support indispensable pour lire des livres, lire les actualités, regarder des vidéos, faire une recherche spontanée, préparer un plat, écouter de la musique, lire ses emails ... bref, pratiquement tout.

Avec cet outil on n'a plus envie de se mettre à son ordinateur, sauf quand on a besoin de faire de la production : programmation, modélisation ou autres choses techniques.

En fait c'est ce genre d'outil qui change les usages, l'informatique disparaît, l'information apparaît. On accède sans trop se poser de questions à ses informations.

La batterie tient bien une journée, après deux ans d'utilisation.

Pas de porte d'entrée multiples (clé USB etc.), un accès simple à l'Appstore, des webapp qui commencent à devenir de plus en plus courantes, la disparition du flash, enfin plein de choses qui nous font faire un grand pas en avant.

Avec le couple iPhone/iPad on se sent vraiment libre et en sécurité.

Copier une table (structure et/ou données) dans une autre


Pour copier la table et la structure :

SELECT *
INTO NouvelleTable
FROM TableACopier

Pour copier la structure uniquement :

SELECT *
INTO NouvelleTable
FROM TableACopier
WHERE 1 = 0

Pour copier les données uniquement dans deux tables identiques :

INSERT  INTO  DestinationTable (champ1,champ2,champ3) SELECT champ1, champ2, champ3 FROM TableACopier WHERE id=@valeur

On peut aussi remplacer champ1, champ2, champ3 par des valeurs.

mardi 10 janvier 2012

Le papier n'est plus le bon support d'information !

Parce qu'il existe depuis plus de 30 ans d'autres supports d'informations plus souples, nous pouvons nous passer de papier, vivre sans papier ou presque, comment ?

Voir le site Pas de papier.