Ro6gnol gazouillis en vrac

16Oct/110

Calculer le plus grand dénominateur commun en PHP

Il m'arrive quelquefois de faire un peu de "soutien scolaire".
Dernièrement j'ai du expliquer comment calculer un PGCD : Plus grand commun diviseur.
On trouvera de nombreux sites sur le net qui expliquent comment procéder.
D'ailleurs on peut trouver de nombreuses videos de bonne qualité qui montrent très clairement comment y arriver.¨
Par exemple sur http://www.youtube.com/watch?v=xhBuT9cb6GE&feature=related

J'ai eu envie de coder cette fonction en PHP afin de vérifier mes calculs ( et aussi pour le fun ;o) pendant que mon élève s'échinait sur quelques PGCD à trouver.
J'ai recherché sur internet pour voir ce qui existait, et j'ai trouvé de nombreux sources.
Mais ce qui m'a vraiment surpris c'est de trouver qu'il y a une fonction php qui propose déja ce calcul !
Il s'agit de gmp_gcd
La fonction gmp_gcd calcule le PGCD (plus grand commun diviseur) de a et b. Le résultat est toujours positif, même si l'un des deux (ou les deux) nombres est négatif.

Cependant je me suis rendu compte que le résultat était "un peu sec" et que ce serait sympa, dans un but pédagogique, que le programme montre les étapes du calcul avant d'afficher le résultat.
Voici le code qui montre le cheminement et ma page de démonstration
--> http://pgcd.ro6gnol.com/

<?php
echo gcd(663,512);
function pgcd($a,$b)
{
echo "<strong>$a : $b ==> ".floor($a / $b)." Reste ".($a % $b)."</strong> &nbsp; <small>(c'est à dire ".floor($a / $b)." X ".$b." + ".($a % $b).")</small><br>";
return ($a % $b) ? gcd($b,$a % $b) : $b;
}
?>

Share Button
Taggé comme: , Aucun commentaire
23Sep/110

Viva l’Open-data !

llustration CC FlickR opensourceway via http://www.co-lab.fr/tag/open-data/

Les administrations utilisent des données collectées et les gèrent grâce aux impôts.
Ces données ne sont pas accessibles au 'grand public' ; et pourtant c'est bien avec l'argent public que cet 'or gris' prospère.
Alors ne serait-il pas juste que ces données soit accessibles ?
L'idée commence petit à petit à faire son chemin.
Au dela du simple bon sens, des enjeux liés à la transparence et à la démocratie sont liées au concept de l'Open-Data.
L'administration tient à son opacité historique, mais les lignes commencent à bouger.
Quelques villes mettent à disposition leurs base de données.
Soit en téléchargement soit via une API ( par exemple pour connaitre les stations Vélib à Paris ).
Pour en savoir plus, rendez-vous sur http://fr.wikipedia.org/wiki/Open_data et http://www.europecreative.eu/2011/09/01/la-france-va-bientot-entrer-dans-lere-de-lopen-data/

Au dela des administrations, toutes les associations de type loi 1901 ou les entités qui fonctionnent avec l'argent public devraient mettrent à disposition leurs données.
Par exemple, la Féderation Française de Tennis garde jalousement beaucoup d'informations qui pourraient être utilisées avec profit pour créer des statistiques intéressantes.
Du coup elle offre des outils informatique d'un autre age pour la gestion des clubs alors qu'il existe une foultitude de développeurs passionnés qui prendraient leurs pieds pour proposer des applications sympathiques.

Pour le principe, j'ai eu envie d'utiliser ces données 'ouvertes'.
En allant sur le le site http://opendata.paris.fr/opendata/jsp/site/Portal.jsp j'ai récupéré la liste des prénoms attribués au enfants nés à Paris entre 2004 et 2010.
Il y a longtemps que je vais trainer sur le site http://www.lafermeduweb.net/ pour y admirer les ressources 'web2' en me promettant d'en utiliser un jours quelques unes.
Et l'idée à germé : Pourquoi ne pas essayer de faire un site uniquement en assemblant des ressources ?
Je suis allé cherché un template HTML5, quelques scripts pour agrémenter le client et il ne restait plus qu'à faire quelques requêtes SQL.

