JESUISUNGEEK.COM - Mot-clé - php2022-10-15T08:24:27+02:00urn:md5:80fcbbbeeb78d335e0ba1eaeec99fb37DotclearNouveau projet = nouvelle docurn:md5:1026d2b81f0ec10cace80a485519987c2008-10-30T07:50:00+00:002012-10-07T16:49:16+00:00Jean-Baptiste LangloisGeekeriesdocumentationphpphpdd<p>HE'S ALIVE ! ALIVE ! (Ou presque...)</p> <p><img src="http://www.jesuisungeek.com/public/pictures/divers/lab1.jpg" alt="lab1.jpg" style="float:left; margin: 0 1em 1em 0;" title="lab1.jpg, oct. 2012" /><br />
Je crois que le Dr. Frankenstein serait content de moi.<br />
J'ai commencé, il y a deux semaines, un nouveau projet en PHP, qui devrait être publié d'ici 2 ou 3 mois sur ce site (<em>Stay tuned !</em> <img src="/dotclear/themes/chestnut/smilies/mdr.gif" alt=":mdr:" class="smiley" /> ) et comme à mon habitude, j'ai dans un premier temps négligé la doc. Toutefois, après réflexion, le programme sera tellement vaste dans ses fonctionnalités que je me dis que si je ne m'attelle pas à la doc aujourd'hui, je ne le ferai jamais... Je viens donc d'entamer la doc de mon nouveau projet, et elle est déjà impressionnante !<br />
<img src="http://www.jesuisungeek.com/public/pictures/divers/rapport.png" alt="rapport.png" title="rapport.png, oct. 2012" /><br />
D'aucuns penseront : <q>Boh, ça va, cinq pages, c'est pas non plus la mer à boire, on a vu pire!</q>. Certes. Sauf que là, je n'ai encore fait que la <ins>table des matières</ins>... et déjà cinq pages. Et, j'écris pas en <em>Arial 28</em>, mais bien en <em>Times New Roman 12</em> sans interlignes, tout ça. Ah ah! Alors, elle rigole moins la J.K. Rowling avec ses sept tomes de <em>Harry Potter</em>, hein ? Petite joueuse, va! Je crois, en fait, qu'à l'instar de Kane dans <em>Alien le Huitième Passager</em>, je suis sur le point d'accoucher d'un monstre, un ouvrage de plusieurs centaines voir milliers de pages qui fera passer l'annuaire des PTT (ça se dit encore ?) pour un livre de poche. Je me vois très bien, dans un futur proche, regarder mon <q>oeuvre</q> et hurler, lors d'une nuit orageuse, alors que les éclairs zèbrent le ciel : <q>He's alive ! ALIVE !!</q> (Et accessoirement, ma mère taper avec le manche à balai au plafond, en criant : <q>JB, tu fais trop de bruit, on peut pas dormir!!</q>).<br />
En fait, je plains surtout les relecteurs <img src="/dotclear/themes/chestnut/smilies/biggrin.gif" alt=":-D" class="smiley" /> <br />
Pour le plaisir, je vous laisse voir le premier jet <img src="/dotclear/themes/chestnut/smilies/wink.gif" alt=";-)" class="smiley" /></p>http://www.jesuisungeek.com/index.php?post/2008/10/30/181-nouveau-projet-nouvelle-doc#comment-formhttp://www.jesuisungeek.com/index.php?feed/atom/comments/177Social Linksurn:md5:f83747cf1598a794a14324f29d98eebc2008-07-15T21:42:00+00:002012-10-07T14:57:13+00:00Jean-Baptiste LangloisBidouillesdcsoclinksdotclearfacebookphpsocial linkssoclinkstwitter<p>Plugin pour DotClear 1.2 pour envoyer le lien d'un post d'un blog sur un réseau social ou de l'ajouter directement à ses favoris.</p> <p><img src="http://www.jesuisungeek.com/public/pictures/divers/.social-network-icons_s.jpg" alt="social-network-icons.jpg" style="float:left; margin: 0 1em 1em 0;" title="social-network-icons.jpg, oct. 2012" />Depuis la fin de l'année 2006, les réseaux sociaux fleurissent sur le Web. Entre les réseaux où on partage ses humeurs (<a href="http://www.facebook.com" hreflang="en">Facebook</a>), ceux où on partage ses favoris (<a href="http://del.icio.us" hreflang="en">Del.icio.us</a>) ou encore les news pour nerds (<em>stuff that matters</em>, <a href="http://slashdot.org" hreflang="en">Slashdot</a>), les manières de partager ses découvertes ou ses coups de coeur se multiplie. A ce titre, de plus en plus d'<q>utilisateurs finaux</q> adhère à ce genre de vue, mais cela demeure toujours assez compliqué pour eux pour mettre à disposition le lien qui les intéresse (Paradigme habituel du <q>copier le lien, se connecter, coller le lien, envoyer, se déconnecter</q>). L'idée sera alors de proposer au lecteur du blog (ici <a href="http://www.dotclear.net/" hreflang="fr">Dotclear</a>) une barre de liens vers les principaux réseaux sociaux afin de pouvoir partager l'information voulue en un seul clic.<br />
<img src="http://www.jesuisungeek.com/public/pictures/real/soclinks-1.png" alt="soclinks-1.png" title="soclinks-1.png, oct. 2012" /><br />
Ce genre de choses existe déjà chez Wordpress, et j'ai voulu mettre en place ce principe sur ce site, mais étrangement il n'existe pas sur Dotclear. Une solution alternative est pourtant disponible (<a href="http://www.addthis.com/" hreflang="en">AddThis</a>) mais l'ensemble n'est pas très personnalisable et, pour ainsi dire, assez moche.<br />
J'ai donc commencé à bidouiller les sources de mon <em>template</em> Dotclear et, de fil en aiguille, c'est devenu un plugin <img src="/dotclear/themes/chestnut/smilies/cool.gif" alt="8-)" class="smiley" /> <br />
<a href="http://www.jesuisungeek.com/public/pictures/real/soclinks-2.png" title="soclinks-2.png"><img src="http://www.jesuisungeek.com/public/pictures/real/.soclinks-2_s.jpg" alt="soclinks-2.png" title="L'interface principale de configuration" /></a>
<a href="http://www.jesuisungeek.com/public/pictures/real/soclinks-3.png" title="soclinks-3.png"><img src="http://www.jesuisungeek.com/public/pictures/real/.soclinks-3_s.jpg" alt="soclinks-3.png" title="Ajouter un élément" /></a>
<a href="http://www.jesuisungeek.com/public/pictures/real/soclinks-4.png" title="soclinks-4.png"><img src="http://www.jesuisungeek.com/public/pictures/real/.soclinks-4_s.jpg" alt="soclinks-4.png" title="L'aide en ligne" /></a><br />
Comme on peut le voir sur les <em>screenshots</em> ci-dessus, j'ai décidé de ne pas réinventer la roue ; j'ai donc développé mon interface de configuration en me basant sur <ins>Veni Vidi Vici</ins>, un plugin de gestion de médias. Comme la plupart des plugins Dotclear, il est relativement intuitif et ne nécessite quasiment aucun code à insérer (la création de la base de données est, par exemple, entièrement automatique). Tout ce qui vous est demandé est d'avoir un blog utilisant Dotclear <img src="/dotclear/themes/chestnut/smilies/wink.gif" alt=";-)" class="smiley" /> <br />
<br />
<strong>Présentation</strong><br />
Le plugin SocialLinks permet d'intégrer à ses billets DotClear une barre permettant d'envoyer le lien du billet lu à n'importe quel réseau social configuré au préalable. Si vous voulez, par exemple, faire connaître le <em>post</em> que vous lisez à vos contacts sur Facebook, il suffit de cliquer sur l'icône <q>Envoyer via Facebook</q> pour le faire partager. Vous pouvez, bien entendu, également utilisé SocialLinks pour enrichir vos favoris sur des sites comme Del.icio.us.<br />
<br />
<strong>Utilisation</strong><br />
Pour afficher la barre SocialLinks dans votre blog, insérez le code suivant dans vos fichiers post.php et list.php à l'emplacement où vous souhaitez le voir figurer :<br />
<code><?php dcSocialLinks::show($GLOBALS['news']); ?></code><br />
<br />
<strong>Description des options</strong><br /></p>
<ul>
<li><ins>Intitulé :</ins> Indiquez ici l'info-bulle de l'iône dans la barre de SocialLinks.<br /></li>
<li><ins>URL :</ins> Indiquez ici l'adresse internet correspondant au lien de partage du réseau social voulu. Il faut, de plus, indiquer, sur ce lien, les références aux URLs et les références aux titres. Ainsi si on veut ajouter Facebook dont le lien de partage est http://www.facebook.com/share.php?u=<url_du_site_à_partager>, on pourra taper <q>http://www.facebook.com/share.php?u=%URL%</q></li>
<li><ins>Image :</ins> Indiquez ici le chemin d'accès à l'image associée au réseau social. Ce chemin doit être relatif à votre dossier images ou bien une URL complète commençant par http:// ou par ftp://. SocialLinks est fourni avec les icônes de Del.icio.us, Digg, Facebook, Slashdot et Google.<br /></li>
</ul>
<p><br />
<strong>Options de configuration</strong><br /></p>
<ul>
<li><ins>Titre à afficher :</ins> Titre à afficher à la gauche de la barre SocialLinks. Facultatif. Par défaut, aucun titre n'est précisé.</li>
<li><ins>Label des URLs :</ins> Mot clé permettant d'indiquer à quel endroit l'URL du billet sera insérée (par défaut %URL%).</li>
<li><ins>Label des titres :</ins> Mot clé permettant d'indiquer à quel endroit le titre du billet sera insérée (par défaut %TITLE%).</li>
<li><ins>URL du site :</ins> URL du site sur lequel DotClear est installé. SocialLinks tente de le déterminé par lui-même à l'installation<br /></li>
</ul>
<p><br />
<strong>TODO</strong><br /></p>
<ul>
<li>Régler ce problème qui fait que l'on a le même rendu, que l'on soit en ISO8859-1 où en UTF-8.<br /></li>
</ul>http://www.jesuisungeek.com/index.php?post/2008/07/15/147-social-links#comment-formhttp://www.jesuisungeek.com/index.php?feed/atom/comments/143UMS (University Management System)urn:md5:07ad6c72a432469a5711c1339910da2e2005-01-29T17:03:00+00:002012-10-11T15:52:41+00:00Jean-Baptiste LangloisProjetsgplphpprojet<p>Utilitaire de gestion d'une administration scolaire devant s'occuper des étudiants, des professeurs et de la délivrance des diplômes.</p> <p>UMS est un autre projet qui a dû être fait pour l'Université de Cergy. Premièrement appelé <strong>C</strong>onstitution <strong>O</strong>rganisationnelle d'une <strong>L</strong>iste d'<strong>E</strong>tudiants <strong>T</strong>ravaillants <strong>T</strong>ransférés à l'<strong>E</strong>cole (COLETTE, comme le nom de notre conseillère d'orientation que le programme était censé remplacé), UMS est un outil de gestion des étudiants de leurs notes, des unités d'enseignements et des diplômes destiné à remplacer celui d'alors et être implantés dans les Universités de France.<br />
<a href="http://www.jesuisungeek.com/public/pictures/real/ums1.jpg" title="Menus déroulants de l'application"><img src="http://www.jesuisungeek.com/public/pictures/real/.ums1_m.jpg" alt="Menus déroulants de l'application" style="display:block; margin:0 auto;" title="Menus déroulants de l'application, août 2007" /></a>
<a href="http://www.jesuisungeek.com/public/pictures/real/ums2.jpg" title="Fonction de consultation"><img src="http://www.jesuisungeek.com/public/pictures/real/.ums2_m.jpg" alt="Fonction de consultation" style="display:block; margin:0 auto;" title="Fonction de consultation, août 2007" /></a><br />
Le travail a effectué, provenant du cours d'Objet et de Bases de Données, devait se faire avec un langage orienté Objet (idéalement Java). Toutefois, nous voulions une interface facile à accéder de n'importe quel poste de l'université. L'idée, effectivement, était de taper par exemple http://ums qui conduirait sur une interface Web d'où il serait facile d'appliquer des modifications. Pour cela, nous devions utiliser un langage utilisable pour l'Intranet tels que les CGI, le PHP ou Perl. Notre choix se porta sur PHP pour la facilité d'utilisation des bases MySQL, nos machines de test étant basé sur l'association LAMP (<strong>L</strong>inux, <strong>A</strong>pache, <strong>M</strong>ySQL, <strong>P</strong>HP). Le seul problème de PHP était sa gestion surnaturelle des classes n'étant pas un langage orienté objet. Malgré ce défaut, nous eûmes la meilleure note (18,5/20).<br />
Le but était donc de gérer les étudiants et leurs activités scolaires afin que l'on puisse à n'importe quel moment consulter l'état d'avancement d'un étudiant au sein de son cursus. Bien que proposé avec le concept européen des diplômes LMD, il est très facile de transposer UMS sur d'autres diplômes, ayant été fait pour cela.<br />
Pour le fonctionnement propre d'UMS, nous nous sommes inspirés du fonctionnement d'UNIX et de <a href="http://www.webmin.com/" hreflang="en">Webmin</a>. Adaptant le système de droits de l'un et de l'interface de l'autre, nous avons réussi à produire un utilitaire, oû le super-utilisateur (où ceux qui on ce droit) peut créer et organiser des diplômes et des filières et engager un professeur pour tel cours ou valider une année et une formation (temps discret). Les professeurs, peuvent enseigner les cours et noter les étudiants dont le seul droit est la consultation des notes et de la validation de leur cursus. Malgré notre avancement et la réalisation complète du projet, il nous est resté du temps, à tel point que nous avons localisé notre logiciel et rajouté des skins <img src="/dotclear/themes/chestnut/smilies/smile.gif" alt=":-)" class="smiley" /><br />
Dans les sources sont fournis, les rapports du projet ainsi que le manuel utilisateur. Toutefois, pour ceux aimerait en savoir encore davantage sur ce projet, je vous propose de télécharger les slidesattachées à ce post (format <a href="http://fr.openoffice.org" hreflang="fr">OpenOffice.org</a>).</p>http://www.jesuisungeek.com/index.php?post/2007/08/29/30-ums-university-management-system#comment-formhttp://www.jesuisungeek.com/index.php?feed/atom/comments/29PHPDBMailurn:md5:51fc5bd23fed590192950adce3faffe92003-05-25T21:42:00+00:002012-10-11T14:23:01+00:00Jean-Baptiste LangloisProjetsemailgpllinuxmailphp<p>Solution d'archivage de mailing-list sur le Web, proposant des utilitaires pour stocker des e-mails dans une interface conviviale</p> <p>Quand on est inscrit sur une mailing-list, on reçoit souvent des dizaines d'e-mails par jour ; or, quand on est inscrit à une mailing-list sur GNU/Linux, système qui devient de plus en plus populaire, on se dit qu'il serait utile de pouvoir archiver tous les mails échangés, car les problèmes de certains peuvent être également le problème d'autres personnes non-inscrits qui pourrait avoir besoin d'une aide. Le but était donc d'archiver pour les rendre consultables par la suite, un ensemble de mails reçus via une mailing-list. C'est dans cette optique que fut envisagée ce projet en partenariat avec l'administrateur de la mailing-list Starinux, liste sur laquelle ce projet fut pour la première fois testée. Ce fut mon premier programme sous licence GNU/GPL et au vu des réactions positives quant à mon travail, ce qui n'était qu'un petit programme d'aide aux internautes se retrouva être un projet de bien plus grande envergure. Paradoxalement, c'est la raison pour laquelle il fut mis entre parenthèses jusqu'à aujourd'hui ; je devinai qu'il allait occuper une place principale dans mon emploi du temps, déjà chargé par les cours universitaires. Il s'arrêta à la version 0.2 avec une interface de configuration en chantier.<br />
<a href="http://www.jesuisungeek.com/public/pictures/real/dbmail1.jpg" title="Interface de base"><img src="http://www.jesuisungeek.com/public/pictures/real/.dbmail1_s.jpg" alt="Interface de base" title="Interface de base, mai 2003" /></a><a href="http://www.jesuisungeek.com/public/pictures/real/dbmail2.jpg" title="Détail des utilisateurs"><img src="http://www.jesuisungeek.com/public/pictures/real/.dbmail2_s.jpg" alt="Détail des utilisateurs" title="Détail des utilisateurs, mai 2003" /></a><a href="http://www.jesuisungeek.com/public/pictures/real/dbmail3.jpg" title="Lecture des e-mails"><img src="http://www.jesuisungeek.com/public/pictures/real/.dbmail3_s.jpg" alt="Lecture des e-mails" title="Lecture des e-mails, mai 2003" /></a><br />
Disons-le tout de suite : ce programme n'est pas simple à installer. En effet, n'ayant pas terminé l'interface d'installation, tout doit se faire à la main, mais une personne habitué au PHP pourra s'en sortir aisément. Mais contre, au niveau de la configuration et des possibilités d'installation, il est loin derrière ce que sera UMS, mais il marche ; Une fois installé, il n'y a plus de raisons de le modifier.<br />
Peut-etre un jour, reprendré-je ce projet pour le mener à bien, dès que mon temps libre me le permettra.<br />
En attendant, pour l'installation, tout ce que je peux vous conseillez est d'éditer le fichier <em>config.php</em> et d'exécuter <em>install.php</em>.<br /></p>http://www.jesuisungeek.com/index.php?post/2007/08/25/37-phpdbmail#comment-formhttp://www.jesuisungeek.com/index.php?feed/atom/comments/34