[Lecture de musique]\nDAVID J. Malan: Très bien. Ceci est CS50. Ceci est le début de la huitième semaine. Et vous souvenez peut-être que nous nous sommes quittés dernier temps à regarder une nouvelle langue tout à fait. En fait, celui qui est assez léger et il est même pas un langage de programmation. Il est un langage de balisage qui nous permet réellement structurer et rendre les pages Web. Et quand vous quelque chose d'autre en conjonction avec this-- ou vous sera bientôt le cas, si vous ne l'avez pas déjà. Nous allons utiliser en cascade Les feuilles de style CSS, ou qui est un autre type de langue avec les propriétés et les valeurs qui va nous laisser faire des choses comme changer la couleur et changer la position et ces sortes de réglages. Mais aujourd'hui, et au-delà, nous commençons à se concentrer sur les langues les plus puissants, langages de programmation comme PHP réels.\nDonc, PHP a été autour depuis un certain temps. Et comme vous le verrez, il a été conçu principalement dès le début réel de utiliser dans le développement web et en fait la génération des pages web. Alors, quel genre de caractéristiques ne une langue besoin afin de rendre web pages dynamiquement avec elle?\nEn d'autres termes, si vous voulez générer dynamically-- contenu comme de Facebook RSS, qui change constamment, ou messages instantanés qui apparaissent de temps à time-- comme ce qui est le élément clé de la fonctionnalité vous avez besoin dans un langage de programmation ce serait vous laisser dynamique imprimer de nouvelles informations à l'écran?\nL'ÉLÈVE: Code. DAVID J. Malan: Code. D'accord. Nous allons prendre cela. Un peu plus précis. Je veux dire, nous pourrions faire ce avec C, franchement. Ce serait une douleur dans le cou. Mais-- est cet engagement?\nL'ÉLÈVE: Oui. Variables, peut-être? DAVID J. Malan: Variables. OK, bien sûr. Les variables peuvent certainement nous aider. Et même quelque chose de simple. Nous l'avons utilisé dans la première programme de la première journée et quand nous sommes dit "Bonjour tout le monde."\nDAVID J. Malan: Imprimer, non? Imprimer, ou printf dans la monde de C. Donc, tout ce temps, nous avons eu à notre disposition un language-- C, dans particular-- et même Scratch d'ailleurs que peut générer des chaînes de texte.\nEh bien, si le code HTML, comme nous l'avons vu la semaine dernière, est juste un tas de chaînes de texte mais avec crochets ouvert et fermé supports et une sorte de rime et la raison derrière elle, eh bien nous pourrions vraiment commencer à générer des pages de navigateur manuellement en les saisissant dans gedit ou dans Microsoft Word, pour que matter-- nous avons juste besoin d'un éditeur de texte.\nCommençons donc avec un this-- cryptique ligne à la recherche, mais un qui est en fait assez puissant. Jusqu'à présent, nous avons utilisé C, qui est un langage compilé. Et juste un rapide recap-- une compilation langue a ce caractère? Vous avez évidemment besoin de compiler , mais ça veut dire quoi? Ouais?\nL'ÉLÈVE: Il doit être assemblé en code machine.\nDAVID J. Malan: OK. Il doit être assemblé en code machine. Vous prenez donc votre code source, qui est en quelque sorte de l'anglais comme. Vous convertissez que pour quelque chose niveau inférieur, qui est finalement appelé code-- objet de 0 et de 1. Et ce sont ces 0 et de 1 qui une unité centrale, comme ceux fabriqués par Intel, fait comprendre.\nEt si tous nous avons besoin est quelque chose comme ça. Donc, en fait, je vais passer à l'appareil ici, tout en toute ancienne fenêtre, et nous sommes aller de l'avant et ouvert un fichier appelé, dire bonjour. Maintenant déjà, je pourrais avoir sauvé ce même avec une extension de fichier, mais je vais faire quelque chose d'encore plus simple ici. Je vais aller de l'avant et commencer ce fichier avec la syntaxe cryptique. Ainsi, "l'utilisateur, bin, env, pour l'environnement, php ".\nCeci est tout simplement une ligne de code qui est aller dire à mon système d'exploitation, aller trouver dans votre région environnement quel qu'il soit, où PHP est-- la interpreter-- et aller de l'avant et d'utiliser cette interprète d'interpréter le code suivant. Maintenant, ce genre est de une caractéristique laid de PHP. Mais dans cette langue, toute fois que vous écrivez du code PHP, vous avez besoin d'avoir un de ces laid balises PHP délimitant le début de votre code-- <? php.\nMais au-dessous ici, je peux maintenant faire quelque chose assez simple comme bonjour printf virgule, monde barre oblique inverse n proche citation, parenthèse fermante. Et puis juste pour faire bonne mesure, je vais à aller de l'avant et à proximité mon tag php ici de sorte que tout semble bien joli imprimé.\nEt dès que je clique sur Enregistrer, gedit est en fait assez intelligent d'examiner cette première ligne et réaliser, oh, vous écrivez du code PHP. Je voudrais souligner la syntaxe avec les couleurs ici de sorte qu'il se un peu plus. Mais maintenant, je vais aller jusqu'à ma fenêtre du terminal. Je vais un zoom avant.\nCe programme a été appelé «bonjour», donc je vais faire slash dot bonjour, mais permission refusée. Et bash. En fait, nous avons entendu de cette Il ya une chose quelques semaines dans le contexte de Shellshock, un de ces bugs.\nMais Permission denied nous avons vu avant, peut-être dans un contexte différent. Est-ce que quelqu'un se souvient comment vous pourriez réparer quelque chose où l'autorisation est refusée comme ça? Quelle est la commande, au moins?\nL'ÉLÈVE: chmod. DAVID J. Malan: Ouais, chmod, pour changer le mode d'un fichier. Et vous aurez d'autant plus l'habitude de la semaine prochaine avec un problème ultérieur fixer. Mais pour l'instant, je vais changer le mode de ne pas être lisible, mais de donner à chacun executeability privilèges, la capacité pour exécuter ce fichier. Et je vais assigner que le fichier bonjour.\nSi je le fais maintenant slash dot bonjour entrer, vous voir, en fait, mon programme, bonjour monde. Et ce que l'étape ai-je sauter clairement tout à fait? Compilation. Donc, je viens de rencontrer ce programme tout simplement.\nEt il se trouve que vous pouvez faire cela avec beaucoup de syntaxe proche du C. Laissez-moi aller pour le code d'aujourd'hui, que je mets dans mon répertoire de serveur virtuel ici, pour des raisons réelles nous y reviendrons. Et je vais aller dans, disons, les conditions 1.\nEt vous verrez ici, d'abord et avant tout, tout un tas de commentaires. Mais cela est en fait une re-création en PHP d'un programme que nous avons fait dans la semaine une des conditions dites 1.c où dans le but durée de ce programme est apparemment à poser l'utilisateur pour un nombre entier et puis faire un peu de moelleux analyse sur ce par quoi vous dites si elle est positive ou négatif ou égal à zéro. Et je soulève cette question parce que, sauf peut-être un petit détail, il est impossible de distinguer si loin de C.\nQuelle est la seule caractéristique que peut-être ici saute à vous comme un peu différent? Peut-être deux choses. Ouais?\nL'ÉLÈVE: Dollar signe n?\nDAVID J. Malan: Ouais. Donc, signe de dollar n est présent. Et le symbole du dollar, que nous le verrons, vont être une solution au début d'une variable en PHP. Il est à la fois bon et bad-- bon dans qu'il est une sorte de manifeste ce qui est une variable, mauvaise en ce qu'elle est encore une autre chose à taper. Et il ya une autre chose que nous avons pas assez vu, au moins par cette orthographe. ouais?\nDAVID J. Malan: Readline. Readline nous ne voyons pas, en soi, C, même si il existe quelque chose similaire, mais nous avons utilisé getString, ce qui est sa contrepartie. Donc, si je vais dans cette répertoire, qui se trouve être, comme je l'expliquerai dans un peu dans mon vhost répertoire et ma source est le répertoire et je vais de l'avant et faire slash dot conditions-- whoops-- point barre conditions 1, vous verrez, à nouveau, la même autorisation Issue-- refusée.\nPermettez-moi de zoom avant et chmod un plus x sur les conditions, les conditions de slash dot. Je voudrais un entier, se il vous plaît, 50. Et nous pourrions jouer ce jeu toute la journée. Il va se comporter exactement comme il l'a fait dans une semaine.\nOK donc pas si différent, sauf pas juste que peu léger de la syntaxe, mais au sommet, je nouveau eu cette ligne qui m'a permis de créer quelque chose qui ressemble à un programme en C appelé bonjour, conditions dites 1. Mais il est pas 0 et ceux Je exécuter directement. Il est plutôt l'exécution de cette interprète dont le nom se trouve être identique à la langue. Le programme est appelé PHP, et mon code dessous de la ligne un est transmis en elle.\nNous pouvons faire un autre assez simple exemple rappelle quelque chose nous l'avons fait il ya quelques semaines. Encore une fois, ceci est une sorte de morceau arbitraire d'un code qui, apparemment, ne ce lorsque vous exécutez il? Qu'est-ce que cela va-imprimer, sans doute?\nDonc, d'abord sur la ligne 16, il est va dire x est maintenant 2, probablement. % D est le même que i $ pour printf. Alors qu'il est au cube, point, point, point, à la ligne 17. Puis la ligne 18 apparaît pour appeler une fonction Cubed. Et où est Cubed défini?\nEh bien, il ressemble à la ligne 25, de sorte que tout ce qui est pas différent. Je l'ai eu quelques commentaires ci-dessus , mais, pour la plupart, il est un assez simple portage ou la conversion à partir du programme de C à la version de PHP. Mais il ya maintenant un couple de différences que peut-être devrait sauter sur. Quoi d'autre est différent de la façon dont vous pourrait écrire ce même programme en C?\nDAVID J. Malan: Il ya pas de prototype en haut. Donc PHP-- et franchement, une beaucoup de languages-- moderne sont beaucoup plus intelligents et plus utile que les compilateurs C à vous peut mettre la fonction ici, vous pouvez mettre une fonction ici-bas, et l'interprète va à vous faire la faveur de la lecture L'ensemble du dossier avant de décider qu'il n'y a pas une fonction. So Nice améliorations ans plus tard. Mais il ya aussi quelque chose autre différent ou absent ici. Ouais?\nL'ÉLÈVE: [inaudible]. DAVID J. Malan: Nous ne devons pas déclarer les types de variables, alors nous verrons bientôt que il existe différents types en PHP, mais vous ne devez pas les spécifier, qui est aussi à la fois bon et mauvais. Et il ya une autre chose qui manquait.\nL'ÉLÈVE: Il n'y a pas de bibliothèques.\nDAVID J. Malan: Il n'y a pas de bibliothèques. OK, donc ce est agréable. Nous recevons beaucoup plus hors de la boîte. Donc, il ya effectivement beaucoup plus choses que je pensais étaient différentes. Que diriez-chemin dans le dos? Qu'est ce que ce est? Dites-le une fois de plus?\nDAVID J. Malan: Pas de pointeurs. OK, au moins dans cet exemple, aucune. Voilà juste. Donc, il n'y a pas des pointeurs PHP en fait en général. Il ya ce qu'on appelle des références, mais nous ne serons pas passer trop de temps là-bas. Et quoi d'autre?\nL'ÉLÈVE: Main. DAVID J. Malan: Main. Donc, ce fut le biggie Je pensais. Remarquez qu'il n'y a aucun point d'entrée principal. Il vous suffit de commencer à écrire votre code. Et cela est effectivement va être avantageux lorsque nous passons momentanément à fait à l'aide basé sur le Web pour la même langue la programmation, pour lesquels nous ne veulent pas d'avoir un seul point d'entrée. Nous pourrions avoir un tas de URL, un tas de fichiers différents tout en prenant en entrée de l'utilisateur et produire une sortie.\nMais voici la très décourageant exemple que je l'ai promis la dernière fois, à savoir dans ce dossier ici, les fautes d'orthographe. Donc, dans ce fichier Speller, qui nous ne sera pas passer trop de temps sur, il est essentiellement un porting-- P-O-R-T. Il est juste la parole donnée lorsque, par exemple, vous convertissez d'une langue généralement à l'autre manuellement.\nCeci est un portage de PC version du correcteur orthographique de PSET 5. Et je essentiellement essayé de convertir ligne par ligne comme étroitement que possible. Donc, si vous aimez ce genre de chose, il est en fait une valeur à un moment donné les tirant à la fois côte à côté et voir ce qui est la même et ce qui est différent. Mais ils sont sacrément similaire. Si vous vous souvenez ce que Speller même ressemblait, même si vous ne l'avez pas avoir à modifier ce fichier, il est assez similaire structurellement avec juste un couple des changements ici et là.\nDonc, ceci est seulement pour dire qu'il est assez facile à convertir en orthographe de C à PHP. Mais dans le dictionnaire, il est quelque chose d'encore plus convaincant. Permettez-moi aller de l'avant et créer mon propre fichier dictionary.php. Ainsi légèrement différent en ce que nous l'appellerons .php au lieu de .c. Parce que cela est un fichier PHP, je do-- légèrement annoyingly-- ont pour démarrer le fichier avec une balise php comme ça. Et je vais aller de l'avant et définir quelques fonctions. Fonction appelée chèque, ce qui est va prendre en un mot comme avant. Mais de cet argument va avoir un dollar signer parce que nous sommes, encore une fois, en utilisant PHP. Une autre fonction de dictionary.c était charge et il a fallu au nom d'un dictionnaire, donc je vais prendre cette fonction prêt à aller.\nUn autre dans dictionary.c était quoi? Taille était l'une des plus belles que, à moins si vous avez gardé une variable autour. donc la taille vient de retourner une variable. Et puis il y avait déchargement.\nIl y avait donc ces quatre fonctions de problème mis 5 que vous avez besoin pour mettre en œuvre avec une certaine structure ou des structures de données. Donc je l'ai promis que dans PHP, nous pouvons déclarer une table de hachage, par exemple, tout cela plus facilement. En fait, si je veux une table de hachage, Je vais aller comme ça et il ya ma table de hachage. Et qui est la note, décourageant, que nous nous sommes quittés sur la dernière fois. Et vous savez quoi, si je voulais une variable de taille, bien, celui-ci est pas tout si différent de C, mais je vais aller de l'avant et le faire. Et remarquez aucun type de données. Et je vais revenir plus tard et en fait ajouter quelques commentaires ici. Mais qu'en est-charge?\nSi le signe dollar dictionnaire est le nom de mon fichier et je veux vraiment charger mots dans ce tableau l'entreprise, Je peux réellement faire quelque chose d'assez simple. One-- et cela est minorly annoying-- en PHP, vous devez spécifier l'intérieur d'une fonction si vous vouloir accéder à certaines mondial variable qui est défini à l'extérieur.\nMais qui est pas particulièrement intéressant en ce moment. Ce qui est plus intéressant est ce pour chaque construis que je l'ai mentionné la dernière fois. Et il se trouve que PHP dispose d'une fonction appelé fichier dont le but dans la vie est d'ouvrir un fichier et lire dans l'ensemble de ses lignes dans un tableau et de les remettre à dos.\nCe qui veut dire que je peux faire si dictionnaire que maintenant effectivement quand je l'appelle fichier, cela va me restituer un tableau de mots du fichier. Il est pas si bon. Il va toujours y avoir une ligne des mots, quelque chose linéaire. Mais je peux aller de l'avant et itérer sur chacun de ces mots à l'aide que nous avons vu brièvement syntaxe dernière fois. Et vous le verrez plus dans le prochain PSET.\nMais maintenant, je dois une itération de la boucle sur chaque mot dans le dictionnaire. Et à chaque itération, rappelle que je suis appelant le mot courant "mot". Et tout ça va prendre pour mettre un mot dans le dictionnaire est va être le mot conjecture «vrai». Voilà ma fonction d'insertion. Voilà ma fonction de charge pour mon dictionnaire. Maintenant, il est un peu de la triche parce que, vous savez quoi, il ya en fait barre oblique inverse n est à la fin des mots que je devrais probablement me débarrasser de, mais qui est pas un problème parce que PHP a une fonction appelée côtelette qui littéralement côtelettes hors d'un caractère tout à la fin. Donc, pas de problème. Nous avons pris les devants et fait raccourci pour que tout cela. Et maintenant, je devrais probablement suivre de taille, donc de laisser au moins faire this-- taille ++. Je peux le faire comme avant. Et puis ce va probablement fonctionne très bien, de sorte que de revenir vrai. Terminé. PSET 5.\nDAVID J. Malan: OK. Nous allons le faire à nouveau avec la prochaine PSET, aussi. Alors que sur la taille? Eh bien, celui-ci est, espérons-sur que vous attendez la dernière fois, même si je dois faire cette chose stupide mondiale. Il est juste un artefact de La conception de la langue.\nMais chèque est un peu plus intéressant. Donc, si je passais en dollar Signe verbal, je première veulent avoir accès à cette table variable globale. Et maintenant, si je veux vérifier si un mot est là, Je peux simplement dire si il est vrai que le suivant est fixé dans le tableau, alors allez-y et retour vrai; autre, retourner faux. Terminé. L'autre moitié de PSET 5.\nTrès bien, alors encore une fois, je suis couper quelques virages. En toute justice, je devrais probablement passer quelques secondes sur cette mise en oeuvre. Et je ne devrais probablement pas se moquer de tout le heures vous mettre sur la PSET tellement. Donc strtolower est une fonction. Quelque chose existentialiste similaire en C, au moins pour les caractères, mais PHP monde a une version toute de chaîne.\nCela va forcer tout en minuscules, que certains d'entre vous aurait pu le faire canoniser ce vous mettez dans votre dictionnaire. Et maintenant, vous pouvez le faire en C, aussi. Cela n'a rien à voir avec PHP.\nMais chaque fois vous avez un état booléenne, comme quelque chose en ligne 10 y, qui est seulement va évaluer à vrai ou faux, et si votre autre clairement est de retour vrai ou faux, je ne pouvais simplement vraiment faire ce sexy et il suffit de faire quelque chose comme ça. Alors qu'il est ma fonction de contrôle. Droit, si l'opérateur booléen renvoie true ou une fausse, disons simplement revenir tout de suite.\nEt il ya quelques autres améliorations Je pourrais faire ici et là. Déchargement Load--, par la manière, ce qui est fait. Rien à faire. Etant donné que la totalité de la mémoire dans PHP et bien d'autres langues est en fait géré pour vous. Ainsi, alors que dans C, comme vous avez appris douloureusement, tout ce que vous malloc ou calloc ou realloc, vous devez vous libérer. Tout ce que vous fopen, vous devez fclose, afin que les ressources sont finalement libérés et des outils comme Valgrind ne le font pas préavis et ne se plaignent pas, qui est une bonne chose pour fonctionner sur eux.\nMais sûrement, il doit être quelques captures, non? Sinon, nous sorte de perdu tout un tas de semaines. Donc, il ya un certain nombre de raisons pourquoi nous prenons ce genre de trajectoire, mais il ya un compromis. Droit, ce qui a été thématique.\nDonc, ce qui pourrait un compromis ici en mouvement, de C à PHP? On se sent comme tout gagner jusqu'ici autre que un peu de la laideur ici ou là. Ouais. Qu'est ce que ce est?\nL'ÉLÈVE: [Inaudible] mémoire. DAVID J. Malan: Vitesse. D'accord. Eh bien, ma vitesse était assez rapide. Droit? Mais la vitesse d'exécution du programme? OK, donc ce est un bon point.\nAlors que cela arriverait, je l'avance indicé ma solution à la fois de l'essayer, l'un Je devais le grand tableau était une solution à base d'essayage, et je dois que dans ce répertoire ici. Donc je dans un moment, je peux aller de l'avant et exécuter sur la King James Bible, en appuyant sur Entrée. Et ce, nous l'espérons correct mise en œuvre à la fin, me donne le temps au total de 0,38 secondes pour que un exemple un peu arbitraire.\nEt si je vais maintenant dans cette deuxième fenêtre de terminal là où je l'ouvris premier gedit, laisser moi aller dans la code-- d'aujourd'hui qui, encore une fois, est dans ce répertoire et ici-- laissez-moi aller de l'avant et lance Speller. Donc, juste pour être clair, ceci est la version de PHP. Je suis simplement en vous montrant le haut de celui-ci ici.\nDonc, si je fais correcteur orthographique de tilde CS50 PSET 5 textes, King James, entrez. Il est encore plus rapide que l'écriture en C, mais la durée totale est, avis, 0,93, alors que mon Mise en œuvre sur la base-C était de 0,38. Donc, il ya une différence non négligeable.\nEt cela est juste sur un seul fichier. Si vous deviez exécuter les deux programmes par opposition au grand tableau et avoir tout un tas d'entrées testé, ce serait sûrement ajouter. Et si nous avions encore de plus grands ensembles de données, Cela, aussi, pourrait ajouter jusqu'à autant plus. Alors oui, verser de prix de vitesse est effectivement le cas. Quoi d'autre? Ouais?\nÉtudiants: Le montant de l'utilisation de la RAM.\nDAVID J. Malan: Montant de l'utilisation de la RAM. Donc, je ne donne pas un seconde pensé en écrivant cette PHP la version de combien mémoire dont je me servais. Je suis complètement report que pour PHP lui-même et celui qui a écrit ce programme. Et que peut-être OK, mais si je fait vraiment soucier serrant autant la performance de mon programme ou sur mon site ou sur quel outil Je construis, peut-être PHP, en effet, ne sont pas la bonne langue.\nEt en fait, voilà pourquoi, pour Ainsi, un grand nombre servers-- Web Les programmes actuels que servir jusqu'à web content-- ne sont pas écrits en PHP ou en Python ou Ruby. Ils sont écrits, comme vous allez maintenant faire avec PSEt 6, en C de sorte que vous pouvez presser chaque bit de la performance de ce et vraiment exercer contrôle à grain fin sur ce qui est passe au-dessous de la capot et pas juste le prendre pour acquis certains plus Structure de données de niveau.\nConsidérons, après tout, quiconque en PHP mis en œuvre cette notion d'un hachage table-- il est en fait plus correctement appelé un array-- associatif At-il une idée de ce genre des entrées que vous allez être mettre dans la structure? Alors, évidemment pas, non? Il est un outil générique dans la boîte à outils qui est fourni à tous ceux qui veulent de l'utiliser, et aussi sûrement il ne peut pas être optimisé en définitive exactement ce que vous voulez faire.\nDonc, le temps de développement de commerce offs-- pourrait diffèrent, les performances peuvent différer, complexité ou utilisation de la mémoire peuvent différer. Et si ce que vous trouverez de plus en plus est qu'il n'y a va être différent outils pour le commerce. Et en fait, pour une super-majorité de projets définitifs de personnes dans cette classe, croyez-le ou pas, C ne va pas être la bonne langue à utiliser.\nEt en fait, l'un des plats à emporter en fin de compte pour une classe comme ça est de vous faire réfléchir sur, bien, ce que vous devriez retirer le plateau quand vous voulez pour résoudre un problème. Et en effet, nous traverserons ce pont d'autant plus que nous regardons d'autres langues même au-delà aujourd'hui.\nAlors disons transition maintenant peut-être un contexte plus familier pour utiliser un langage comme PHP. Il est assez courant d'utiliser au la ligne de commande, l'écriture de scripts comme je l'ai fait, mais il est beaucoup, beaucoup plus commun. Et il a été conçu pour être utilisé dans la forme de fichiers qui se terminent généralement dans .php-- mais qui est pas un prerequisite-- qui se génèrent du contenu web.\nAlors laissez-moi aller de l'avant et d'ouvrir un peu Je exemples préparés à l'avance. Et ce sont en fait sorte de vrai histoires que l'une des premières choses Je me suis jamais fait après avoir terminé CS50 et peut-être, je pense, il ya des années de CS51 est mon colocataire et moi aidions pour exécuter le intra-muros de première année programme de sport, qui, à la fois, avait freshman enregistrement pour divers sport en remplissant une feuille de papier, comme on l'appelait, marche dans la cour de Wigglesworth, et en le déposant dans certains La baisse de la porte de surveillant. Et puis il ou elle passerait par eux et puis nous fait manuellement par courriel que nous étions inscrits pour un peu de sport.\nDonc, clairement, une opportunité d'amélioration. Ces jours-ci, vous risquez de mettre à juste Google formes, mais dans la journée, nous avons eu à réellement atteindre en vue de: cette n'a pas atteindre même que longtemps ago-- pour une programmation langue qui n'a pas PHP. À l'époque, il était ce qu'on appelle Perl, qui est sorti de la mode depuis. Mais l'idée est la même.\nEt je me suis assis essentiellement à essayer au port va versions de Perl à PHP, mais en plein déni, ne pas donner toute pensée de l'esthétique pour l'instant. Voici donc une page Web. Ceci est un fichier. Si je zoome, son apparence appelé froshim0.php juste parce qu'elle est notre première Ainsi dans cette série. Et remarquez qu'il a ce qui semble comme une forme de HTML très laid, mais une forme est intéressant car elle permet moi d'apporter une contribution de l'utilisateur pour le navigateur.\nMaintenant, la dernière fois que nous avions un formulaire, qui ne nous soumettons notre paramètre de requête, le paramètre de file d'attente comme on l'appelait? Donc, pour Google, non? Nous sommes totalement botté sur l'idée de faire quelque chose avec cette entrée.\nMais aujourd'hui, nous commençons à produire une sortie. Et le comportement que je vais voir est ici d'abord assez trivial. David, je vais cocher sexe ici, dire Matthews ici. Je ne vais pas être capitaine. Je vais cliquez sur Enregistrer. Et remarquez que l'URL a changé de registre-0.php, et puis il ya ce texte laid ici. Je ne songeait à la mise en forme de ce produit.\nMais ce qui est intéressant est que trois valeurs ont été apparemment transmis à. Ceci est le genre de PHP équivalent à printf-- nous allons voir ce qu'il est vraiment appelé dans un bit-- qui se contente d'afficher ce que vous avez passé en elle. Donc, ce qui suggère que cette forme a au moins trois domaines à elle, et vous avez vu me les taper. L'un était mon nom, on était sexe, on était dortoir. Et le capitaine n'a même pas été envoyé le serveur parce que je ne le vérifie.\nCeci pour dire apparemment, lorsque vous soumettez des choses sur le web, non seulement l'URL parfois change-- parfois ça ne marche pas. En fait, le nom de fichier a changé mais ce qui est absent de l'URL que nous avons vu la dernière fois avec Google. Ouais?\nL'ÉLÈVE: Aucune chaîne de requête\nDAVID J. Malan: Il n'y a pas la chaîne de requête. Il n'y a pas d'interrogation quelque chose. Il n'y a pas d'interrogation q est égal à chats, comme nous l'avons fait la dernière fois. Et il n'y a certainement pas nom de point d'interrogation est égal à David ou dortoir est égal à Matthews, Alors où est ce que tout va?\nEh bien, permettez-moi de revenir à gedit ici et ouvrir le premier de ces fichiers dans mon serveur virtuel, hôte local, publique répertoire ici et aller dans froshim0. Donc, il se trouve que presque tous de cette page est juste HTML. Et cela pourrait vous être inconnus, mais il sera bientôt plus avec PSET 6 et PSET 7 et 8 PSET. Mais ceci est juste une page HTML.\nEt les choses intéressantes semble être ici. Une balise de formulaire dont l'attribut l'action a une valeur de registre 0. Voilà pourquoi lorsque je soumets cela, il va à ce fichier. Mais la méthode est différente poste de today--. Donc, il se trouve qu'il ya au moins deux méthodes utilisées sur le web pour envoyer des informations à partir du navigateur de serveur. Get met dans l'URL. Poste met ailleurs. Et quand et pourquoi pourriez-vous voulez vraiment un site Web à utiliser après puis la place de faire, juste intuitivement? Tout site Web. Quel type de données devraient être transmises seulement par inférence maintenant par la poste, par opposition pour obtenir, si nous avons vu les deux différences? L'ÉLÈVE: [Inaudible] sécuriser. DAVID J. Malan: Si vous voulez quelque chose d'être sécurisé. Ainsi, vous pouvez taper un mot de passe dans un site Web, une carte de crédit dans un site Web serait nature de ces sous-optimale si le navigateur a mis cette valeur à l'intérieur de l'URL. Pourquoi? Vous voyez, ce qui ne fonctionne pas semble être une grosse affaire, mais les chances sont que vous marchez assez fréquemment loin de votre ordinateur ou de l'utilisation ordinateur laboratoires, et si quelqu'un d'autre ou même d'un colocataire pourrait facilement monter et voir que l'information privée. Lorsque vous envoyez un e-mail via le web, vous avez probablement ne veulent pas que fin de données dans l'URL ainsi. Et donc il ya un certain nombre de raisons pourquoi nous pourrions le mettre ici. Et droit photos--, je ne peux même pas tout à fait imaginez comment vous vous prenez un graphique, comme un JPEG, et le mettre dans une URL. Vous pourriez le faire. Il ya des moyens de codage, mais il est tout simplement pas simple comme ça.\nAlors inscrivez-0 est en fait très décevante. Tout ce qu'il dit est littéralement ce. Elle imprime à l'intérieur de certaines Balises HTML suivantes. Je dois une balise PHP ici imbriquée dans une balise de pré. "Pre" signifie simplement texte pré-formaté, mono-espacées, comme une machine à écrire.\nPrintr est une fonction récursive d'impression. Et puis il ya cette Ce qui est intéressant ici. Et nous reviendrons à cette car il ya d'autres, mais signe de dollar de soulignement poste semble être une variable en PHP dans lequel tout vous envoyez à partir du navigateur de serveur est stocké pour vous. Et nous allons voir comment obtenir à cette information avant longtemps.\nMais d'abord, revenons à un exemple un peu différent. Entrant dans register-- ou plutôt, froshims1.php, qui est un peu différent. Je pris un peu plus effort de mise en forme, même si elle est encore assez laid. Mais je vais aller de l'avant et tapez "David" maintenant. Homme. Nous allons vérifier "capitaine" cette fois. Nous ferons Matthews. Et enregistrer.\nEt cette fois, il est dit, hm, pas vraiment. Très bien, alors ce enregistre-1? Laissez-moi aller dans le registre ouvert 1 hm et--. Très bien, alors cela est intéressante, et ce est un tremplin vers l'entreprise programmes plus intéressants.\nRemarquez le haut de ce fichier a une PHP étiquette ainsi que quelques commentaires. Et ce sont, pour l'instant, une distraction donc on va plutôt se débarrasser de ces commentaires tout comme ils le sont dans C. Et je prétendent avec ce morceau de code avec un commentaire que ce code est la validation de la soumission.\nEh bien, il se trouve que variables comme signe de dollar souligner poste sont appelé super-globales. Ils sont comme ces variables globales spéciales qui sont juste omni-actuellement disponibles dans votre programme. Et vous pouvez utiliser la notation crochet à l'index dans les pas en utilisant des numéros comme 0, 1, 2, 3, mais les mots réels.\nAinsi, vous pouvez penser de signe dollar souligner poste comme une sorte de table de hachage que vous pourriez passer une clé dans une recherche mot entre crochets, et il va vous redonner la valeur que l'utilisateur a effectivement fourni. PHP dispose d'une fonction appelé vide qui vient dit oui ou non, cette variable est vide ou non. Nous avons ces doubles barres, qui signifie simplement ou, comme en C.\nDonc, en effet, cette ligne 4 est juste dire si l'utilisateur n'a pas donné de nom ou ne pas donner un genre ou n'a pas donner un dortoir, aller de l'avant et de rediriger le ou son via cette ligne ici. Donc, cela est un peu cryptique, mais cela signifie juste littéralement revenir à cet endroit, il plates l'utilisateur retour à l'endroit où il ou elle vient. Mais il est un peu inélégante dans que je codés en dur il.\nMais que faire si cette situation se ne pas évaluer à vrai? Que faire si l'utilisateur ne m'a donné son ou son nom et son dortoir et le sexe? Que si la condition est pas va évaluer à vrai, si je ne frappe pas la sortie à la ligne 7. Donc ce qui se passe? Et ceci est ce qui est intéressant sur PHP.\nVous pouvez déposer dans et hors de mode PHP, pour ainsi dire. Si vous voulez un peu de code à exécuter, vous pouvez ouvrir et fermer une balise PHP et mettre le code là comme je l'ai fait ici. Dès que vous fermez la balise PHP, le serveur va simplement cracher ce que vous y mettez. Et en effet, cela faisait partie de la conception originale de PHP, pour une meilleure et pour le pire, était-ce mélange des codes et balises langue. Et nous verrons que cette très dévolue rapidement dans un désordre. Et si nous ferons mieux que ce terme, mais seulement remarquer la facilité avec laquelle je suis effectivement en mesure d'exécuter une certaine logique.\nMais encore un peu décevante. Ouvrons la version deux de Frosh SGI, qui apparemment soumet à register2.php. Donc, ce fichier va réellement à regarder presque la même. Je vais aller à Frosh MI 2. Mais dans Frosh IM 2, Voyons ce qui se passe.\nDavid, cliquez sur le bouton de la radio, comme il est appelé; Matthews, sans capitaine. Créer. Vous êtes inscrit. Pas vraiment. Oh, attends, nous venons de faire que par exemple, ne pas nous? Tout droit, veille. Nous allons faire les trois. Il est clair que quelque chose est sur arriver avec Gmail. Nous y arriverons.\nDonc Frosh IMS 3 ressemble à ceci. Pas différent. Mais quand je fais David, homme, Matthews, et enregistrer, cette troisième et dernière version revendications, tout simplement vous, sont des marques vraiment. Voilà en quelque sorte immatériel. Mais je prétends avec cette troisième et dernière version Je suis maintenant recréé exactement ce que mon colocataire et moi avons construit pour l'IMS Frosh il ya années de programme. Et il était simple. Il n'y avait aucune base de données, pas de feuille de calcul Excel. Mais plus important encore, il n'y avait plus de papier parce que ce que nous avons fait avec ce programme était effectivement d'envoyer le surveillant, qui recevait auparavant ces choses via des formulaires.\nEt apparemment, nous avons programmé ce dans de telle sorte que lorsque quelqu'un enregistre, Compte les courriels de John Harvard le proctor-- ou lui-même dans ce cas, John Harvard-- avec la suite text-- "Cette personne juste enregistré." Nom est David, le capitaine est vide; sexe, mâle; et dortoir, Matthews.\nDonc ce qui est arrivé? Eh bien, le fichier en question ici est apparemment register3.php. Et si je l'ouvre, vous verrez à la fois la puissance de ce type de code et aussi, franchement, l'insécurité d'un système comme le courrier électronique. Je viens effectivement prétendu soit John Harvard de la façon suivante.\nJe dois la balise php ouvert en haut, qui dit simplement voici un peu de code PHP. Ici-bas, il se révèle des bibliothèques dans PHP. Il ne suffit pas besoin de inclure des fichiers d'en-tête que beaucoup. Vous obtenez plus avec la évier de cuisine, pour ainsi dire.\nMais cette fois, à la ligne 4, je fais vouloir bibliothèque spéciale appelée PHP Mailer, qui est quelque chose que vous peut installer gratuitement dans de nombreux systèmes. Ici-bas, je vais valider la soumission seulement en vérifiant que l'utilisateur ne donne moi un nom, un sexe, et un dortoir. Et si oui, allez-y et instancier un logiciel de messagerie.\nVous pouvez penser à cela comme étant une ligne de code qui alloue seulement. Il est comme malloc, mais il est un peu plus sexy dans que vous mentionnez pas seulement malloc et un nombre générique. Vous dites me donner un de ceux-ci, me donner une nouvelle partie.\nEt si vous avez programmé dans Java ou C ++ ou d'autres langages, vous avez peut-être vu. Mais le court, ce, si inconnu, cette ligne met en signe de dollar courrier une structure spéciale appelée un objet qui a intégré fonctionnalité de messagerie. Et en effet, remarquer et syntaxe similaire.\nCela ne veut pas un pointeur, en soi. PHP utilise simplement la même syntaxe. Cette ligne dit utilisation SMTP-- Simple Mail Transfer Protocole, qui est que le Protocole utilisé pour envoyer du courrier. Ceci est la spécification utilisation Le serveur SMTP de Harvard, qui est quelque part ici sur le campus.\nCela revient à dire que TCP le numéro de port à qui parler, et je viens de comprendre que par googler ou en demandant à l'assistance. Et puis parce que Harvard utilise une partie la sécurité du système sur le poste de Server-- à crypter au moins trafic entre vous et elle, même si tout le monde peut envoyer à it-- Je vais tourner sur le protocole TLS pour maintenir ce sécurisé.\nMais ceci est où les choses obtenir un peu peur. Je peux juste arbitrairement dire que je suis jharvard, et je peux juste arbitrairement moi par courriel ici. Et puis je peux spécifier une sujet avec cette ligne ici.\nEt cela semble juste laid, mais il est juste un tas de concaténation. Avère que PHP a un symbole super utile, comme certaines langues, l'opérateur point, qui concatène juste littéralement chaîne après chaîne après chaîne, et vous ne devez pas malloc ou chiffre la longueur totale de la chaîne. Vous venez de le faire. Et en effet, parce que je suis la concaténation dans toutes ces choses avec ces points, Voilà pourquoi l'email je envoyé regardé comme il l'a fait.\nEt puis enfin ici, je suis l'envoi de courrier. Donc, si cela est faux, Je vais mourir, qui est une fonction qui imprime seulement à l'écran certains de message d'erreur. Mais il est, en fait, l'appel de la fonction d'envoi. Sinon, si tout cela échoue, il me redirige ici.\nEt pourquoi ai-je vois que Je suis inscrit vraiment? Eh bien, il est arrivé ici. Donc, je soulève cette question pour un couple de raisons.\nUn, cela est exactement comment si vous construisez certains sites pour un projet final ou pour le monde réel, il est comment vous envoyer des rappels par courriel à vos clients ou à vos abonnés. Voici comment vous envoyer des rappels de mot de passe. Voici comment vous envoyer des messages de personnes qu'ils ont une nouvelle Facebook message en attente ou quelque chose comme ça.\nMais il parle aussi de le fait que ce pourrait ont été très bien à partir de Davin ou quelqu'un d'autre. Et je dis ce genre de avec un sourire parce que je suis tout à fait sûr de ce qui se passe à travers plusieurs de vos esprits à ce point. Mais ceci est l'un de ceux Faites ce que je dis, pas comme je fais genre de choses, car il est trivial de créer des messages électroniques de ce genre. Mais comme vous avez pu le voir ou lire dans le Crimson, de la fin il est également assez trivial pour les personnes de remonter à une origine. Et me demander un certain temps, peut-être CS50 à déjeuner, comment je première ont pris connaissance de très près presque à la carte ed nombreuses années il ya quand je découvris comment l'Internet a travaillé. Donc, en toute case-- légèrement après que le conseil d'ED a fait.\nAinsi, dans tous les cas, il existe un tas ensemble de super-globales, comme on les appelle ici, dont l'un nous saw-- dollar signe de soulignement poste. Il ya un homologue appelé get, qui est là choses à partir d'un URL finit par aller. Et il ya tout un tas d'autres, séance too-- et le serveur et les cookies. Nous y reviendrons cookie d'un autre temps, mais la session est plutôt cool parce que le droit maintenant-- jusqu'à maintenant-- tout ce que nous avons fait avec un navigateur Web est une sorte de apatride, pour ainsi dire. Je peux cliquer autour, accès des fichiers sur le serveur, ce qui se passe sur l'écran, mais puis la connexion se ferme. L'Internet Explorer ou la Firefox icône arrête de tourner et vous voyez ce que cette page web contient.\nDonc HTTP est apatride dans ce une fois qu'il établit une connexion, obtient des données, ça y est. Pas plus de connexion, contrairement à Skype, contrairement à Facetime, contrairement GChat, qui maintient une constante connexion au serveur. Le web est fondamentalement déconnecté, si nous voir avant longtemps comment nous pouvons simuler choses comme Facebook chat et GChat, qui maintiennent la illusion-- ou fait faire maintenir une connexion constante à l'aide plus la technologie moderne.\nMais si je vais à, dire, counter.php, ceci est un autre exemple simple, comme nous le verrons, que pense actuellement Je me suis rendu sur le site le temps zéro. Mais si je recharge simplement la page, il sait de toute façon je suis ici avant. Si je recharge encore, il sait que je suis ici avant. Et encore et encore et encore et encore.\nIl ya donc une certaine plus-plussing passe, mais avis la petite chose tourne toujours si brièvement dessus et puis se déconnecte, il est pas comme je dois une constante Connexion à mon appareil. Eh bien, si je vais dans counter.php, remarquez comment il est simple. Je donne d'abord cette spéciale fonction que nous allons bientôt commencer à prendre pour acquis appelé début de la session. Démarrer une session.\nEt une session est désormais juste va être un seau, comme un centre panier dans lequel vous pouvez mettre des valeurs et le type de confiance en tant que programmeur qu'ils vont être là quand que l'utilisateur vient back-- un second plus tard, une heure plus tard, même un an plus tard, tant qu'il ou elle ne disparaît pas leurs cookies, comme nous le verrons par la suite voir. Et maintenant, je viens une condition if ici. Donc, si la clé suivante, appelé compteur, est fixé à l'intérieur de ce super global-- ce hachage table, si vous will-- appelé session, alors allez-y et prenez la valeur de la réflexion session-- de ce qu'un centre cart-- et stocker dans une variable temporaire appelée compteur.\nSinon, si cette valeur était contre pas définie dans le soi-disant panier, juste initialiser à 0. Enfin, ici, aller et remettre dans les caddies ou la session la valeur du compteur 1. Donc, il se trouve que ce ici-- contenant spécial qui, encore une fois, est un de ces associés tableaux, un tableau que vous pouvez indexer en mots au lieu de numbers-- persiste même après que l'utilisateur va. Encore une fois, je vais revenir à la page maintenant. Ça a été une minute ou deux. Mais il rappelle que je l'ai été ici 19 fois avant. Ceci est mon 20ème visite.\nEt si cela va être la clé de mise en œuvre de tout site Web qui se souvient que vous êtes connecté, que vous mettez quelque chose littérale dans votre panier à acheter ou que vous avez des nombre de messages en attente. Chaque fois que vous voulez souvenir de l'information, nous verrons que PHP, comme plusieurs autres langues, nous donne cette illusion de l'Etat même si, comme vous le verrez dans PSET 6, comme vous êtes des requêtes HTTP du client au serveur, ça y est. Une fois que vous obtenez en retour que réponse, il n'y a rien de plus revenir à partir du serveur par défaut. Mais nous allons voir comment contourner cela.\nEh bien maintenant, nous allons essayer de nettoyer cette place un peu. Nous avons vu quelques-uns différents exemples là-bas. Oh, et en passant, pour ceux familiers ou non, la raison pour laquelle la Exemple Frosh GI a de regarder vraiment laid à bien slightly--, ugly-- encore légèrement moins laid mais toujours laid En effet, si nous regardons le code source ici, il se trouve que je dois cette tout en haut du fichier.\nEt ces gens ici-- l'origine est sorti de Twitter-- juste avoir tout un tas de styles. Il est un volumineux dossier ici que quelqu'un a écrit, ou de quelqu'un a écrit, au fil du temps que précise des couleurs et la mise en forme et ainsi de suite pour que je puisse genre de emprunter leur syntaxe et ne pas avoir à comprendre comment poser ma forme. Ceci est également minifiés de sorte que l'ordinateur peut le comprendre, mais pas nécessairement un humain. Voilà donc pourquoi la juste stylisation il a changé.\nMais faisons maintenant mieux en termes de conception, parce que si nous restons en bas cette route trop longtemps, notre code va déraper et Messier. Donc, nous allons mettre l'accent sur ces exemples ici. La dernière pour aujourd'hui.\nVoici donc un super simple la version 1.0 du site Web de CS50. Il a seulement des liens vers des conférences et des syllabus, et il utilise cette liste non ordonnée tag-- l'étiquette UL que nous avons utilisé la dernière fois. Et si, en fait, si je ouvrir source de la page, vous verrez que cela est vraiment, vraiment HTML simple. Et en fait, même si cela est un fichier PHP sous le capot, il est toujours juste cracher uniquement HTML pour l'instant.\nDonc, si je clique sur Conférences, nous voyons cela se produise. Et si je clique sur semaine zéro, nous voyons cela. Et si je clique sur Mercredi, nous voyons cela. Et ce fut apparemment le PDF les diapositives de ce jour-là. Tout ce que je l'ai fait avec un lien est balise d'ancrage à cette adresse ici.\nDonc, ceci est seulement pour dire cela est une jolie version simple du site Web de CS50. Voyons comment il est mis en œuvre. Si je vais dans le répertoire de mvc0, nous verrons quelques fichiers. L'un est un fichier README, si une partie de ce qui est trop rapide, il vous suffit de fouiller un peu partout plus tranquillement plus tard. Et remarquez ici est un fichier index.php. Il se trouve que si vous-même, l'être humain, ne spécifiez pas un nom définitif en une adresse URL, le serveur Web habituellement déduit un nom par défaut pour vous. Un indice du point quelque chose est généralement la valeur par défaut.\nVoilà pourquoi il ya un instant quand je me suis rendu cette URL ici, aucun nom de fichier, pas de fichier extension, aucune période dans l'URL. Il savait juste comme par magie à chercher index.php. Il est juste une convention. L'on pourrait appeler quelque chose.\nDonc, si je vais maintenant en index.php, vous verrez que, indeed-- nous allons se débarrasser des commentaires ici parce qu'il ya vraiment rien d'intéressant à it-- cela est juste codé en dur HTML. Voilà donc cohérent, si, avec ma demande que vous pouvez les mélanger HTML et PHP. Il n'y a pas réelle la logique de programmation ici.\nEt les autres fichiers sont assez beaucoup comme sans intérêt. Il est juste une semaine codé en dur ici pour une semaine et la semaine un m w, le lundi et le mercredi. Et puis si je ouvre la semaine zéro, remarque qu'il est presque identique.\nEt qui est une sorte de clé à emporter. Remarquez à quel point cela est redondant. Ces fichiers changent à peine, et pourtant je tiré un de ces copier / coller des emplois où je pris un file-- probablement en semaine zero-- copié quand la semaine est venu autour, et tordu quelques valeurs. Nous devrions probablement en mesure à faire mieux que cela.\nDonc, revenons à MVC et aller à la version d'un. Et notez que je dois une quelques fichiers, parce que ce était commune à tous ces fichiers juste un ago-- instant si je reviens à la version 0, Revenons en indice, et juste postulate-- une fois je me débarrasser de la comments-- quelle partie de cette page est sans doute dans chacun de mes fichiers? Il suffit d'appeler le. Les lignes sont dupliquées probablement l'ensemble de ces pages? Ouais?\nDAVID J. Malan: 1 à 9. Oui, absolument. 1 à 9, à l'exception peut-être 8 change un peu parce que CS50 devient conférences ou semaine zéro ou quelque chose. Mais presque identique. Donc, tout ça est juste sorte de copié-collé. Et il ya un couple autres lignes je peux penser de qui sont probablement identique dans tous les fichiers.\nÉTUDIANT: 12 et 13. DAVID J. Malan: Ouais. Bien sûr, 12, 13, et 14 probablement, juste parce que les choses intéressantes qui se passe sur les lignes 11 et 10, il semblerait. Alors regardons à la version 1, qui cherche à améliorer sur ce point. Dans la version 1 de cette example-- MVC nous allons expliquer ce que signifie MVC dans un moment-- si je vais dans l'indice, il sorte de semble un peu confus maintenant. Il est pas tout à fait aussi simple qu'avant.\nMais une fois que vous commencez à lire attentivement, il est assez simple ce qu'il fait. Apparemment, la ligne 1 et ligne 8 ont remplacé tous les trucs que vous identified-- juste mais juste pour faire bonne mesure, Je quittai les AMT là juste au cas où certains jours ne sont pas une liste de choses. Et nécessitent donc est un peu comme livre inclure dans C. Il copie et colle le contenu efficacement ici dans ce fichier.\nAinsi, dans header.php, comme vous peut déduire de son nom, va être l'en-tête de la page. Il est une sorte de orpheline ici. Il a seulement le haut de, mais il n'y a pas plus de contenu ci-dessous.\nEt si je regarde le pied en attendant, qui était l'autre fichier mentioned-- celui-ci est encore moins intéressant, mais encore une fois, il est courant de tout. Voilà donc le pied de page. Ceci est l'en-tête. Ceci est le fichier qui est changer, alors pourquoi ne pas essayer de tenir compte de la communauté avec ces deux lignes ici?\nMais nous pouvons nettoyer cette un peu plus loin. Je vais aller de l'avant et ouvrir version à deux où nous verrons qu'il n'y a un nouveau fichier, helpers.php. Nous allons voir ce qui est dans un moment. Allons à l'index, comme le le point d'entrée comme avant.\nEt maintenant je remarque exigeant helpers.php, pas d'en-tête ou pied de page. Mais des aides est une sorte de helpers.c et helpers.h de PSET 2 ou PSET 3 il ya longtemps quand vous avez réellement ne chercher et de trouver pour que PSET, et vous aviez tous de votre code pour le tri et la recherche dans un fichier séparé. Voilà ce qui se passe ici.\nEt maintenant, la ligne 3 est un peu différent. Et il est juste une ligne. Pour rendre le tout encore plus clair, je ne pouvais ne ce soit stylistiquement cohérente avec tout ce que nous avons fait. Mais qui est pas vraiment changer la fonctionnalité. Il est juste une ligne de code réel.\nApparemment, il ya une fonction quelque part appelé rendre tête, et ceci est où les choses devenir assez puissant. Notez que l'intérieur de ses parenthèses est ce autre pièce de la syntaxe? Il est probablement un peu difficile à dire, mais remarquer there's-- je vais mettre un peu de blanc espace. Il est entre crochets.\nEt entre crochets, nous avons vu il ya un peu dans le cadre de tableaux associatifs, qui sont, encore une fois, comme les tables de hachage. Et si vous pensez maintenant à C, la l'ordre des arguments dans une fonction doit toujours être la même. Vous devez vous rappeler que la commander est-- x, y, z ou z, y, X- et vous devez leur fournir toujours dans le même ordre ou les consulter si vous avez oublié.\nMais ce qui semble être une façon intelligente de passer une valeur de clé arbitraire paires selon lesquelles un titre est le nom d'un argument dans ce cas et CS50 est sa valeur. Et le fait que je dois ces crochets signifie ici que je pouvais passer aussi dans quelque chose comme une semaine est égal à 0 ou 1 ou 2 ou 3. Nous avons donc paramétré cette fonction de manière à ce que cela peut prendre plusieurs entrées, mais pour l'instant il est juste l'un.\nSi je vais maintenant en helpers.php, remarqué ce qu'il fait. Ceci est un peu de nouvelles fonctionnalités, mais pour l'instant il suffit de prendre sur la foi que cela est la syntaxe avec laquelle vous définir une fonction en PHP. Vous dites littéralement fonction. Vous ne spécifiez pas un retour tapez, et cela correspond avec le détail des variables plus tôt où on n'a pas vraiment fortement de la frappe.\nCela indique seulement que, par défaut, ce prend un associative tableau comme un argument. Et vous savez quoi? Si l'utilisateur ne passe pas une dans, prendre une valeur par défaut.\nCeci est une fonction qui ne possède pas de C pour nous, ce qui est bien, parce que maintenant données, même si vous ne lui donnez pas quelque chose, va être un tableau mais un vide. Et en passant, extrait juste fait quelque chose de génial où il prend toutes les clés de cette tableau associatif, toutes les choses vous pourriez mettre entre crochets, et crée des variables sur les afin que nous puissions finalement avoir accès à eux dans footet.php et header.php. Voilà un peu abstrait, alors laissez-moi le signale.\nDans index.php, remarque que je suis passant dans une paire de valeur de la clé de titre avec une valeur de CS50. Si je regarde maintenant helpers.php, remarquerez que RenderHeader est l'extraction de ces données que je suis de passage dans, et nécessitant alors header.php. Qu'est-ce que je l'ai fait est en quelque sorte un pauvre homme de maintenant la mise en oeuvre des opérations suivantes.\nSi je ouvre header.php, avis que je l'ai plus dur codé le mot CS50 dans ce fichier d'en-tête. Je l'ai mis ce vrai atrocement fonction nommée, HTML caractères spéciaux, là-dedans. Mais remarquez ce que je fais. Je dois HTML est ouvert. Je dois ensuite ouvert le crâne et le titre ouvert.\nEt puis à l'intérieur de son titre et ouvert balises de fermeture, je dois un peu de code PHP. Et cela est une belle mais de syntaxe, qui signifie simplement écho à. Il signifie littéralement this-- écho à la following-- mais cela est plus sexy à écrire. Echo sur le titre qui a été adoptée en.\nMais que pensez-vous HTML caractère spécial est tout au sujet, surtout si vous avez une certaine expérience HTML avant? Quels sont les caractères pourrait être dangereux de passer à une page où vous êtes la génération dynamique la page Web avec ce code? Permettez-moi de passer à ce fichier, la version deux, et voir si je peux pas faire cela.\nVersion deux est la suivante. Et tout remarquer est très bien, fonctionne bien. Mais suppose que je vais dans index.php et Je précisé que le titre de ma page est pas CS50. Il est alerte script de support ouvert Bonjour tout le monde, près apostrophe, fermeture de parenthèse, point-virgule, parenthèse ouverte, script slash.\nMais si je vais aux aides page- ou au contraire, la page d'en-tête, Je vais appeler cette fonction sur ce premier titre. Donc, si je recharge maintenant cette page, je voir ce qui a l'air ridicule, mais il est sûr. Il semble tout simplement stupide.\nMais supposons que la place Je l'avais oublié. Et croyez-moi, un nombre non nul de vous oubliez de le faire et vous aurez un peu laborieux étudiant ou un ami à venir vous à la foire de CS50 ou anonyme la nuit de fouiller sur votre site et essentiellement injectant du code à votre insu sur votre site en quelque sorte.\nParce que si je crache tout simplement à titre ici et titre there-- bien, si le titre littéralement ressemble à ceci et PHP comme un langage qui peut cracher sur un autre texte sur les langues, ce va littéralement de remplacer cette étiquette avec, bien sûr, ce que je mets ailleurs.\nEt en fait, je ne veux pas même pour aller à business.com parce que je ne veux pas à savoir ce qui est. Mais cela, aussi, va déclencher le code à injecter dans cette page. Donc, ceci est seulement pour dire que même si nous introduisons super tôt sur certains des structures plus complexes, il est tout vers une fin de faire en sorte que votre code est pas exploitable.\nAlors maintenant, une troisième version ici. Il se fait un peu amateur. Je ne l'ai pas vraiment like-- le côté anal de moi devenait un peu agacé par la fait que je l'avais une fonction appelée RenderHeader et RenderFooter qui étaient presque identiques. Donc je me suis dit, pourquoi pas Je paramétrer ces fonctions en un seul appelé rendre, ont-il un second argument comme le nom du modèle, la finale à render-- soit en-tête ou le pied? Et puis éventuellement, si je veux à passer dans certaines paires clé-valeur comme je le fais pour le titre de la tête mais pas pour le pied de page, Je pourrais le faire.\nEt maintenant si je vais dans helpers.php, il est un peu plus complexe. Et je ferai signe mes mains à la détails, mais il est juste une fonction. Voilà donc une étape vers une meilleure conception.\nNous pouvons prendre un peu plus loin. Si je vais dans ma quatrième version de ce, remarquez maintenant que je fais quelque chose encore plus de nature cryptique. Et je sais que cela est une beaucoup d'absorber à la fois, mais nous sommes juste un peu de nettoyage choses. Maintenant, je vais mettre mes aides déposer dans un dossier appelé durée comprend juste un arbitraire nommer où je veux mettre des choses que je veux comprendre: et puis le reste de la présente est la même.\nMais si je regarde maintenant dans gedit, avis que je suis débarrassé de tous ces autres fichiers et je l'ai les déplacés, par exemple, dans ici. Et puis dans les modèles, Je dois voir ici, trop. Et si tout cela est maintenant vers une étape d'utilisation d'un bien meilleur modèle de conception. Et nous sommes très rapidement va éloigner de la fonctionnalité par défaut de PHP, qui nous avons commencé ici avec, où vous venez COMMINGLE PHP, et votre HTML, CSS et votre, et vous venez de cracher et vous allez sur votre chemin. Il ne va pas être très maintenable. Tout comme en C, nous avons commencé à l'aide plusieurs fichiers et plusieurs fonctions et affacturage choses cela. Nous ferons la même chose ici. Et de fait, dans la cinquième et dernière version ici, je l'ai fait une autre chose. Vous pouvez même utiliser dot dot, qui, encore une fois, est tout simplement le répertoire parent. Pour être encore plus soucieux de la sécurité, parce que si je regarde l'écoute ici pour la cinquième et la version finale, un avis que je dois un répertoire appelé ici publique, et ensuite sur la même niveau, pour ainsi dire, Je dois comprend et modèles et puis ce fichier texte readme.\nEt la raison pour laquelle je l'ai structuré il aime this-- et tant de web hôtes, en particulier ces 5 $ par les mois ou les $ 10 par mois, si vous avez déjà eu un de ces services-- ce que beaucoup d'entre eux ne est qu'ils attendent juste de vider tous de vos fichiers dans un répertoire, comme nous l'avons fait déjà avec ce premier exemple.\nMais dès que vous commencez à construire plus des sites sophistiqués qui stockent seulement données que vous aimez et fichiers que vous soucier, l'organisation fait des choses correctement et avec plus de sécurité conscience à l'esprit peut nous commençons à défendre contre tous les amis que vous avez dans ou en dehors de cette classe qui, dès que vous commencez à faire programmes vous-même sur le web, vont commencer à ramasser sur vous et sur eux.\nEt si nous regardons en fin de compte à cette conception. Ceci est juste une image qui représente ce qui suit. Nous allons mettre toute notre la logique de programmation dans un ou plusieurs fichiers, et nous allons commencer tout appelant les contrôleurs. Il est où le cerveau de nos sites sont en réalité. Ensuite, nous allons avoir des vues et points de vue sont aussi simple que séparé files-- appelés modèles, souvent. Ils ont juste le esthétique de ma page, ce que je veux la page pour regarder like-- les couleurs et le tracé et les positions de toutes les variables.\nEt puis plus intéressant que nous finirons par arriver à est le modèle qui va être juste le mot nous tape sur les autres technologies que nous apportons dans le image, comme les bases de données réelles, de sorte que lorsque vous voulez pour enregistrer des informations, vous ne vous contentez pas d'envoyer un e-mail à votre surveillant ou à vous-même, vous stockez en fait dans une base de données en utilisant une autre langue connue sous le nom SQL. Et si nous laissons ici aujourd'hui et ramasser avec ce mercredi et introduire ensuite des bases de données.


