mars 30, 2004

Comment joindre 3 tables à la fois?

Dans le numéro 3 du TP, il faut afficher le titre + le nom du groupe des chansons contenus dans la base de données.

Selon le modèle de données qu'on utilise, il faut joindre 3 tables pour obtenir ces informations.

Voici un exemple de requête :

SELECT DISTINCT cd.titre, g.nom
FROM cd, groupe AS g, chanson AS ch
WHERE
ch.groupe = g.groupe_id
AND
cd.cd_id = ch.cd;

Notez que g et ch sont des alias sur les tables groupe et chanson, respectivement. La requête est donc équivalente à ca :

SELECT DISTINCT cd.titre, groupe.nom
FROM cd, groupe, chanson
WHERE
chanson.groupe = groupe.groupe_id
AND
cd.cd_id = chanson.cd;

Posted by holstein at 03:40 PM | Comments (0)

mars 26, 2004

Comment gérer les résultats par pages

Pour afficher les résultats, je demandes de limiter à 10 par pages le nombre d'items.

Comment faire alors?

Voici du pseudo-code qui explique un peu la logique...

# On initialise
page = 0;
nbparpage = 10;

# on suppose que vous construisez votre SQL
sql = Select [...] LIMIT page * nbparpage, nbparpage;

# que vous l'exécutez et affichez les résultats
[affichage de la liste]

S : page suivante demandé
page =1
donc,
limit 10, 10

qui donne requete de 10 résultats, a partir de 10.

et ainsi de suite : logiquement, on offre la page suivante seulement s'il y a possiblement des résultats, ie si le nombre d'enregistrements reçus est >= a nbparpage.

N'hésitez pas à écrire dans les commentaires si vous avez des questions sur ce code!

Posted by at 11:06 AM | Comments (0)

Notes sur DBI

Les notes du cours du 25 mars sont disponibles, en format PDF ou HTML

Notez bien que je n'ai pas écrit de note sur l'introduction à DBI du cours précédent : il y a assez d'intro à DBI qui trainent sur le Net, je ne voulais pas en réécrire une autre...

Donc, regardez bien les textes données plus bas

Considérez le contenu du texte "Spécification DBI - extrait de Perl DBI, le guide du développeur, de O'Reilly" comme matière à examen (seulement les concepts qu'on a abordés, bien sûr) : il s'agit pratiquement d'une traduction du manuel de DBI de toute façon...

Posted by at 10:45 AM | Comments (0)

Pour le TP 2

Encore une modification au contenu à faire dans le TP.

Pour être bien certain que tout le monde a bien compris la modification annoncé au début du cours du jeudi 25 mars :

Le numéro 3 demandait d'écrire 2 applications (que certaines constructions/manipulations auraient pu permettre la gestion dans un seul et même "exécutables" : je reviendrai sur ce genre de constructions dans la 3e partie de la session, après l'examen). La première de ces application, voircd, doit permettre de visualiser le contenu de la "discothèque" et des CD qu'elle contient. La seconde application devait servir à manipuler les inscriptions dans cette base de données : ajouter, modifier les entrées de CD, artistes, chansons, etc.

Dans le but de garder les choses simple et d'éviter d'étirer le temps alloué pour le TP2, la seconde application n'est plus à faire. Donc, le numéro 3 du TP 2 consiste à produire une application capable d'afficher le contenu de la base de données d'albums de la BD "musique".

Le TP est donc par conséquent bel et bien à remettre au début de la scéance de TP du mardi 6 avril. On pourra alors commencer dès cette scéance à travailler sur les utilitaires à bâtir pour le TP3.

Posted by at 10:43 AM | Comments (0)

mars 24, 2004

Un nouveau look...

... plutôt minimaliste, j'en conviens... :)

Comme je l'ai mentionné dans l'ancien site, un déménagement de serveur a fait en sorte de bousiller les dates de modification des entrées dans le gestionnaire du site. J'ai donc trouvé plus simple de simplement transférer le tout dans MovableType, un autre engin de blog écrit en Perl, qui est beaucoup plus complet que Blosxom (mais beaucoup plus "lourd", bien sur...).

