Cour N° 7

Cour N° 7
Apprendre le Batch :
Récupérer une valeur avec 'SET'



Huhu, j'avoue que devoir déclarer ses variables, c'est pas très marrant
Alors dans ce chapitre, vraiment cours car j'osais pas l'ajouter à celui d'avant, on va voir comment récupérer une valeur avec SET via l'utilisateur.


1) Déclarer une variable.. un peu particulière

La commande la voici :
SET /P nom_variable=texte
Analysons-le :
SET : Rien de spécial à ajouter.
/P : C'est la paramètre qui indique que l'on va demander la valeur et cette valeur sera stockée dans une variable normale.
nom_variable : Toujours le nom de la variable
texte : C'est là qu'est la nouveauté mais ça reste encore simple ! En fait texte sera votre texte affiché à l'écran pour demander la valeur de la variable. On va faire un exemple juste après.

Conventions personnelles utilisées :

nom_variable : Pareil que le chapitre précédent.
Forme de la commande : Aucuns espaces de part et d'autre du égal.


Et un exemple pour bien comprendre :
@echo off

echo Bonjour,
echo.

REM On demande l'age de l'utilisateur

SET /p age_utilisateur=Quel age avez-vous ? Veuillez taper le nombre d'annees ici :


REM On demande son nom

sET /p nom_utilisateur=Quel est votre nom ? Tapez le ici :


REM Mais on peut également laisser la partie à droite du égal vide !
REM Exemple ...

echo Comment s'appelle ton chien ? Tape le ici :
set /p nom_chien=

REM ... Mais cela oblige de sauter une ligne car rappellez vous,
REM la commande 'echo' saute toujours une ligne en fin de phrase


REM Et on récapitule

echo Hmm, j'ai de la memoire car je sais que tu t'appelles %nom_utilisateur%, que tu as %age_utilisateur% ans et que ton chien s'appelle %nom_chien% !


pause>nul


Voilà, vous pouvez copier/coller cet exemple et vous verrez bien que ça marche
Entrainez vous en fesant un mix avec le chapitre précédent.

Le prochain chapitre traitera encore des variables et il s'agira de les manipuler
[ Ajouter un commentaire ] [ Aucun commentaire ]

# Posté le dimanche 01 juin 2008 15:16

cour n 8

cour n 8
Apprendre le Batch :
Les sauts avec goto !



Goto, c'est une commande très très souvent rejetée des programmeurs de d'autres langages car elle mord tout ce qui se trouve sur son passage rendrait le code illisible et on pourrait théoriquement s'en passer , mais voilà en batch c'est différent

Euh, rassurez-vous hein , en fait en Batch comme on a moins de possibilités, il nous sera plus pratique d'utiliser cette commande (vous verrez tout l'intêret dans le prochain chapitre qui est un très gros chapitre).

Ce chapitre sera un petit chapitre car je comptais faire le prochain maintenant mais finalement après réflexion je pense que je devais d'abord caser celui-là

Ok super c'est cool mais à quoi sert donc goto ?

Imaginons que vous ayez besoin de faire un saut dans le programme (c'est à dire passer d'un bout à l'autre du code en un clin d'oeil), et bien goto est fait pour vous mais à utiliser avec modération (ouais car effectivement un code avec 30 goto dedans ça devient légerement chiant à lire ).
Pour utiliser goto, il faut crée un label puis y accéder.


1) Créer un label

Syntaxe :
:label
Rien de bien compliqué, il y a toujours deux points au début et, sans espaces, un nom qui de préférence ne contient que des caractères alpha-numériques (comme les variables quoi).

Vous vous demandez surement ce qu'est un label (ou peut-être que vous vous en foutez) ? Eh bien un label est une sorte d'empreinte inscrite dans le code.
Prenons l'exemple du livre : dans un livre vous pouvez mettre des marques-pages pour accéder directement à un endroit du livre ! Pareil pour un label.

Un label en soit ne fait absolument rien à l'interprétation (tout comme les commentaires que l'on fait avec REM pour ceux qui auraient oublié , il servira juste de repère au goto.

Donc ceci :
@echo off

echo Coucou !
:label_1
echo J'ai cree un label mais t'as rien vu !

pause>nul

Donne juste :
Coucou !
J'ai cree un label mais t'as rien vu !


Maintenant utilisons ce label

2) Faire un saut

Syntaxe :
goto label

goto ("go to" qui veut dire en français : "aller à" ) pour faire le saut et label doit être rigoureusement le nom du label crée. Si le label n'existe pas, rien ne se passera.

Un exemple :
@echo off

echo Je pense que tu es :

goto mecSympa

echo Un feignant
echo Un parasite
echo Un dormeur
echo Un somnanbule
echo Un serial killer

:mecSympa

echo Un mec sympa

pause>nul

Donnera :
Je pense que tu es :
Un mec sympa


Pratique hein

Voila ce qu'il s'est passé : dès que l'interpréteur est arrivé à la ligne goto mecSympa, il a immédiatement recherché un label au nom de mecSympa (les majuscules/minuscules ne sont pas importantes) et "s'est téléporté" jusqu'à ce label pour continuer sa route.

Par contre l'intérêt est très limité car il s'agit de sauts inconditionnels, c'est à dire que ça saute comme ça sans aucunes conditions mais dès le prochain chapitre vous allez voir toute la magie de la chose.

Une dernière chose avant de finir ce chapitre, je vais rapidement parler des boucles infinies.
Une boucle infinie, c'est ça : (n'exécutez pas ce code )
@echo off

:haha
echo J'AI FAIM !
goto haha

pause>nul

Si vous avez tout suivis, vous devez comprendre que arrivé à goto, on reviens au début jusqu'à, à nouveau, rencontrer le goto etc.. C'est un truc à éviter quoi

Voilà maintenant grâce au fichier "bat" vous pourrez faire ce que vous voudrez d'un ordinateur.
C'est pour cela que certaines personnes les utilise contre un ordinateur, car les fichier "bat" permettent de tout faire sans même être détécté par un Anti-Virus !