Les Dockerfile’s | Cours\n# Les Dockerfile’s\nComme nous l’avons vu dans le premier TP chaque image Docker repose sur un fichier Dockerfile. Pour l’instant, nous n’avons pas écrit le nôtre, nous avons juste utilisé ceux fournis sur le DockerHub. Dans ce TP nous allons voir la structure d’un fichier Dockerfile, et vous allez écrire votre premier Dockerfile. Il aura pour but de définir l’ensemble de la « stack applicative » nécessaire au bon fonctionnement de l’application « TODO ».\n# Pourquoi faire des Dockerfile\nComme vous avez pu le voir sur le DockerHub il existe énormément d’images déjà prêtes, elles nous seront bien évidement utiles dans nos images Docker, mais tels quelles elles n’ont que « peu d’intérêts ». Nous allons donc écrire un fichier Dockefile qui va permettre de créer toute la définition pour le bon fonctionnement de l’application « TODO » que vous avez écrit dans un autre TP.\nUne fois le fichier Dockerfile écrit, votre application sera fonctionnelle sur toutes les plateformes supportées par Docker (Windows, Linux, OSX, Raspberry Pi…), fonctionnelles oui, mais surtout fonctionnelle en quelques secondes !\n# Créer un Dockerfile\nLes « Dockerfile » sont des simples fichiers textes, mais avec un formalisme précis. Par exemple :\nLABEL Valentin Brosseau "c4software@gmail.com"\nENTRYPOINT ["echo", "Mon premier Dockerfile"]\nAvant de « builder » cette première image, arrêtons-nous sur les différentes lignes :\n« FROM alpine:latest », c’est l’image de référence, dans le cas présent une image très légère (un linux avec très peu de dépendances).\n« LABEL Valentin Brosseau "c4software@gmail.com" », le mainteneur de l’image (purement indicatif).\n« ENTRYPOINT ["echo", "'Mon premier Dockerfile'"] », la commande qui sera lancée au démarrage de votre image.\nPour finir, enregistrer la définition précédente dans un fichier nommé « Dockerfile ».\n# Builder votre image\nPour builder votre image il suffit de lancer la commande suivante :\ndocker build --tag "docker-hello:latest" .\nAvant de lancer cette commande, regardons les différents éléments :\n« --tag "docker-hello" », c’est le nom de votre image.\n« …:latest », c’est la version de votre image. Latest indique la version la plus récente.\n« . » indique à Docker que le fichier Dockerfile est dans le dossier courant.\nLancer la précédente commande dans le dossier où vous avez créé le fichier Dockerfile.\n# Image Docker pour l’application "TODO"\nFaire un test c’est bien! Mais maintenant que l’on connait les bases d’une image Docker, nous allons créer une image Docker qui va nous permettre de lancer rapidement (et très simplement) l’application sans avoir à se soucier de l’environnement sur lequel vous allez lancer « votre application / site web ».\n# 1. Écriture du Dockerfile\nPour écrire notre Dockerfile nous allons avoir besoin de connaitre les technologies nécessaires au bon fonctionnement de notre application. Dans notre cas, il faut le langage de programmation de la partie serveur :\n[…] (À vous de trouver…)\nUne fois que c’est fait, il faut trouver une image de base qui nous servira de référence. Dans notre cas … PHP. Une image officielle existe : Docker Hub PHPopen in new window.\nPour continuer nous allons utiliser l’image PHP 7 Apache. Voilà le début de notre Dockerfile :\nMAINTAINER Valentin Brosseau "c4software@gmail.com"\nLa base de votre Dockerfile est terminée. Nous allons voir comment ajouter le code source dans l’image.\n# 2. Ajout des sources dans l’image\nNous avons vu dans le premier TP qu’il était possible de faire un « montage ». C’est pratique, pour ajouter de la donnée temporaire, mais dans le cas présent ce que l’on veut c’est faire une image statique qui sera transportable nous allons donc utiliser la commande COPY.\nLa commande COPY permet de copier des fichiers (dossiers, fichiers, etc.) directement dans l’image qui sera construite. Une fois « builder » les données seront persistantes et les modifications seront effacées à chaque redémarrage de l’image (intéressant d’un point de vue de la sécurité).\nLa commande COPY prend deux arguments le fichier « sources » et la destination dans votre image. Modifions le fichier Dockerfile pour ajouter la commande COPY suivante :\nLe premier dossier c’est vos sources, sur votre machine dans le même dossier que le fichier Dockerfile, créez un dossier nommé src avec à l’intérieur les sources de votre projet todo-vuejs.\nEt voilà! C’est terminé. Votre image est prête à être « build ».\n# 3. Build de l’image\nMaintenant que notre image est prête nous allons pouvoir builder l’image :\ndocker build --tag "vuejs-todo:latest" .\nDing ! C’est prêt.\n# 4. Lancer votre application\nVotre application étant buildée pour la lancer il suffit de faire :\ndocker run -p 8888:80 vuejs-todo:latest\nVotre application est maintenant disponible iciopen in new window.\nCréer des services très rapidement (et simplement) Le Docker Compose