La session tirant déjà à sa fin (enfin, on est en plein milieu, mais bon...), nous nous contenterons des gabarits de pages par défaut, plutôt que d'avoir à subir mes maigres talents d'infographiste.. ;P

Posted by at 08:33 PM | Comments (0)

mars 23, 2004

Des liens sur DBI

Voici une série de lien à propos de Perl et de DBI.

En français

En anglais

Posted by at 01:24 PM | Comments (0)

Énoncé complet, TP2

Disponible en format HTML

La BD "musique", nécessaire pour faire le numéro 3, est disponible ici

Posted by at 10:33 AM | Comments (0)

mars 12, 2004

Pour les utilisateurs de Vim

Enfin : comment arrêter d'afficher la dernière recherche?

Le tips no 93 sur vim.org donne la réponse.. ;)

Version courte : faut setter :nohls. Lorsqu'on fait une autre recherche, le hightlight va revenir, jusqu'à ce qu'on retape le :nohls. L'entrée de vim.org explique différente façon de "mapper" l'opération dans une touche, d'avoir une option on/off, etc.

Et, tant qu'à y être, découvrez des centaines d'autres trucs à faire avec Vim. Et explorez la section "plugins" pour trouver comment étendre les possibilités d'utilisations de Vim...

Posted by at 02:14 PM | Comments (0)

Si vous allez à Paris en juin...

Vous pourrez y faire du Perl. ;oP

Le site use.perl.org nous informe que le French Perl Workshop se tiendra à Paris le 6 et 7 juin prochain.

Posted by at 01:12 PM | Comments (0)

mars 11, 2004

Perl en français

Plein de documentation sur Perl et certains modules sur le site des traducteurs de la documentation Perl en français.

Posted by at 12:45 PM | Comments (0)

mars 10, 2004

Notes de cours, théorie BD 2

Disponibles en format HTML, PDF ou OpenOffice.

Posted by at 09:29 PM | Comments (0)

mars 09, 2004

Début d'énoncé, TP2

Le texte complet suivra bientôt, en attendant, voici le début du TP :

Question 1

Produire le diagramme représentant les entités nécessaires pour stocker l'information sur un parc informatique : ordinateurs (et leurs caractéristiques de bases, ie. CPU, taille mémoire, taille disque), écrans, imprimantes, utilisateurs associés à chacun (seulement nom, prénom, no. de bureau).

Le diagramme est à faire dans un outil graphique, du genre de Dia, qui est installé sur vos stations et qui est disponible pour Windows.

Question 2

Créer les utilisateurs (un pour l'administration, l'autre pour la lecture), la base de données (appelé "inventaire") et les tables pour supporter le diagramme du no.1

Le reste est à suivre

Posted by at 02:49 PM | Comments (0)

mars 04, 2004

Faire chanter un chameau

Euh... En tout cas, se servir du langage-au-chameau pour organiser ses chansons...:-P

L'article est en deux partie chez le IBM DevelopperWorks :

La première partie explique grosso-modo le fonctionnement du script et de ses librairies, la seconde ajoute des détails et explique comment faire des manipulations plus poussés.

Évidemment, ce n'est pas du Perl pour débutant... :) Mais ne vous laissez pas intimider, si ca vous intéresse, commencez simplement par faire fonctionner le script.

Les modules sont probablement disponibles via le CPAN (nan, je n'ai pas vérifié...) : je pourrai montrer comment installer des modules à partir de là au prochain lab, pour ceux que ca intéresse. On prendra simplement un peu d'avance, puisque de toute façon c'est quelque chose que je voulais vous faire faire un peu plus tard.. :)

Posted by at 08:55 PM | Comments (0)

Notes de cours - théorie sur les bases de données

Disponibles en format HTML, PDF ou OpenOffice.

Attention : les images ne sont pas extra à lire avec la version HTML... Je n'ai pas fait attention à la taille des images... : Le PDF, ou mieux, le sxw devraient être beaucoup mieux.

Posted by at 01:21 PM | Comments (0)