J'avais estimé le temps de développement à 2 jours mais il m'a fallu un jour de plus pour la création de la base de données.
En effet, les données sont fournies sous la forme de fichiers CSV et il a fallu faire quelques moulinettes en PHP pour alimenter une base MySql avec le moteur InnoDB
Pour ceux qui sont intéressés je fourni la base ici : prenoms-db

Le site est visible sur http://prenoms-paris.ro6gnol.com/ 
Il y aurait beaucoup de chose à faire dessus, mais l'idée était juste de faire quelque chose rapidement en assemblant des morceaux.
Et VIVA L'OPEN DATA !!

Share Button
20Avr/110

Utilitaires gratuits

Pour effectuer mes sauvegardes, jusqu'à présent, je n'hésitais pas à copier-coller des arborescences de fichiers.
Mais la quantité de fichiers est devenu tellement importante que le temps de copie est devenu pénalisant.
Heureux possesseur d'un disque externe d'une capacité d' un tera octets, j'ai donc entrepris de chercher un utilitaire - gratuit - permettant de synchroniser des repertoires entre mon disque dur et mon unité externe.
J'ai eu la chance de trouver "FreeFileSync" ( http://sourceforge.net/projects/freefilesync/  ) qui fait son job parfaitement.

En cherchant cet utilitaire j'ai trouvé une mine d'utilitaires de qualité sur http://www.portablefreeware.com/ .
Sur ce site j'ai remarqué un utilitaire pour voir les ports utilisés par la machine, pour scanner les processus en mémoire, pour récupérer les vidéos mise en cache par les navigateurs ainsi que les incontournables foxit reader, ccleaner, everest, notepad++ etc.
Comme l'url l'indique ces utilitaires ont le grand avantage de ne pas s'installer sur la machine et donc de ne pas "pourrir" la base de registre ( En effet, même après désinstallation complète beaucoup de clefs inutiles restent dans la base de registre ).
Donc pour les désinstaller il suffit donc ... de les supprimer.
Facile et propre.

Share Button
17Mar/100

Hébergement ASP.NET gratuit

Hébergement ASP.NET OU PHP/MySQL gratuit pendant 1 an chez IKOULA.
Offre valable jusqu'au 31 Mars.
Attention ; on me dit qu'il faut bien lire les conditions générales. Il semblerait ( noter le conditionnel ) que Ikoula mentionne que tout ce qui est hébergé chez eux leur appartient.
A vérifier ...
En tout cas, une offre sympathique pour découvrir un hébergeur ou faire des tests.

Share Button
17Fév/100

La guerre des systèmes d’exploitation pour mobiles

Lorsqu'il s'agit de défendre le pluralisme, on trouve toujours de grande âmes pour s'indigner.
La concurrence a du bon parait-il.
Mais trop de concurrence tue le .... consommateur.

La multitude des OS pour téléphone portable est effarante.
Bientôt on devra avoir 3 téléphones ; un pour développer des applications sympathiques, un autre pour servir de GPS universel et un troisième pour ... téléphoner !

os_mobile_android

os_mobile_iphoneos_mobile_linux

os_mobile_blackberryos_mobile_intel_nokia

os_mobile_samsung

Heureusement la virtualisation nous permettra bientôt d'avoir plusieurs OS sur le même mobile !
Voici un exemple ou on voit fonctionner Windows CE 6 et Android en même temps sur un Nokia N800 qui fonctionne avec Linux Mobile :
virtualisation os mobile

Share Button
2Fév/100

Pour oublier d’oublier

J'utilise un petit logiciel qui ne me quitte plus depuis des années.
Bizarrement le site de l'auteur n'existe plus et la  dernière version du  soft date de Mai 2005.
AT-Notes permet de mettre des alarmes qui vont surgir sous forme de post-it le jour ou vous en aurez besoin.
Ce logiciel fait l'unanimité parmi ses utilisateurs

Plus possible d'oublier le rendez-vous chez le dentiste dans 15 jours ou le coup de fil à passer à 16h cette après-midi.

Le logiciel est très discrètement logé dans la barre des taches et  fonctionne parfaitement sur Windows ; de la version 95 à jusqu'à windows 7.

Il est très facile et très pratique de configurer l'alarme.
L'interface est vraiment bien pensée.

Simple, pratique, discret ... et gratuit. Que demander de plus !

Le site français ... en Anglais ou on peut le télécharger : http://atnotes.free.fr/

Share Button