Maladie d'un système ...\nDans les médias - par les politiques, les chefs d’entreprise, mais même par mes voisins, amis et quelques personnes du milieu de la santé, j’entends plus ou moins la même chose : le monde d’après; entendez, le monde d'après le confinement, ou d'après le COVID-19 ?\nAlors déjà, en fonction de qui vous parle, les stratégies à venir seront différentes.\nSi vous écoutez l'un des meilleurs infectiologues de la planète selon Le Point (24 mars 2020), il n'y a jamais eu de 2ème vague pour un virus.\nSi vous écoutez le gouvernement, il y aura une deuxième vague. Je pose une question : en quoi des politiciens sont-ils pertinents en terme de santé ? Pourquoi pas une 3è vague, un 7è vague ?\nLaissons la santé aux professionnels de santé et la politique....au peuple - après tout la France est encore officiellement une démocratie ?!\nAlors, en fonction des observations que vous faites et des retours d'expériences, vous pouvez, dans le cas des jugements du gouvernement, proposer de façon assurée :\n- des drônes de surveillances (1) : expliquez-moi en quoi des drônes ont un lien avec la santé?\n- une application de surveillance (2) : expliquez-moi en quoi une application a un lien avec la santé?\n- pourquoi pas un bracelet de surveillance ... non non, pas que pour des prisonniers, mais pour celles et ceux qui n'ont pas de smartphone (3) : expliquez moi en quoi un bracelet a un lien avec la santé?\nBref, quand j'entends "tracking du covid", je préfère reformuler par "tracking d'individus" car cela est une observation factuelle. On ne peut tracer un virus que par les individus qui le porte et non pas par le virus lui-même.\nEt puis, cela signifie quoi : tracker le vivant ???? Pour quoi faire ?\nC'est comme le qi (chi - énergie vitale), on ne peut pas le voir, mais on peut en voir les manifestations. A l'image du vent, on ne le voit pas mais on voit les feuilles bouger, les branches onduler etc.\nEt bien à Hippocrate (cela devrait interpeller toutes les professions médicales), qui disait "Primum non nocere" i.e "Avant tout, ne pas nuire".\nCela signifie, que si je ne sais pas ce que je fais : je m'abstiens. C'est ce principe qui sous-tend le principe de précaution.\nAinsi , par une observation et un retour d'expérience, le tracking du covid-19 s'est déjà transformé en outil de surveillance de masse (4).\nDe même en France, les lois qui avaient été proposées lors de l'état d'urgence au moment des attentats sont à présent dans la loi commune (5).\nAlors, comme je ne suis pas politicien, mais citoyen ... donc avec une fonction dans la polis (la cité), je me permets à la fois de poser des questions (c'est la moindre des choses afin de ne pas être infantiliser et surtout pour continuer de penser et de panser) mais également, dans un souci de contribution à la vie, de faire des propositions humblement.\nLe point commun à l’ingénieur que je suis mais également au naturopathe, c’est l’analyse et l’observation des causes d’un phénomène, d'une situation (ne l'appelons pas "problème", qui serait un jugement).\nEt également, dans un protocole expérimental il faut comprendre le contexte et l’environnement pour savoir dans quelles conditions peut s’effectuer une expérience. Aussi, si L’Humanité était une personne, alors elle serait malade ... et depuis longtemps. Par contre, à ce stade de la maladie, on aurait juste mis en quarantaine. Mettre en quarantaine ça ne veut pas dire apporter du soin. C’est juste mettre en quarantaine. Alors voilà les étapes proposées : 1- mettre en quarantaine - même si ce n'est pas forcément nécessaire, voir contre-productif (6) 2- poser les questions ouvertes pour voir d’où provient le déséquilibre (causes). Ne pas confondre les symptômes avec les organes initialement et présentement déséquilibrés. 3- poser les questions ouvertes pour observer le contexte au démarrage (à l'époque) du déséquilibre et maintenant. Car si les symptômes évoluent cela signifie que le terrain global est toujours propice à cela.\n4- toujours garder à l'esprit une approche globale, holistique de la situation.\n5- comprendre que la vie recherche en permanence l'équilibre et que tout, TOUT, même ce que l'on appelle maladie, est un processus qu'utilise le vivant pour agir, avec l'énergie en présence et l'information en présence, pour rechercher cet équilibre (7).\nUne fois que vous avez posé des questions ouvertes (qui n'induisent rien) avec les principes : vitalisme, humorisme (bientôt une infolettre spéciale sur l'eau et les humeurs), hygiénisme, causalisme et holisme alors :\nL'humilité et le principe de précaution invitent à regarder, dans le système :\n- où il y a fuite d'énergie\n- comment l'énergie rentre ET quelle est sa qualité\n- comment elles circulent\npuis , de façon conjointe, proposer des stratégies qui permettent de :\n- évacuer les énergies usagées\n- limiter les énergies néfastes entrantes\n- favoriser les énergies bénéfiques à la vie à entrer dans le système\n- faire circuler de façon harmonieuses ces énergies\nIl y aurait tant de chose à dire ... je préfère finir avec cela :\nLes mesures prises actuellement par les gouvernements, ne sont ni bonnes, ni mauvaises - PAR CONTRE, le travail en amont (propositions ci-dessus) n'a pas été fait c'est certain et nous (le vivant du monde : humain et non-humain) n'allons pas bénéficier d'un accompagnement bénéfique justement au vivant !\nAinsi, la situation présente m'invite à me tourner et m'inspirer de certains propos (ne pas confondre le message et le messager) (8) et (9)\n(1) : https://www.lemonde.fr/pixels/article/2020/05/06/a-paris-la-justice-valide-la-surveillance-du-confinement-par-drones-policiers_6038884_4408996.html\n(2) : https://www.lesechos.fr/tech-medias/hightech/covid-19-la-cnil-vigilante-face-aux-applications-de-suivi-geographique-1190717\n(3) : https://www.msn.com/fr-fr/finance/other/coronavirus-un-bracelet-%C3%A9lectronique-pour-sortir-du-confinement/ar-BB139dsC\n(4) : https://siecledigital.fr/2020/05/08/singapour-lapplication-de-tracage-numerique-se-transforme-en-outil-de-surveillance-de-masse/\n(5) : https://www.lemonde.fr/les-decodeurs/article/2017/09/26/etat-d-urgence-dans-le-droit-commun-les-enjeux-de-la-loi_5191447_4355770.html\n(6) : https://www.youtube.com/watch?v=8dlHw5BbOvM\n(7) : Nikola Tesla - "Si vous voulez trouver les secrets de l’univers, pensez en termes d’énergie, de fréquence, d’information et de vibration."\n(8) : https://www.babelio.com/livres/Rabhi-Vers-la-sobriete-heureuse/173558\n(9) : https://www.geo.fr/histoire/vandana-shiva-j-en-appelle-a-la-desobeissance-creatrice-185840


Punset Neh! Langhe 2015, 24,40 $\nMis à jour le 31 mai 2017 à 10h13 Publié le 31 mai 2017 à 10h13\nPour profiter (enfin!) du soleil et des beaux jours, voici cinq nouveautés à découvrir.\nPetit nouveau du domaine Punset, ce vin certifié bio a un look moderne. Son nom, «Neh!», signifie «oui» dans le patois local. Cette expression, utilisée uniquement dans le Piémont, permet de reconnaître ses habitants. Pour faire honneur à sa région, la vigneronne Maria Marcarino a assemblé trois cépages locaux : le dolcetto, la barbara et le nebbiolo. Dans le verre, son vin est gorgé de fruits noirs. Croquant et juteux à l'attaque, il dévoile ensuite des tannins assez costauds. Il a beaucoup de matière, mais pas de bois. Avec les grillades, c'est exquis!\nPunset Neh! Langhe 2015 24,40 $ (13226156)\nLe cépage pecorino a longtemps été cultivé dans les montagnes des Abruzzes, en Italie. Mais il aurait pu disparaître. Comme cette variété donne moins de rendement, les vignerons l'ont remplacé par le trebbiano. Depuis quelques années, ils redécouvrent cependant ce cépage autochtone et apprécient l'originalité de ses vins. Nous aussi! Le pecorino du domaine Collefrisio sent les fleurs blanches et les agrumes. Sa bouche est surprenante avec ses notes de melon miel, de pêche, de pomme et une touche plus végétale. L'attaque est franche, suivie d'une bouche ample et légèrement amère. C'est différent. En plus, les vignes sont cultivées selon les règles de l'agriculture biologique. Délicieux!\nVignaquadra Pecorino 2015 18,85 $ (13226551)\nLes blancs de l'appellation Saint-Chinian, dans le Languedoc, sont rares. À peine 4 % des vins de cette région sont blancs. Voici une belle occasion de les découvrir. La cuvée tradition du Château de Viranel vient d'arriver au Québec. Elle regroupe du grenache blanc, du vermentino, de la roussanne et du bourboulenc. Pour 18 $, on en a pour notre argent. Le vin est rempli d'arômes de clémentine, d'abricot et de fleurs. La bouche est fruitée, onctueuse, et on perçoit une touche minérale. C'est long, parfumé et légèrement épicé. À peine 15 % du vin a été vinifié en barriques. Ce sera délicieux avec le homard!\nChâteau Viranel Tradition Blanc 2015 18,90 $ (13235159)\nLes vins d'Afrique du Sud font voyager. Ce chenin blanc du domaine familial Beaumont nous transporte dans la région de Bot River, située à une vingtaine de kilomètres de l'océan. À cet endroit, les vignes profitent d'un climat plus frais. Résultat : on sent beaucoup de tension et de fraîcheur dans le vin. Il fait saliver! Il possède aussi un nez très charmeur qui rappelle les fleurs, la poire et la pêche blanche. Ses arômes se retrouvent en fin de bouche dans une texture plus ronde et légèrement grasse. Le domaine Beaumont possède la plus vieille cave à vin de la région. Elle a été fondée il y a 300 ans par une société hollandaise.\nBeaumont Wines Chenin Blanc 2016 19,00 $ (13225840)\nChâteau Viranel Tradition Blanc 2015, 18,90 $ (13235159)\nLovée au pied des Pyrénées, la région Somontano, en Espagne, est jeune et déterminée à produire de grands vins. Il fallait bien un Québécois pour nous la faire découvrir. Alain Bellemare (à ne pas confondre avec le président de Bombardier) a acheté des vignes dans cette région en 2011. Le vigneron possédait déjà un vignoble à Rigaud, au Québec, mais il rêvait d'un climat moins humide pour pratiquer l'agriculture biologique. Il nous présente un premier vin: un rosé élaboré avec du cabernet sauvignon. De couleur plutôt foncée, le vin est charmeur, parfumé et très fruité (mais pas sucré!). La bouche est vineuse, ample, et les arômes de fruits rouges sont persistants. Avec des saucissons épicés, l'apéro peut commencer.\nBodega Villa d'Orta Rosado 2016 16,70 $ (13211851)\nBodega Villa d'Orta Rosado 2016, 16,70 $ (13211851)


equipement convoyeur symboles de ceinture\nequipement convoyeur symboles de ceinture\nDovetail CDT3010_BH - Convoyeur pour fruits / à bande ...\nDécouvrez toutes les informations sur le produit : convoyeur pour fruits / à bande / incliné Dovetail CDT3010_BH de la société A & B Packing Equipment, Inc.. Contactez un fournisseur ou directement la maison mère pour connaître le prix, obtenir un devis et découvrir les points de vente près de chez vous.\nconvoyeur donnees spec de ceinture - bamboovillage.in\ncara kerja poids ceinture convoyeur - woodflame. Sac de Ceinture, Convoyeur de Chargement de Ceinture, Convoyeur &#; Courroie en . convoyeur a bande materiaux support acier… Alimentation De Ceinture De Convoyeur Achetez des d . convoyeur ceinture dunlop feuille de donnees en inde .\nLe convoyeur magnétique est un appareil muni d'une bande avec une partie magnétique qui, placée en dessous de la bande, permet d'attirer les produits métalliques vers le bas leur donnant ainsi plus de …\nÉquipements - Encyclopédie DOFUS - DOFUS, le MMORPG ...\nDispositif de surveillance de la courroie de convoyeur ...\nDispositif d'Alimentation Automatique Usine Machine à Double Ceinture Usine Parties d'Appareils Médicaux Usine Dispositif de Sécurité Électrique Usine Machine d'Alimentation pour Convoyeur Usine Dispositif de Support de Moteur Usine Dispositif de surveillance de la courroie de convoyeur Fabricants\néquipement minier minéral en malaisie - trade-service.eu\nCha? ne relative machines materiel mine d'or et de l'equipement . minier en minier et minéral pcuypers.be. équipement de equipement minier malaisie ... l'équipement minier équipement minier terre Concasseur de minerai de fer est l'équipement principal . Symboles D équipement Dans Un ... malaisie ceinture équipement . Home/convoyeur ...\nRAD Équipement - La force d'une équipe - Convoyeur à ...\nSymbole de qualité de fabrication et d'assemblage depuis plusieurs années, RAD offre sa gamme complète de produits de manutention. Découvrez la solution ultime et les possibilités variées pour le transport de votre matière. ... Les capacités indiquées sont basées sur un convoyeur avec une inclinaisonmaximale de 15° ; transportant ...\nceinture de convoyeur - goodyearags.com.mx\nceinture de convoyeur courroies transporteuses france,les attaches de ceinture, hic est, convoyeur à bande caoutchouc fabricants, les exportateurs tuyau flexible hydraulique, arbre de transm.\nconvoyeur a courroie mobile - cesimitalia.eu\nTranslate this pageconcasseur convoyeur ceintures de photos . Les courroies de convoyeurchoires sur chenillesde vente Mobile de concassage Europ&#enne Les courroies de convoyeurchoires sur chenillesde vente Mobile de concassage Europ&#enne. Contacter le fournisseur.\nConvoyeur à Bande – Concasseur de Pierre,Crible Vibrant … Convoyeur à Bande est une sorte de machine que transférer la matière continuellement. La ceinture travaille sous l'effet de force à friction.\nPromotion Convoyeur Ceinture Verre Machines, Acheter des ...\nSablage automatique ceintures machine/ convoyeur équipement entièrement automatique machine de sablage en verre Prix promotionnel: US $ 10000-15000 / Ensemble Dongguan Boerai Sand Blasting Polishing Equipment Co., Ltd.\nequipement s - cesimitalia.eu\nOhio's Premier Equipment Dealer: Farm, Construction, Lawn ... JD Equipment Inc. offers farmers, homeowners, commercial contractors, commercial landscaper, and governmental organizations in Central Ohio a wide selection of new and pre-owned agriculture, lawn, commercial, and power equipment. We are also your source for dependable power equipment …\nÉquipement de traitement de la courroie, produits de ...\nRecherches Relatives: Machine de Découpe, Machine de Soudure, Poinçonneuse, Skiver, Séparateur de Courroie de Convoyeur, Ceinture Fendeuse, Séparateur de Nappe de Ceinture, Machine de Vulcanisation pour Bande Transporteuse\nfournisseur de convoyeur de ceinture de clinker pour la ... fournisseur de convoyeur de ceinture de clinker pour la cimenterie en inde . usine de ciment en Inde de coût le plus bas. approprié en bas de la de pierre coût du projet d'usine en Inde coût de la convoyeur à bande, etc pour cimenterie mini usine de broyage de clinker. CHAT MORE\nequipement convoyeur symboles de ceinture - qualiredfruits.eu\nType de micro Convoyeur à courroie fournis par Huzhou Keni Logistics Equipment Co., Ltd. de la Chine à exporter vers les francophonies. ... machine de maille ceinture convoyeur Mesh de ceinture de convoyeur bande transporteuse machine a presque tous les avantages offerts par le fil métallique tissé mailles ceintures.\nCeinture verticale dans une mine de charbon\nautomatisation de la ceinture de convoyeur de charbon ppt. ... de concassage megabizneu ceinture de mine de charbon avec dos La lampe du mineur va devenir au XIXme sicle une image symbole des mines de charbon, charbon dans l'industrie du ciment Vérifiez le prix\nfournisseur van ceinture concasseur de pierres merk bando ...\nFournisseur convoyeur ceinture untuk pierre concasseur … charbon concasseur alimentation alternatif v ceinture. concasseur alternatif concasseur plomb ceinture fournisseur van pierre de ceinture concasseur di medan ceinture de Produits concasseur convoyeur. Apprendre encore plus >> concasseur batu Kapur mati&#;res dangereuses calcaire\nL'entraîneur de ceinture de pinte Pro™, qui emploie notre conception brevetée de « pivot et d'inclinaison », est capable de dépister la simple-direction et de renverser des ceintures. ... Montrac est le symbole de la ... entretien convoyeur a bande - tuskevarto.eu. comment entretenir le convoyeur bande -SBM Machinery. Entretien convoyeur ...\nequipement de concassage 224 m226choire en or de chine\nequipement minier en usa\nequipement broyeur allemagne\nequipement de processus de separation des medias lourds\nequipement pour plantes zimbabwe\nequipement d nalyse des feuilles de plantes\nequipement de kaolin en malaisie\nfournisseur de broyeur et equipement en afrique du sud\nequipement d nspection du minerai d ʴain concentre\nultimo equipement minier afrique du sud\nequipement de concassage 224 fosse zenith 224 vendre\nquartz carriere concassage equipement inde\nshanghai zenith equipement de puissance electrique sable machine a laver\nequipement minier alaska\nequipement de lavage de voiture 224 vendre philippines\nce qui est un equipement separateur magnetique\nequipement minier datong phillips\nequipement optionnel a vendre feeder\nbraun chipmunk carriere\nusines de broyage de cacao\ndirecteur directrice de la raffinerie et de la machinerie\nusine de trituration de pierre en porcelaine t


Okapi 1155 est à tes côtés - Okapi 100% ADO – Le blog des années collège\nOkapi 1155 est à tes côtés\nQuand ça ne va pas, ils sont là pour toi !\nEcrit par Jeannette Jackson Publié le 22 avr. 2022\n#Okapi #1155 #sommaire #BayardJeunesse #soutien #moral #psy #aide #help #exploits #corps #muscles #russie #ukraine #guerre #info #dadju\nL'adolescence est une période durant laquelle les coups de mou ne sont pas rares. Mais bonne nouvelle, tu es bien entouré(e) ! Okapi te dit vers qui aller, pourquoi et comment ! On décortique aussi dans ce numéro les exploits de ton corps, tu verras qu'il est magique ! 3, 2, 1... LECTURE !\nTu n'es pas tout(e) seul(e) !\nL'adolescence est accompagnée de grands bouleversements physiques et psychologiques. Ce n'est pas toujours facile ! Mais heureusement, sache qu'il y a toujours du monde à tes côtés ! Parents, médecins, prof, psy, dermatologues... Et plein d'autres ! A chaque problème que tu rencontres, son professionnel ou la personne la plus adaptée ! Okapi te fait la liste, dans ton Planète Ados, de ces bienfaiteurs du quotidien, tout en te donnant les infos dont tu pourrais avoir besoin à leur égard (Pour quoi le/la rencontrer ? Comment ? Ses forces ? Ses faiblesses ?). La recette pour aller mieux !\nEt, pratique, à la fin du dossier, tu peux découper un mémo regroupant tous les numéros et sites Internet qui pourraient te rendre service à l'occasion. Malin !\nChaque seconde de chaque minute, de chaque heure, de chaque jour, tu sollicites tes os et tes organes. Ton corps ne se repose jamais ! (Pas même quand tu dors). On t'explique tout sur le muscle le plus gros (le grand fessier), l'os le plus grand (le fémur), les cellules les plus rapides (les neurones) et le liquide le plus vital (le sang). Et bien d'autres encore !\nDe quoi te prouver que ton corps est un petit génie !\nAllez tiens, en attendant, on te spoile une info...\nLe 14 mars dernier, Marina Ovsiannikova, journaliste russe, est intervenue en plein JT en brandissant une pancarte indiquant "Non à la guerre. Ne croyez pas à la propagande. On vous ment ici." En effet, en Russie, les infos sont filtrées ! Sur ordre du Président Vladimir Poutine, la propagande manipule l'opinion... Rendez-vous dans le Décodage, Okapi t'explique de façon claire et simple !\nDadju sur le bout des doigts !\nEn mai, le chanteur Dadju sera sur tous les fronts : au ciné, et dans les bacs ! Mais toi, que connais-tu de lui ? Au détour de 7 jeux, teste tes connaissances sur l'artiste. Apprendre en s'amusant, tel est le crédo d'Okapi !\nAllez, on t'en met une pour le plaisir, parce que c'est surtout ça Okapi : du kiff !\nComme d'hab' dans Okapi, tu pourras retrouver toutes tes rubriques habituelles ! Au programme : des BD, des DIY, des jeux et des jeux vidéo pour un max de plaisir !\nSource image : Header et première illustration : © Elodie Duhameau ; Corps organes/muscles : © Michel Saemann // Photo : Dadju : © FIFOU\n15 mai 2022 à 19h41\nC'est bien car ça permet de savoir qui aller voir en cas de problème.\n15 mai 2022 à 12h22\nOkapi intéressant !!!!!\nHâte de recevoir le prochain!!!!\n4 mai 2022 à 13h08\nIl est génial ! Mais j’ai quand même hâte de recevoir l’autre numéro.\n3 mai 2022 à 11h11\nIl es génial ! Mais j’ai quand même hâte de recevoir l’autre numéro !\n25 avr. 2022 à 10h43\nJe l'ai lu, c'est super !


UN MOIS SUR LES ROUTES AMERICAINES : Voyage autour du Monde en Camping Car - O Tour des Leger\nUN MOIS SUR LES ROUTES AMERICAINES (22-01-16)\nCela fait maintenant près d’un mois que nous roulons aux Etats Unis. Même si nous sommes arrivés le 14 décembre en Amérique du Nord, nous avons récupéré le camping car avec une semaine de retard. Petit à petit, nous prenons donc nos habitudes. Tous les journées sont différentes car rien n’est programmé, certains jours nous ne faisons pas l’école afin de profiter au mieux de l’endroit (ou du soleil !), mais je suis tout de même un fil conducteur. Voici par exemple une journée type du voyage...\nLe matin, je réveille tant bien que mal les enfants vers 8h30, mais il faut du temps à Robin pour émerger ! Nous prenons un parfois un petit déjeuner à l’américaine avec des œufs et du bacon, les enfants adorent. Il arrive aussi, lorsque le réveil est tardif, que nous prenions un déjeuner repas pour gagner un peu de temps.\nVers 9h, quand le wifi le permet, nous communiquons par skype avec la famille et les amis. Un jour sur deux, nous essayons d’avoir maman ou papé (et oui, il s’est enfin décidé à utiliser ce nouveau mode de communication).\n9h30 et la cloche se sonne, c est l’heure des devoirs….. Elsa est en CE2 et suit les cours règlementés du CNED, Robin est en dernière année de maternelle et ne dispose pas comme sa sœur d’un programme spécifique. Je lui fais faire un peu d’activités manuelles, et commence à lui montrer quelques notions d’écriture et de lecture. Elsa a un trimestre de retard, puisqu’elle a commencé les cours du CNED au 1er janvier. Le programme de cette école à distance est plutôt chargé et d’un bon niveau. Je m’efforce maintenant de rattraper le temps perdu, ainsi nous avons rapidement éliminé le dessin et la musique pour avoir plus de disponibilités pour les autres matières. ... Heureusement, Elsa est consciente de la situation et je ne m inquiète pas trop car elle est plutôt bon élève et studieuse. Elle joue même parfois la maitresse avec son frère et se fâche quand celui-ci ne se concentre pas assez ! Dans certaines situations et quand les matières le permettent, il m’arrive de faire l’école en conduisant : Elsa aborde les cours seule et me demande les explications quand elle en éprouve le besoin. Je vérifie par la suite qu’elle a bien assimilé la leçon du jour. En plus de son programme d’anglais, je lui apprends une dizaine de mots par jour afin qu’elle puisse comprendre davantage la langue. Pour Robin, c’est un peu plus difficile.\nA partir d’11h30, nous sommes près pour attaquer la journée sous le signe de la détente et de la découverte.\nBien souvent, nous nous rassasions vers 13h. Robin a toujours fin avant l’heure du repas mais quand il est devant son assiette, il aime bien trainer…… Nous ne mangeons pas tous les repas dans les restaurants, disons plutôt un repas sur trois. La nourriture américaine, fidèle à sa réputation, n’est pas vraiment à notre gout. Les enfants n’arrêtent pas de me dire : « on mange mieux en France »…. A l’exception des fast-foods, les prix des restos sont plus chers qu’en France. Heureusement quelques chaines comme Denny’s et surtout Bob Evans permettent de bien manger pour un prix raisonnable.\nNous profitons ensuite de l’après midi : plage, sortie, vélo, promenade ou bien carrément jeux de société et connexion internet pour rattraper le retard du site quand le temps n’est pas favorable. Les enfants s’occupent très bien entre eux, ils trouvent toujours une activité tant ils débordent d’imagination. Je me dis souvent que le voyage serait bien difficile avec un enfant unique !\nNous nous douchons en fin de soirée. Tant que l’atmosphère n’est pas trop humide, le rythme des douches est irrégulier. Cela peut être tous les jours, comme un jour sur deux. Robin aimerait bien qu’on en prenne une fois par semaine pour économiser un peu l’eau !Nous avons quand meme réussi à lui faire pendre un bain dans le bac à douche…..\nAvant le diner, nous aimons prendre un petit apéro ensemble tout en préparant le repas. C’est notre petit plaisir à tous les trois….\nEnfin la soirée se termine parfois en regardant un dessin animé ou un film dans le lit de papa ! Les enfants se couchent donc assez tard pour l’instant : 22h voir parfois 23h.\nCe n’est peut être pas le rythme idéal, mais il me permet pour l’instant de faire face à la solitude …..\nDe Beatrice Perraud Foiny le 26-02-16\nNous voyageons par les photos que tu mets en ligne que du bonheur.


Ternay « Arcol Rugby\nSeize – pas un de plus – grognards affrontaient les départs en masse pour la chasse aux oeufs de Pâques avant d’arriver au charmant lieu-dit de Ternay.\nOn y retrouvait quelques visages connus parmi les hommes en vert et d’autres nouveaux. Le citoyen Benoit avait le plaisir de retrouver son dentiste qui lui avait refait le dentier lors d’un tournoi UFAR. A ce propos (à confirmer), il paraitrait que le citoyen Lulu aurait lui aussi planté une dent dans le gazon de Ternay!\nAprès un petit échauffement, le match, divisé en 3 MT de 20′, débutait.\nCeux qui sont abonnés au quotidien WhatsApp savent déjà que nous l’avons remporté 3-2. Oui mais ce score ne reflète pas assez notre prestation et très belle victoire!\nElle commençait devant avec le citoyen Michel. On connaissait Saint-Michel l’archange, envoyé divin (approprié en ces temps religieux). Eh bien, nous on a eu droit à Saint-Michel-de-la touche!! Les ballons tombaient tous du ciel les uns après les autres pour atterrir au niveau des deux sauteurs, le citoyen Romain et moi-même. Un miracle! On a du faire 6 ou 8 touches et elles nous ont toutes été profitables mis à part deux contres. On a fait une Noel où je servais le citoyen Romain. Et un beau groupé-pénétrant sur 15m. On contrait l’une des leurs et le citoyen Lazare récupérait sur un lancer adverse trop long, mais son ventre (pas lui) faisait un en-avant!\nBref, une excellente plateforme de lancement.\nAprès, dans le jeu courant, on a proposé une grosse défense en mettant souvent les mains sur le ballon dans les rucks et créant plusieurs turnovers même si on a mal été récompensés par l’arbitre. On bloque aussi sur une fois ou deux l’adversaire en le maintenant debout.\nEn attaque, les déblayages étaient assurés et je crois qu’on n’a pas subi un seul turnover.\nCa s’était pour les gros, mais le show eut lieu derrière! Et si on a fourni les munitions, elles ont été parfaitement utilisées par les 3/4 menés par le citoyen Nicolas. J’ai été impressionné par la multiplication des passes avant contact dans un excellent tempo pour fixer l’adversaire et créer la brèche. On a eu le droit à une Irlande, un Bayrou et sans doute d’autres, et les deux ailiers, Vincent (S) et Vincent (M) ont eu beaucoup de ballons. En défense, intraitables! J’ai souvenir du citoyen Vincent (M) contrant un 2-1 et poussant son adversaire en touche!\nLa 1re MT se solda sur un 0-0 et quasiment autant de marrons d’un côté comme de l’autre (même si le citoyen Stéphane me contesterait sur ce point). Beaucoup de contestations de part et d’autre, d’échauffourées, et de pénalités. Léger avantage pour nous dans la possession et territoire.\nLa 2e MT fut bcp plus calme avec le départ de leur 8. L’arbitrage n’aidant pas, ça continuait cependant de causer. Côté rugby, on commença à prendre l’ascendant.\nOn marquait notre 1er essai par le citoyen Pierrick qui prenait un intervalle sur la ligne médiane et gambadait jusqu’au coin adverse pour planter notre 1re banderille! 1-0.\nLa 3e MT fut marquée par un florilège de up-and-under et autres tentatives de passer pour un Conor Murray ou Dan Biggar. Mais c’était sans compter sur le citoyen Benjamin qui fut impérial en 15. Il attrapa toutes les chandelles les unes après les autres et sauva la patrie sur un coup de pied par dessus du 10 adverse! Le citoyen Lulu n’était pas loin de reprendre sa chandelle, mais ce fut le citoyen Nicolas qui, sur une attaque dans leurs 22, tapait un coup de pied pour lui-même. Surgi de nulle part, le citoyen William dépassait son 10 et plongeait avec un vert dans l’en-but. Le ballon rebondissait (de côté?) et William aplatissait le premier. Essai! 3-0!\n3-0, oui, car avant, sur une autre attaque à l’aile, le citoyen Vincent (M) sprintait jusqu’au coin adverse, portant un adversaire sur les 5 derniers mètres avant d’aplatir! Magnifique!\nLa 2e partie de la 3e MT fut à l’avantage de Ternay. La fatigue nous laissait sur place. On était 16, ils étaient 22. Les départs de leur 8 rouquin faisaient de plus en plus mal, leur jeune 10 faisait des siennes et ils finissaient par aplatir par deux fois. On fut soulagé quand l’arbitre siffla car ils avaient pris l’ascendant physique.\nBref une grosse grosse prestation, avec des 3/4 champagne et des avants qui font le boulot! Au passif, pas grand chose, si ce n’est quelques plaquages pas toujours à la hauteur.\nLa 3e MT fut impériale avec les deux cuistots de Ternay qui nous offraient rillettes et terrines maison suivis d’une tête de veau avant de finir sur des crêpes gargantuesques. Bref on a encore été bien reçus. J’ai essayé de débaucher leurs deux cuistots qui font la bouffe toutes les semaines, mais rien n’y a fait!\nEncore une excellente soirée!\nVendredi on reprend le pré et le club-house. Dernière ligne droite avant le tournoi des Farios. Inscrivez vous sur le Doodle pour le cuistot. http://doodle.com/poll/smznp84arykrfnru\nRugby - Top 14 - UBB - Baptiste Serin (Bordeaux-Bègles) : «On s'est bien...\nle 22 septembre 2018 à 18 h 17 min\nLe demi de mêlée espère que l'UBB a lancé pour de bon sa saison... […]\nle 22 septembre 2018 à 18 h 16 min\nBenjamin Kayser, talonneur de Clermont, battu pour la première fois... […]\nle 22 septembre 2018 à 17 h 56 min\nGrâce à la botte de Gaétan Germain auteur de vingt-six points, les... […]\nRugby - Top 14 - Pau - Pau (Top 14) : avec Hamadache et Domingo devant Paris\nle 22 septembre 2018 à 17 h 24 min\nPour recevoir le Stade Français dimanche (12h30), le staff béarnais... […]\nRugby - Top 14 - ST - Toulouse (Top 14) : on fait tourner !\nle 22 septembre 2018 à 17 h 15 min\nPar rapport à la victoire devant le Racing 92 samedi dernier, pas... […]


GDPR - Acolad\nDepuis le 25 mai 2018, l’ensemble des entreprises et des professionnels doivent se conformer au Règlement RGPD, ou Règlement général sur la protection des données, afin de protéger les données personnelles et la vie privée des citoyens de l’Union européenne. Toute entreprise ou tout professionnel qui ne se conforme pas au Règlement RGPD s’expose à des sanctions coûteuses allant d’un simple avertissement à des amendes. Toutes les entreprises (y compris les PME) et les professionnels doivent par conséquent mettre en œuvre des systèmes et des procédures visant à assurer leur mise en conformité avec les lois sur la protection des données de leurs clients.\nEn vertu du Règlement RGPD, les types de données personnelles suivants sont protégés : données personnelles de base (nom, adresse, numéro d’identification), données Web (adresse IP, localisation, données de cookies, etc.), données médicales et biométriques, données raciales ou ethniques, opinions politiques et orientation sexuelle.\nLe Règlement RGPD ne s'applique pas aux données traitées à des fins purement personnelles ou pour des activités effectuées dans le cadre familial. Néanmoins, ces données ne doivent être liées à aucune activité commerciale ou professionnelle.\nLa loi ne s’applique pas uniquement aux entreprises et professionnels résidant au sein des États membres de l’UE. Elle concerne également toute entreprise qui ne dispose pas d’une présence commerciale dans les États de l’UE, mais dont les transactions impliquent le stockage ou le traitement de données personnelles relatives aux citoyens de l’UE au sein des États de l’UE.\nAutrement dit, même les traducteurs, interprètes, correcteurs et professionnels apparentés doivent se conformer aux exigences du Règlement général sur la protection des données pour travailler avec des entreprises, dans la mesure où ils traitent des documents et informations qui contiennent des données privées relatives à l’entreprise.\nEn outre, les entreprises et professionnels doivent également veiller à respecter des accords de confidentialité (accords de non-divulgation, ou AND). Le Règlement RGPD vise en effet à protéger les données privées, tandis qu’un AND évite la divulgation d’informations appartenant à des clients directs et indirects. Ces accords sont complémentaires entre eux et doivent être inclus dans l’addendum de chaque société afin de garantir totalement la confidentialité et le respect du Règlement RGPD.\nVos questions sur le RGPD\n1/ Réponse : Toute collecte de données doit être accompagnée d’une note contenant toutes les informations requises par l’article 13. Utiliser un langage simple et clair constitue l’un des nouveaux prérequis pour nous tous.


Toxoplasmose - Janvier 2020 - BabyCenter\npremière prise de sang se matin et celle si m’indique un taux de 3,39 alor que sa devrai être inférieure à 0,80 😪\nc'est ta première prise de sang depuis que tu es enceinte ?\nRéponse de Auddum10\nTu as déjà fait la prise de sang pour savoir si tu es immunisée ?\n- Si tu ne l'etais pas, ça pourrait effectivement dire que tu l'as contractée durant ta grossesse.\n- Si vraiment cest ta toute première prise de sang, ça signifie juste que tu es immunisée car déjà en contact avec dans ta vie. Et dans ce cas tant mieux pour toi, tu fais partie des chanceuses.\nC se que m’a dit la sage femme m’ai je doit aller à la maternité demain matin pour prescrire une autre prise de sang pour en savoir plus\noui si tu étais pas immunisée avant il va falloir refaire une prise de sang 3 semaines après. et moi ils m'ont fait prendre des antibio pendant 1 mois pour me dire que la toxo était antérieure a la grossesse.\nJe doit faire ma prise de sang le 22 pour confirmer mai pour la gyneco c une ancienne mai si elle et récente je doit faire un amiosyntese