Voila, ce bref chapitre est terminé et laisse place au prochain chapitre qui va nous faire avancer d'un grand pas
[ Ajouter un commentaire ] [ Aucun commentaire ]

# Posté le dimanche 01 juin 2008 15:17

Modifié le lundi 02 juin 2008 10:34

Le Language HTML

Le Language HTML
Le langage "Html" (ou "Htm") est le langage informatique le plus utilisé sur internet.
La plupart des pages internet ont l'extension "*.html". C'est un langage simple, facile à apprendre et servant de base à beaucoup d'autres langages informatiques. Il peut vous servir à créer un site internet.


Écrire des pages en HTML




Pour créer votre site, il faut savoir quoi dire et comment l'écrire. Cette page vous propose un apprentissage complet du langage HTML, avec ou sans éditeur WYSIWYG.

Quel contenu ?

La première étape, pour créer un site web, est de décider de son contenu. Vous pouvez faire une homepage qui décrive votre vie et vos centre d'intérêt. Ou bien vous pouvez mettre en ligne toutes les nouvelles que vous avez écrites ! Les possibilités sont infinies.
Mais rappelez-vous toujours qu'un site web doit avoir un contenu. J'ai vu tant de sites avec une belle mise en page, de belles images, mais pas grand chose d'autre ! Ou bien encore des sites qui proposent de nombreux liens, mais pas des informations véritables... Ce genre de sites n'ont généralement pas de succès, car la plupart des internautes sont à la recherche d'informations.

Comment allez-vous décider de ce que vous allez mettre sur votre site ?
Si vous ne savez pas encore, vous pouvez commencer par une page personnelle avec des liens vers vos sites favoris. Après avoir fait cela, vous aurez déjà une idée plus précise de vos centre d'intérêt. Vous pourrez ensuite faire un site web sur l'un de vos centres d'intérêt.
Quel est le but de votre site ?
Est-ce que vous voulez distraire ? Informer ? Persuader ? En répondant à cette question, vous dirigerez avec plus de précision vos efforts et votre créativité.
Si votre site est plus qu'une simple page personnelle, vous pourriez mener quelques recherches, afin de l'alimenter en informations. Vous pouvez recourir à la méthode traditionnelle (en allant dans votre bibliothèque habituelle), ou en cherchant sur le web (avec Nomade, Voilà, Altavista ou encore Google).


Comment écrire ses pages?

Vous avez deux possibilités:

Tout d'abord, les écrire sous un éditeur de texte, tel que le bloc-note livré avec Windows (menu démarrer / Programmes / Accessoires / Bloc-Notes). Cela fait très bien l'affaire! L'éditeur de texte permet de maîtriser parfaitement sa page web.
Dans ce cas, on ne voit pas immédiatement le résultat : il faut enregistrer le fichier, puis l'afficher dans son navigateur favoris (Netscape, certainement... :-) ) pour voir sa création dans toute sa beauté... Cela prend en moyenne une seconde et demi, pour les plus lents.

Pour afficher une page faite avec le bloc-note, vous ouvrez l'éditeur de texte, vous tapez votre script, vous choisissez le menu Fichier / Enregistrer sous, puis vous sélectionnez le répertoire et vous tapez enfin le nom de fichier. Ensuite, vous ouvrez votre navigateur, et vous entrez dans l'adresse le chemin complet du fichier que vous venez d'enregistrer, c'est-à-dire une lettre de lecteur, puis tous les répertoires séparés par des anti-slash ( \ ), puis le nom de fichier. (exemple de chemin complet: C:\mes documents\mon_fichier.html ). Et là, vous pouvez voir votre fichier édité dans le navigateur.

