Stage webdev – semaine 2

Récapitulatif du projet sur lequel je travaille :

Créer un programme PHP qui fait des backup de manière historique.
Il y a un nombre de tables dans une base de données qui est variable. Il faut pouvoir créer pour chaque table :
– un fichier txt de backup complet (structure de la table et données de la table)
– un fichier txt de backup de la structure seulement
– un fichier sql de backup des données seulement
– un fichier sql de backup des données nouvelles, mises à jour ou supprimées par rapport au backup précédent.
Il y a des tables sans date. D’autres avec des dates. D’autres qui ont des dates mais qui ne sont pas pertinentes donc on doit retrouver une date dans une autre table. Il y a des tables sans date mais il y a possibilité de trouver des indices des mises à jour effectuées dans une autre table.
On me dit que l’idéal serait également de pouvoir stocker dans une autre table la date et heure de début d’un backup, la fin et de déterminer la différence pour savoir combien de temps ça prend.
On devrait également savoir tous les combien de temps en moyenne une table est modifiée.


Stage – Semaine 2 – Jour 6

2h de jeux (Nada, Timeline et Black Stories)
30min de mangeage
5h30 de bossage.

Le premier morceau de code concernant le backup de la structure et des données est presque terminé. Il manque le traitement des fins de boucle (mettre une virgule, point-virgule selon le cas)

Pour des raisons qui m’échappent complètement
mysql_num_rows et mysql_numrows
ne fonctionnent pas.


Stage – Semaine 2 – Jour 7 :

A midi, Maître de Stage et Stagiaire n°1 sont partis manger dans un restaurant où les plats sont à minimum 15€ (et là, je parle juste des entrées). Donc j’ai décliné en contrant leur insistance avec ma carte « la famille elle a faim, sivoupléééé » et j’ai pu déjeuner en paix. #StephaneEicher

Du coup, j’ai eu plein de temps pour travailler sur mon projet.
Résultat, j’ai atteint mon objectif personnel mais je suis encore loin de la réussite totale du projet. Il me reste encore 3 jours.

Finalement, pour palier au problème de l’affichage des caractères spéciaux, j’utilise
$sql = utf8_encode($sql);
pour les résultats des requêtes sql et les codes mnémoniques pour les caractères spéciaux à afficher en dur. Maître de Stage approuve la méthode.

J’apprends l’existence et l’utilisation de SHOW COLUMNS FROM `$nomtable` qui est une sorte de clic droit + propriétés pour les champs d’une table.
J’apprends également que le SQL est divisé :

  • en LCD (en gros, c’est pour ce qui touche aux utilisateurs et aux transactions),
  • LDD (structures de données)
  • et LMD (select, insert, update, delete).

Aujourd’hui, j’ai également fini le formulaire pour sélectionner une table, virer ou ajouter les ponctuations de fin de boucle, vérifier que les fichiers de backup soient correctement créés mais également qu’ils soient utilisables.

Bilan moral : ça va mieux que la semaine dernière


Stage – semaine 2 – Jour 8 :

J’avance encore sur mon programme. Je sais pas si j’aurai fini d’ici vendredi mais j’avance bien et ça fait suuuuuper plaisir.

J’apprends l’existence et l’utilisation de
SHOW TABLE STATUS FROM `$nomdb` WHERE name = '$nomtable'
mais également l’existence de ces colonnes qui me seront surement bien utiles :
CREATE_TIME (date de la dernière modification de la structure de la table) et
UPDATE_TIME (date de la dernière modification des données de la table).

J’ai donc réussi à générer un fichier avec la structure, les données et le backup complet d’une table.
Je dois désormais me mettre aux fichiers différentiels. Sachant que ça doit mettre à jour, donc ajouter des lignes dans des fichiers déjà existants.


Stage – semaine 2 – Jour 9 :

Alors que le projet me semblait bien avancé, j’ai reçu tout un tas de nouvelles instructions à faire pour demain. Devant la montage qui est devant moi, j’avance toujours pas à pas, en évitant de regarder le sommet que je dois atteindre.
C’est dur.

Puis à midi, on m’a demandé de lire 250 pages de « Programmer avec MySQL 4ème édition » (alors si tu veux, outre le fait que j’ai pas de thunes, si j’ai pas fait de hautes études, c’est que me taper des manuels imbuvables remplis de mots que je comprends pas, c’est pas vraiment ma tasse de thé).
J’avoue, j’ai un peu pleuré du sang deux fois.

Bilan moral : j’ai presque fait 1/3 j’en ai marre j’ai presque fait 1/3 j’en peux plus j’ai presque fait 1/3 mon chat n’arrête pas de hurler j’ai presque fait 1/3 et j’ai le nouveau FF dans la Playstation et j’ai pas le temps d’y jouer j’ai presque fait 1/3 j’y crois à mort c’est la chance de ma vie.


Fin de la 2ème semaine ! 1/3 de passé !

Maître de stage n’était pas là. Du coup, j’ai alternativement désespéré de rien comprendre puis ai trouvé des solutions (comme ça, en boucle, toute la journée).

J’ai étudié la fameuse table qui stocke des données sur les derniers ajouts, modifications, suppressions de la base de données. J’ai repéré les tables concernées (beaucoup ne le sont finalement pas). Les dates ne se réfèrent pas toujours à ce qu’il faudrait. Les champs pour relier la table magique aux autres tables n’ont jamais le même nom.

Je me suis arrangée pour finir la journée avec un petit truc pas fini à finir lundi (histoire de commencer la semaine avec un truc que je peux faire et qui fonctionne, à savoir rédiger un switch pour les tables sans date mais dont je peux obtenir un différentiel via une autre table qui stocke la plupart des modifications de la DB. Pas de quoi FuturMoi, ça me fait plaisir !).

Stagiaire n°1 a maté des Kaamelott en ninja toute la journée (genre je l’ai pas entendu ricaner comme un dindon t’sais…). Et du coup, j’ai bien avancé finalement.

Sur mes 250 pages de SQL à lire, j’ai encore la moitié qui m’attend. Je ne peux pas affirmer que j’ai tout compris mais j’ai tâché de retenir les mots-clefs qui me permettront, au moment où j’en aurais besoin je l’espère, de me souvenir que j’ai lu des trucs en rapport avec ces fameux mots-clefs.

2 commentaires pour “Stage webdev – semaine 2

  1. Salut à toi Mae 😉

    Avec tous les jeux que tu as testé pendant ton stage, il faudrait que tu nous fasses sur ton blog une page de compil avec « c’est quoi ce jeu », j’aime, j’aime pas,…

    A+

Laisser un commentaire

Articles similaires

Commencez à saisir votre recherche ci-dessus et pressez Entrée pour rechercher. ESC pour annuler.

Retour en haut