Cependant, cette méthode est un peu... rébarbative pour les débutants. Je vous conseille donc plutôt d'utiliser un éditeur wysiwyg (WYSIWYG = What You See Is What You Get). C'est à dire (si vous n'avez pas encore été voir au dictionnaire du net) que l'on voit immédiatement ce que sera le document au final.

Une bonne méthode est d'écrire une première fois à l'aide d'un éditeur wysiwyg, puis de faire des retouches "à la main" à l'aide d'un éditeur texte.

Vous trouverez des éditeurs wysiwyg livrés avec Netscape (Netscape Composer), Internet Explorer (Front Page), ou encore des éditeurs indépendants comme Namo Web Editor, Dream Weaver...

Dans un premier temps, si vous créez vos pages en wysiwyg, vous n'avez pas besoin de connaître le HTML, car vous ne manipulerez qu'un éditeur de texte. Vous pouvez donc aller directement à la partie "héberger son site".
Ce n'est que dans un second temps que vous aurez forcément besoin de connaître un minimum de HTML, pour "mettre les mains dans le cambouis"....


Introduction au HTML

En scripte html, il existe des commandes appelées "balises". Les balises sont délimitées par "<" et" >". Les balises servent à déterminer la mise en forme (taille de l'écriture, police, couleur, alignement...) ou à insérer des objets (insérer une image, etc...).

Par exemple, voyons la balise <P>, qui définit un paragraphe. Un paragraphe doit donc toujours commencer par la balise <P> et se finir par son inverse: </P>.

Exemple: (scripte) <P>Ceci est un paragraphe</P>
donnera:

Ceci est un paragraphe.

En html, le caractére "entrée" n'a aucune incidence: c'est comme si l'on tapait un espace. De même, si l'on met plusieurs espaces à la suite, un seul s'affichera.

Par exemple, si l'on écrit dans le scripte:
<P>Ceci est
une ligne de texte unique</P><P>Ceci est un nouveau paragraphe bien qu'il soit tapé sur la même ligne...</P>

Cela s'affichera comme suit:

Ceci est une ligne de texte unique

Ceci est un nouveau paragraphe bien qu'il soit tapé sur la même ligne...

Vous voyez que tout nouveau paragraphe occasionne un retour à la ligne avec un saut d'une ligne. Pour revenir à la ligne sans sauter de ligne, il faut utiliser la balise <BR>.

Par exemple, si l'on écrit dans le scripte:
<P>Première ligne du paragraphe <BR> Deuxième ligne du paragraphe</P>
Il s'affichera :

Première ligne du paragraphe
Deuxième ligne du paragraphe

Voyons à présent la structure de tout fichier html:
Il doit commencer par la balise <Html> et se terminer par (devinez quoi) la balise </Html>.
Juste après <Html>, on trouve l'en-tête, définie par <Head> et </Head>.

Dans cet ensemble, on insert les informations relatives au fichier html, notamment le titre du document par la balise <Title> (le titre sera affiché dans la barre de la fenêtre qui indique "Netscape" ou "Microsoft Internet Explorer").

Un scripte html commence donc toujours par le texte:

<Html>
<Head>
<Title>Ecrivez ici le titre de la page</Title>
</Head>

Ensuite vient le corps du message, dans lequel on écrit le texte à afficher. Il est délimité par <Body> et </Body>. La suite de notre script est donc:

<Body>

<P>Ce texte s'affichera.</P>
<P>Voici un deuxième <BR> paragraphe...</P>

</Body>
</Html>

Voilà, notre fichier est terminé!


La mise en page

Le format général représente les commandes les plus communes pour la mise en page du document.

Le titre du document, comme déjà vu plus haut, fait parti du format général, les deux commandes spécifient le titre à afficher sur la barre de statut de la fenêtre active. Balises : <TITLE>...</TITLE>


Vous pouvez séparer votre page par une ligne horizontale grâce à la balise <hr>, qui fait ceci:

--------------------------------------------------------------------------------


Vous pouvez l'insérer n'importe où dans le scripte, et il ne requiert pas d'inverse (</hr> n'est pas nécessaire et n'existe pas.)

De la même façon, comme mentionné plus haut, le texte ne fait pas de retour à la ligne automatique, seulement quand un <P> (Paragraph) est présent. Il existe aussi une commande <BR>,(line Break) qui va à la ligne.

En ce qui concerne la mise en page, quelques balises permettent de:

Centrer le texte: <Center> texte centré </Center>

Modifier la taille, la couleur de l'écriture: <Font size="5" color="#FF0000"> Texte de couleur "#FF0000" et de taille 5 </Font>

Mettre le caractère en gras: <B> texte en gras </B>

Souligner le texte: <U> texte souligné </U>

Mettre en italique: <I> Texte en italique </I>

Comme vous l'avez remarqué, certaines balises ne sont pas seules (comme <Font size="4" color="#FF0000">): elles ont des arguments. Les arguments permettent de spécifier plus exactement ce que l'on veut. Ils sont désignés par une propriété (ex: size) qui est égale à une valeur (ex: 5).

On l'écrit alors ainsi (sans les parenthèses...): <Font (balise pour changer l'écriture) size=6 (propriété à laquelle on attribue une valeur) >

La valeur peut être écrite entre guillemets ( " ) ou entre apostrophes ( ' ), ou sans rien, mais il est préférable de mettre des guillemets.

Vous pouvez insérer une image de fond (c'est plus agréable à voir) dans la balise <Body>.
Pour ce, il suffit de désigner l'image de fond dans le paramètre Background="image.ext".

Par exemple, pour donner un fond à cette page, j'ai utilisé la ligne
<Body background="http://interdico.free.fr/fond1.jpg">

Il est également possible d'insérer un fond sonore...
Dans ce cas, le son sera joué à l'affichage de la page. La ligne à insérer est la suivante :
<bgsound src="fichier.mid" loop="1">
Le paramètre loop indique le nombre de répétitions du fichier musique.



Par ailleurs, pour écrire en bon français, il faut tenir compte que les fichiers http sont sur 7 bits, et donc il faut coder les caractéres nationaux:

&Egrave; pour È
&eacute; pour é
&Ccedil; pour Ç


Mais les caractères à accents sont maintenant assez bien gérés et vous pouvez vous permettre de les employer.

Pour tester les effets des différentes propriétés des balises, il faut que vous en fassiez l'expérience, et que vous testiez les résultats. C'est là qu'un éditeur wysiwyg peut être utile lorsque l'on n'est pas encore habitué.

On peut bien sûr additionner ces attributs :

<b>Bonjour<i> le <u> monde </u></i></b>

Donnera: Bonjour le monde


Les hyperliens

Vous savez, puisque vous avez lu la rubrique "Les grandes parties d'Internet" que le caractère principale du langage html est le lien hypertexte...

La balise <A> permet d'inclure des liens hypertexte vers une autre page ou un document quelconque (html, texte, image...), ou dans le même document. Lorsque l'on clique sur ces liens, le navigateur nous emmène vers le document désigné.

Par exemple : <A (nom de la balise: A) HREF="http://interdico.free.fr" (le paramètre désignant le document lié est HREF, et on lui donne donc comme valeur l'adresse du document) >voir Vincnet pour plus de détails (texte affiché et sur lequel il faut cliquer pour suivre le lien) </A> (fin du lien)

Sans les parenthèses, cela donne:
<A HREF="http://interdico.free.fr">voir Vincnet pour plus de détails </A>

Et à l'affichage, on voit:
voir Vincnet pour plus de détails

C'est un lien explicite vers une autre page dont la référence hypertexte est définie par HREF="adresse_du_lien". Pour l'utilisateur verra seulement voir Vincnet pour plus de détails souligné et en bleu, ce qui lui signifiera le passage à un autre lien.

Mais ce lien peut aussi être dans le même document:. Dans ce cas, on se déplacera à un autre endroit de la page en cours.

<A HREF="#glossaire">glossaire</A> définit un lien dans le même document (grâce au caractère # devant le lien).

Il faut alors insérer une balise <A> avec le paramètre Name de valeur "glossaire".
On insérera donc le scripte <A NAME="glossaire"> plus loin dans le même document, à l'endroit où l'on veut aller grâce au lien.


Les URL

Une url est une adresse unique désignant un élément sur Internet (par exemple : http://interdico.free.fr/dico/index.php). Elle se compose de:

Un préfixe qui spécifie à quelle partie d'internet appartient le fichier.
Le préfixe est http:// pour accéder au web.
ftp:// pour accéder à un site FTP (voir "Les grandes parties d'Internet")
file:// pour accéder à un fichier situé sur son propre ordinateur.
mailto: pour envoyer un mèl.
news: pour accéder aux forums.
Un nom de domaine désignant le serveur sur lequel est situé le fichier.
Le nom de domaine est en général du type www.nom.fr
Le chemin du fichier sur le serveur. C'est le répertoire dans lequel est situé le fichier.(exemple: /docs/perl/ )
Et enfin le nom du fichier que l'on veut désigner (exemple: image1.gif)
L'url peut être spécifiée au navigateur dans la partie adresse, mais ce qui nous intéresse, nous, c'est de l'utiliser dans le scripte html...

On l'utilise pour réaliser les liens hypertexte: c'est ce que l'on spécifie dans le paramètre HREF.

Par exemple, si j'écris le code suivant:
<A Href="http://interdico.free.fr/dico/dico.php">Cliquez ici pour télécharger le Dictionnaire du nouveau vocabulaire</A>
J'obtiendrai l'affichage suivant: Cliquez ici pour télécharger le Dictionnaire du nouveau vocabulaire , et si je clique sur ce lien, je me connecterai sur le web au serveur interdico.free.fr, je me positionnerai dans le répertoire /dico, et le navigateur affichera le fichier dico.php.

Si l'on veut créer un lien pour faire envoyer du courrier, il suffit de faire comme suit:
<A Href="mailto:vincnet@netcourrier.com">Envoyer un courrier à l'auteur</A>
Et ça me donnera: Envoyer un courrier à l'auteur
Et si l'on clique dessus (vous pouvez essayer), un nouveau mèl se créera avec l'adresse de destination vincnet@netcourrier.com, que vous n'aurez plus qu'à remplir!

Dernière chose: pour ouvrir un forum, il faut insérer le scripte: <A Href="news:fr.sci.philo">Aller discuter de philo</A>


Il est également possible de donner des adresse relatives. Par exemple, si le document lié est situé dans le même répertoire que le document dans lequel se trouve le lien, on peut ne spécifier que le nom de fichier:
<A Href="fichier.html">Fichier situé dans le même répertoire</A>


Mettre des images

Les éléments image sont utilisées pour incorporer en-ligne des images dans un document HTML. La syntaxe de base est <IMG SRC="FICHIER_IMAGE.GIF" ALT="texte">, le plus souvent et historiquement, le format de l'image est GIF, mais comme une image peut être très grande et arriver très lentement, le paramétre ALT sert à spécifier un texte affiché avant que l'image ne soit arrivée.

Il est aussi conseillé de spécifier la taille de l'image avec WIDTH=largeur_en_pixels, et HEIGHT=hauteur_en_pixels, ce qui permettera au navigateur de préparer un cadre pendant que l'image se charge, et donc de conserver quoi qu'il arrive la mise en page.

Voici donc un exemple d'insertion d'image dans un scripte html:
<Center><P>Voici une image: <br>
<Img Src="http://interdico.free.fr/bannieres/pub1.gif" width="472" Height="50" Alt="Bannière publicitaire"></P></Center>

Ce script donnera:

Voici une image:


Une image comme un texte peuvent constituer un lien hypertexte :

<A HREF="http://machine/ht/info.html">
<IMG SRC="image.gif">
</A>

L'image apparaîtra entourée d'un cadre bleu pour signifier qu'elle est un lien hypertexte, et cliquer dessus aiguillera vers la page info.html. Pour faire disparaître ce cadre, utilisez <IMG SRC="image.gif" BORDER=0>.


Les frames

Vous avez sans doute déjà rencontré des pages divisées en plusieurs parties (ou cadres)... Cela s'appelle des frames.
Ce site est un exemple de l'utilisation de frames : un cadre pour le menu (à gauche), un cadre pour le titre (en haut), et un cadre pour ce texte...

Une frame partage donc la fenêtre du navigateur en deux parties, et y affiche des autres pages html. Les frames peuvent s'imbriquer, et l'on peut fabriquer des pages à trois volets ou plus.

La balise utilisée pour créer une frame est la balise <FrameSet>. Le script est le suivant:

<FrameSet Rows="50%,*" Border="1" FrameBorder="Yes" FrameSpacing="0">
<Frame Src="http://interdico.free.fr/menu.html" Scrolling="Auto">
<Frame Src="http://interdico.free.fr/accueil.html" Scrolling="Auto">
</FrameSet>

Le paramètre Rows de la balise <FrameSet> sert à définir la place qu'occupe la première frame. Elle peut être définie en pourcentage ou en chiffre constant. On peut donc écrire:
Rows="30%,*" ou Rows="100,*" (taille en pixels). Il ne faut pas oublier l'astérisque !

Attention! Il faut écrire Rows lorsque l'on désire des frames horizontales ! Si l'on veut des frames verticales, il faut simplement remplacer le paramètre Rows par Cols. (on écrira Cols="30%,*")

Le paramètre Scrolling des balises <Frame> permet de spécifier si l'on veut ou non de barres de défilement.

Enfin, FrameBorder permet d'entourer les frames par une bordure ou non.

Si l'on veut découper une fenêtre en plus de deux frames, il faut procéder comme suit :

<frameset rows="31%,*" framespacing="0" frameborder="no">

<frame src="Haut.html" name="haut">

<frameset cols="22%,*" framespacing="0" frameborder="no">

<frame src="Choix.html" name="choix" scrolling="no">

<frame src="Accueil.html" name="contenu">

</frameset>

</frameset>

Les listes

Des balises permettent de mettre en retrait du texte, ainsi que de le numéroter.

Il en existe trois types:

• <ul> : Met en retrait le texte jusqu'à la balise </ul>. Il est possible de les cumuler. On peut mettre un onglet devant le paragraphe avec la balise <li>.


Exemple de scripte : <ul><ul>
<li><p> Premier choix (avec la balise <li>) </p>
<li><p> Deuxième choix (avec la balise <li>) </p>
<p> Troisième choix (sans la balise <li>) </p>
<p> Quatrième choix (sans la balise <li>) </p>
</ul></ul>

Ce scripte donne:

Premier choix (avec la balise <li>)
Deuxième choix (avec la balise <li>)
Troisième choix (sans la balise <li>)

Quatrième choix (sans la balise <li>)

• <ol> : Met en retrait le texte jusqu'à la balise </ol>. On peut numéroter les paragraphes avec la balise <li>.

Exemple de scripte : <ol><ol>
<li><p> Premier choix (avec la balise <li>) </p>
<li><p> Deuxième choix (avec la balise <li>) </p>
<p> Troisième choix (sans la balise <li>) </p>
<p> Quatrième choix (sans la balise <li>) </p>
</ol></ol>

Ce scripte donne:

Premier choix (avec la balise <li>)
Deuxième choix (avec la balise <li>)
Troisième choix (sans la balise <li>)

Quatrième choix (sans la balise <li>)


Les commentaires

Il existe une commande pour mettre des commentaires dans le texte d'une page HTML, c'est à dire que ce texte ne sera pas affiché, mais est là comme commentaire, par exemple pour écrire le nom de l'auteur caché dans le document:
<!-- Fichier écrit par Vincnet -->

N'en abusez pas, car le scripte HTML est transmis tel-quel avec les commentaires aux navigateurs, et donc en mettre trop augmente inutilement la taille du fichier, et ralentit son accès.



Les tableaux

Les tableaux sont, il faut le reconnaître, des objets difficiles à créer directement en code html. Je vous conseille donc d'utiliser un éditeur wysiwyg pour les tableaux compliqués. Cependant si vous souhaitez quand même faire des tableaux "à mains nues", voici la syntaxe:

Un tableau est défini par des entêtes, des lignes et des cellules. On définit une table par la balise <TABLE> et se termine comme tout attribut par </TABLE>. On peut définir l'épaisseur du cadre du tableau avec le paramètre BORDER=valeur dans la balise du tableau ainsi que la largeur avec le paramètre WIDTH=valeur qui peut être exprimé en pourcentage (%).

On peut ajouter un titre au tableau à travers la balise <CAPTION>Titre du tableau</CAPTION>.

Le tableau se définit de haut en bas, ligne par ligne suivant un <TR>. Pour définir les noms de colonnes on utilise <TH>nom</TH>, et pour les noms de ligne <TH ALIGN=left>nom</TH>.

Les balises <TH> et <TD> peuvent prendre plus de place que celle attribuée initialement en utilisant les paramètres COLSPAN et ROWSPAN dans les balises, le premier accaparant le nombre de ligne demandé, et le second le nombre de colonnes.

Voici un exemple:

<TABLE BORDER>
<CAPTION> Test de table </CAPTION>
<TR><TH ROWSPAN=2><TH COLSPAN=2> Moyenne
<TH ROWSPAN=2> autre <BR>
catégorie <TH> Divers
<TR><TH> taille <TH> poids
<TR><TH ALIGN=LEFT> pales <TD>
1.9 <TD> 0.003
<TR><TH ALIGN=LEFT ROWSPAN=2> hélices
<TD>N; 1.7 <TD> 0.002
</TABLE>

test de table moyenne autre catégorie divers
taille pales 1.9 0.03
poids hélices 1.7 0.002



Les paramètres d'alignement doivent être définis dans chaque case. Dans la balise <TABLE>, le paramètre COLSPEC permet de féfinir des attributs pour les colonnes, par exemple COLSPEC="L20 C8 R13" définit que la première colonne est alignée à gauche (Left) et de taille 20, la deuxième centée (Center) et de 8, et la troisième alignée à droite de 13.

Les formulaires

L'inclusion de formulaires dans les documents HTML permettant aux utilisateurs de rentrer des informations dans les documents. Il s'agit d'objets comme des zones de texte, des cases à cocher, des listes déroulantes...

Ceci est un formulaire :

Veuillez entrer votre prénom :

Êtes-vous
un homme?
une femme ?

Choisissez votre nationalité :




Les balises utilisées dans les formulaires sont :

<FORM> ... </FORM> : Doit obligatoirement encadrer un formulaire dans un document.
<INPUT type="type">: La balise <Input> sert pour beaucoup d'objets, selon la valeur du paramètre type. Elle peut être une zone de texte (type="text"), un boutton pour déclencher une actions (type="button"), une case à cocher (type="radio" ou type="checkbox")...
<OPTION> : Génére une liste déroulante.
<TEXTAREA ...> ... </TEXTAREA> : une zone de texte sur plusieurs lignes.

On donne aux objets des noms, permettant de les identifier lorsque l'on veut récupérer les informations qu'ils contiennent. Le nom est donné dans le paramètre Name.
Par exemple: <Input type="text" Name="zone_de_texte">
Ici, la zone de texte sera identifiée par le nom zone_de_texte (pas d'espace dans un nom...). On pourra en récupérer le contenu en JavaScript dans la propriété zone_de_texte.value, par exemple... (voir à ce sujet la rubrique sur le JavaScript)

Voici un exemple de scripte pour créer un formulaire: (les textes entre <!- et -> sont des commentaires.)

<Html>
<Head><Title>Exemple de formulaire</Title></Head> <!- donne un titre à la page ->

<Body>

<Form Name="formulaire" action="/cgi-bin/cgi.pl">

<P>Entrez votre adresse d'mèl : <Input type="texte" name="mèl" value="Pas de mèl"></P>

<P>Voulez-vous vous abonner à notre groupe? <Input type="radio" name="pub" selected> Oui <Input type="radio" name="pub"> Non </P>

<P>Cliquez ici pour envoyer le formulaire : <Input type="submit" value="Envoyer">
<br>Pour tout effacer : <Input type="reset" value="Effacer"> </P>

</Form>
</Body>
</Html>

Dans l'exemple, RESET réinitialise les formulaires, et SUBMIT transmet les informations au fichier /cgi-bin/cgi.pl spécifié dasn le paramètre action de la balise <form>. Mais pour fabriquer de tels fichiers capables de traiter les données, il faudra utiliser les CGI.
Si vous spécifiez dans le paramètre action la valeur "mailto:vincnet@netcourrier.com", le formulaire sera envoyé à l'adresse vincnet@netcourrier.com.
Il existe un grand nombre de méthodes pour entrer du texte, l'un de ceux-là est de permettre d'entrer du texte sur plusieurs lignes, comme avec le Textarea.

Le scripte ci-dessus donnera cela:



Entrez votre adresse de mèl :

Voulez-vous vous abonner à notre groupe?
oui / non


Cliquez ici pour envoyer le formulaire : Cliquez ici
Pour tout effacer :

Pour en apprendre plus, vous pouvez analyser les pages web que vous consultez sur le web et qui recélent des éléments qui vous intéressent...



Les CGI

C'est ce qui permet par exemple d'exécuter des commandes coté serveur et de récupérer le résultat pour le transmettre au butineur du client. Le CGI est exécuté sur le serveur, pas sur l'ordinateur de l'internaute. C'est le CGI qui enregistre les résultats des formulaires, qui les trie, qui affiche des compteurs, etc...

Les deux CGI les plus utilisés sont le Perl et le PHP. Le C n'est presque plus utilisé. Le PHP et le Perl se ressemblent : le PHP est plus simple, mais le Perl est plus puissant. Pour vous initier à perl, allez dans la rubrique perl de ce site.

La plupart des hébergeurs autorisent les scriptes PHP; ils sont plus rares à autoriser les scriptes Perl, pour des problèmes de sécurité.

Les compteurs de pages sont trés appréciés par les connectés et les propriétaires de la pages. Ils permettent de savoir le succés de celle-ci. Si le serveur n'en dispose pas, certains autres permettent gratuitement d'en avoir. Ils sont utilisables simplement comme des images et sont incrémentés (augmentés de 1) à chaque rechargement de la page.


Les balises meta

Pour faciliter le référencement par des moteurs de recherche , il est préférable d'insérer des balises meta dans l'entête de la page:

<HTML>
<HEAD>
<TITLE> Mon titre </TITLE>
<META NAME="GENERATOR" CONTENT="mon
&eNacute;diteur de texte [Par exemple Bloc-Note]">
<META NAME="Author" CONTENT="mon
nom">
<META NAME="Description" CONTENT="DescNription du site: mon site parle de
la sexualité des castors lapons vers l'an mille en Chine">
<META NAME="Keywords" CONTENT="mots
clNef associés séparés par des espaces">
</HEAD>
Bla bla bla...
</HTML>



Voilà maintenant vous n'avez plus qu'a vous exercez afin de maîtrisez ce langage !



Une fois ce langage acquis, il vous suffit de rendre votre site intéractif et pour cela je vous conseille le Langage JavaScript.
Vous pouvez aussi rechercher les scripts à insérer dans votre pages .html en cliquant sur ce lien :
Editeur JavaScript

[ Ajouter un commentaire ] [ Aucun commentaire ]

# Posté le vendredi 06 juin 2008 07:54

Modifié le vendredi 06 juin 2008 13:11

Cerner une cible

Cerner une cible
Cerner une cible :

Pour combattre un ennemi il faut le connaître. C'est pareil pour un hack, il va falloir obtenir un certain nombre de renseignements (le plus possible d'ailleurs) sur la machine que l'ont veut hacker, on va l'appeler la machine "cible". Pour celà on dispose de pas mal d'outils. Tous ne s'appliqueront pas à toutes les machines car leur niveau de sécurité diffère et certains se révéleront inefficaces. J'ai parlé de pas mal de ces outils dans différents articles de ce site donc je ne reparlerais pas de ceux la, je les citerais juste et ferais un lien vers l'article correspondant. Mais ne vous inquiétez pas je donnerais suffisamment d'infos pour que vous compreniez et que vous puissiez commencer à expérimenter un peu.

Là on ne parle pas de hack foireux à la BO (Back Orifice) ou avec quelques autres taupes et troyens. Là c'est du hack de serveurs qu'il sagit et plus du pc de grand mère sous win9X. Les risques commencent véritablement pour vous ici mais comme j'imagine que vous en êtes conscience, on va commencer.

Dans cet article je ne donne pas d'adresse précise de serveur comme j'ai fais pour le hack par ftp car ça redonnerait encore lieu à des abus. Donc le serveur sera celui de la boite "assassin" et son adresse DNS (domain name service) sera http://www.assassin.com/. Toutes les manip que j'expliquerais dans cet article seront réalisées sous windows mais se font très bien (j'ai entendu mieux dans la salle?) sous linux seulement les commandes diffèrent et je ne les expliquerais pas ici. Je vais revenir rapidement sur les différences entre les adresses ip, DNS et URL. Tous les serveurs ont une adresse ip (et ouais car la définition d'un serveur c'est un ordinateur connecté à un réseau et à d'autres ordinateurs qui peuvent consulter celui la) sauf quand ils ne sont pas connectés. Pour la définition précise d'une adresse ip je vous reporte à l'article que j'ai écrit dessus. Une adresse DNS est une adresse du type: http: ... . J'écrit pas www car ça dépend des adresses DNS il y en a qui n'ont pas DNS mais qui commencent par autre chose genre http://perso.infonie.fr ou par ww2 ou www3 ... C'est vrai que c'est plus facile à retenir www.assassin.com que 167.34.217.65. Pour obtenir une adresse DNS, la société à qui appartient le serveur doit débourser une somme comprise entre 500 et 1000 Frs à un organisme chargé d'attribuer ces adresses et qui fait gaffe à ce que deux serveurs différents n'en utilisent pas deux identiques. Enfin une adresse URL c'est les deux choses citées au dessus. On parle d'adresse URL en pour spécifier à quelqu'un que c'est bien de l'adresse d'un serveur par le port 80 (port utilisé pour le www, les pages web quoi) dont on parle et non d'une adresse E mail. Alors quand on demande l'url d'un site généralement on vous donne l'adresse DNS mais on pourrait très bien vous donner son ip ca ne changerait rien pour vous. Car bien sur si vous tapez l'ip d'un serveur dans netscape ou son adresse DNS vous arriverez aux mêmes pages. Sous réserve bien sûr que ce serveur ait bien un site web.

Maintenant que ceci est éclairci on va en revenir au coeur de notre affaire. Avec une adresse DNS on ne peut pas faire grand chose, il va nous falloir l'adresse ip du serveur et pour ça on va faire un ping. Pour celà on tape sous dos:
ping -a www.assassin.com et ça va vous donner son ip :-) ainsi que la qualité de la connection et la rapidité de la liaison mais ça on s'en fout un peu il faut dire.

Maintenant on va voir combien il y a de machines entre nous et le serveur assassin. Pour celà plusieurs méthodes. Ou vous utilisez un prog genre visual route (payant aux dernières nouvelles) ou neotrace ou d'autres encore ou alors on utilise une commande dos qui s'appelle tracert. Les progs je n'explique pas comment ils marchent, c'est super simple et ils ont l'avantage d'être graphique mais pour ceux qui préfèrent les lignes de texte, c'est l'option dos qu'il vous faut. D'ailleurs je l'explique rapidement et même si vous êtes un fan des programmes j'imagine que vous n'avez rien contre un peu de culture générale:
Donc sous dos vous allez taper: tracert url_du_serveur
exemple: tracert 167.34.217.65 ou tracert www.assassin.com (les deux marchent)
Si il y a marqué "host unreachable" c'est que vous avez mal recopié l'ip trouvée précédemment ou l'url ou que le serveur n'est plus connecté.
Toutes les machines se trouvant entre vous et le serveur ciblé se marqueront avec leur ip. Notez ça dans un coin ou faites une capture d'écran (Impr écran). La dernière ip marquée sera celle de la cible. Et si celle juste avant celle de la cible a les trois mêmes numéros que celle de votre cible c'est que la cible à laquelle vous tentez de vous attaquer est plus que probablement secure. Ca va être drôle. En langage de néophyte c'est qu'il y a une machine disposé sur le LAN (Un LAN est la ligne entre le réseau interne et le réseau externe) entre la machine cible et Internet et qui assure sa protection. C'est a dire que l'administrateur system a investi dans une machine (il peut y en avoir même plusieurs) qui ne sert qu'à la sécurité et a rien d'autre. C'est soit un firewall soit un routeur filtrant soit un bastion soit un bunker soit un garde-barrière soit une proxy ou je ne sais quelle autre saloperie de ce genre :-). Si une telle machine placée sur le LAN n'existe pas quand vous avez fait le tracert ce n'est pas pour cela qu'une protection du même type n'est pas incluse dans le serveur assassin lui même (c'est presque toujours le cas d'ailleurs) mais généralement c'est un indice assez fiable du niveau de sécurité d'un réseau.

Si vous avez lu l'article sur les ip vous savez que les trois premiers nombre d'une ip correspondent à un domaine et que le dernier nombre correspond a une machine de ce réseau. Dans cet exemple le domain est 167.34.217 puisque l'ip du serveur assassin est 167.34.217.65 et la machine est sur le "poste" 65. Dans la très grande majorité des cas (que dis je, la totalité) il y a plusieurs machines dans un même domaine et elle doit avoir un numéro de "poste" situé entre 0 et 255. Bien sûr il y a des domaines qui ont plus de 256 serveurs reliés entre eux et dans ce cas ils ont soit plusieurs domaines reliés à internet (c'est le cas d'aol qui en a des centaines qui commencent par 162, 171, 172,...) soit ont des sous réseaux à l'intérieur des domaines qui ne sont pas reliés directement à internet et qui utilisent des ip peut être déjà utilisées pas d'autre serveurs sur internet mais comme elles n'ont pas de connection directe à internet aucun problème ne se pose. Et si elles veulent se connecter quand même à internet elle s'y connectent à travers un proxy et prennent donc l'ip de ce proxy pour obtenir les réponses provenant de l'internet ou du réseau externe. Un proxy est un type de firewall qui transmet des requêtes entre un réseau interne et un réseau externe mais ne donne pas de contact direct entre deux machines (bah ouais sécurité oblige) et s'il y avait contact directe, la machine du sous réseau créerait un conflit d'ip car elle récupérait son ip de départ. Compliqué tout ça? Ce sera expliqué en détail dans l'article sur les firewalls. Ca vous rappelle pas quelque chose le fait de passer par un proxy qui fait changer l'ip? Et oui le spoofing! Arf la vie est belle quand même mais là c'est pas nous qui l'utilisons. Donc chassez ça de votre pensée sinon vous allez vous embrouiller pour la suite. Pour l'instant votre ip n'est pas spooffé mais ça viendra. :-)


Donc je disais que le serveur assassin devait être relié à d'autre machines de son sous réseau et ben pour le savoir on a plusieurs méthodes:
- La première c'est de prendre un programme qui s'appelle un scanner d'ip et de rentrer dedans l'ip du serveur assassin. Ca cherchera tous les serveurs ayant des ip contenus entre 167.34.217.0 et 167.34.217.255 puisque l'ip de la cible est 167.34.217.65. Le programme vous sortira plein (espérons) d'ip que vous noterez consciencieusement.
- La deuxième est d'utiliser une mine d'informations existant sur une grande partie des serveurs du monde reliés à internet et disponible à tous. Tous les serveurs ayant une adresse DNS (et les autres aussi peut être. Là je sais pas) doivent recenser un certain nombre d'infos comme le nombre de machines ayant accès à leur serveur, la taille (en nombre d'ip ou de machine) de leur domaine... Cette mine d'info est disponible par telnet ce qui veut dire qu'il va falloir lancer telnet. Il existe plusieurs serveurs qui fournissent ce genre d'infos et notamment Internic (whois.internic.net) et Netcraft (www.netcraft.com) mais on y reviendra en détail dans un autre article car les possibilités de cette recherche sont assez allucinantes. Sachez pour l'instant juste que ça existe.
- La troisième est de faire un expn sur un snmp d'une des bécanes du réseau. Et si celà vous renvoit une adresse mail sur un serveur différent mais d'un même domaine vous serez fixé. Je rappelle que le smtp c'est le port 25. Vous vous y connectez par win ou par linux et vous tapez :HELO nom du serveur puis une fois que celui ci vous aura salué à son tour vous ferez EXPN ROOT. Bien sûr il faut que le login ROOT existe car bien sûr le root n'a pas toujours le login root et même loin de là. Il se peut même que le login root n'est qu'un statut d'user. Essayez donc toujours EXPN ROOT et voyez ce que celà donne si ca met "login inconnu" essayez les autres login bâteau utilisés par les root tels que sysop, admin,... et puis si ça ne donne rien et que le serveur que vous attaquez a une page web vous pourrez essayer de chercher des infos sur les différents email sur ce site. Bien sûr le expn ne marche pas que pour le root mais pour n'importe quel user.
- La quatrième est de faire un nslookup sur un serveur mais cela ne marche que sous Linux. pour cela faites: nslookup www.assassin.com (en mode console bien sûr)
- Le cinquième est de faire un dig. Toujours en mode console sous Linux: dig www.assassin.com.
- Le dernier moyen c'est d'utiliser certains ports spécifiques comme le finger (79) et le whois (43), qui, quand il ne sont pas fermés ou inutilisables par une machine étrangère sont très instructifs pour savoir quelles sont les machines et les users connectés à cette machine ainsi que leur ip et leurs droits. Pour savoir quels ports sont ouverts (comme le ftp, le telnet, le finger...) on utilise un scanner de ports. Bien sûr pour qu'un serveur puisse savoir quelles personnes sont autorisées à entrer, il a des critères qu'il vérifie comme le login, le pass, l'ip, les ports sources, le protocole des paquets,... Avec les infos que l'on vient de récolter on va pouvoir utiliser des méthodes pour falsifier ces critères et contourner les sécurités. Mais ça c'est pour un autre article...


Maintenant on va essayer de voir sur quel OS tourne un serveur. Ca nous servira énormement pour savoir quel méthode de hack utiliser. Pour celà il y a aussi plusieur méthodes malheureusement la plupart de celle que je connais passent par linux. On ira pas jusqu'à dire Linux ou mourrir mais si on est pas un expert Windows (un véritable expert), il y a plein de choses que vous ne pourrez pas exploiter sans programme spécifique et les programme (je parle ici de programme de hackers genre Satan, nmap,...) sous windows se font très rares. On est d'ailleurs obligé de faire soit même la conversion linux win ou programmer soi même sa propre application pour que win commence à ressembler à quelque chose d'exploitable. Les moyens de trouver sur quel OS tourne un serveur sont nombreux. Voici plusieurs méthodes:
- La première c'est le ftp. On va faire comme pour le hack par ftp et des la connection on va voir apparaître une ligne que le serveur nous enverra avec le type d'OS qu'il utilise. Ceci n'est pas une science exacte car pas mal de serveur enlèvent cette ligne ou la remplace par une fausse ou par une bande de pub (secure ou commercial :-( ). Alors si vous êtes sous windows ca s'arrête là mais si vous êtes sous linux, il vous suffit de faire SYST pour avoir un complément d'informations sur l'OS du serveur.
- la deuxième se passe sous linux, il sagit de faire:

playground~ telnet hpux.u-aizu.ac.jp
Trying 163.143.103.12...
Connected to hpux.u-aizu.ac.jp.
escape character is '^]'.
HP-UX hpux B.10.01 A 9000/715 (ttyp2)
login:
(tiré du mag américain Phrack)
La vous voyez bien la version de l'OS du serveur (5ème ligne pour ceux qui n'auraient pas vu).
- La troisième méthode se passe également sous linux:

playground echo 'GET / HTTP/1.0\n' | nc hotbot.com 80 | egrep '^Server:'
Server: Microsoft-IIS/4.0
playground
(toujours trié du même zine)

- Enfin la dernière et la meilleure passe encore par linux car il s'agit d'utiliser les paquets TCP renvoyés par un serveur pour savoir de quel serveur il sagit. En effet le plupars des serveurs ont des gestions de couches de paquets tcp propres et donc differentes entre chaque serveur ce qui fait qu'en connaissant bien toutes les versions de tous les OS mondiaux, et en integrant leur particularité pour les renvois de paquets de protocole tcp, udp et même des fois icmp, le programme pourra presque avec certitude dire quel est l'OS qui tourne sur un serveur. En effet en envoyant un paquet quel que soit le protocole (tcp ou udp. Icmp étant à part car il ne sert que pour les paquets erreur ou redirigés avec retour car entête incorrect) le serveur altere un peu l'entête du paquet tcp sans pour autant toucher aux données utilles pour les users normaux. Cette altération va être mémorisée et analysée. Chaque OS l'altérant différement, son type et sa version seront imédiatement détectés. Ce programme s'appelle nmap et est disponible à l'adresse suivante: http://www.insecure.org/nmap.

Quelque chose qui peut peut être aussi vous servir c'est de mettre un "=" derrière un cgi-bin si le serveur possède une faille ça vous donnera la version de l'OS, du kernel, des scripts ... mais bon généralement on a besoin de ce genre d'infos avant d'être logué sur la bécane et ces infos vous ne les optiendrez que si vous avez un accès en lecture via http par les cgi-bin. Par exemple si un serveur nommé assassion a des scripts cgi php buggés il vous suffira de faire ça: www.assassin.com/cgi-bin/php.cgi?/=.

Bien sûr toutes les étapes précédentes ne sont pas indispensables, c'est rare quand toutes ces étapes sont obligatoires mais quand on n'arrive pas à rentrer dans un serveur directement on essaye de rentrer par un moins sécurisé auquel il fait confiance et c'est à ça que sert de savoir avec lesquels il communique

Origine de :http://fun-hack.blogspot.com

[ Ajouter un commentaire ] [ Aucun commentaire ]

# Posté le vendredi 06 juin 2008 08:07

Modifié le vendredi 06 juin 2008 08:44

BOOSTER

iscrit toi !!!!!!! pr booster ton blog !!!!!!!!!!!!!! et n'oublie pas de noter le mien !!!!!!!!!
clique ici
[ Ajouter un commentaire ] [ Aucun commentaire ]

# Posté le vendredi 20 juin 2008 13:04

Modifié le dimanche 06 juillet 2008 06:09