logo Homepage
+  NewbieContest
Username:
Password:
  Voir les messages
Pages: [1] 2 3 ... 5
1  Programmation / Langages Web / Re : [PHP] Les limites? le: 08 Septembre 2009 à 15:45:06
Le PHP est souvent considéré comme un "sous"-langage, la faute à sa réputation d'être un langage web.
Ceci dit, il est bon de noter que si on le rencontre plus facilement sur le web, c'est un langage comme un autre, capable de répondre aux mêmes exigences que n'importe quel autre langage.

En plus de cela, il est extrêmement simple et flexible, sa syntaxe et ses fonctionnalités le rendent aisément accessible aux développeurs C comme aux développeurs C++, et même aux simples adeptes du script Bash.
D'ailleurs, des scripts PHP peuvent facilement remplacer des scripts Bash : plus facile à mettre en place que du C, mais tout aussi fonctionnel, il en devient une alternative très alléchante, parfois tant à l'un qu'à l'autre.
2  Programmation / Langages Web / Re : Intégration JS dans code PHP ou variante ?? le: 08 Septembre 2009 à 15:32:41
L'AJAX ne serait-il pas plutôt du Javascript executant du PHP ?
J'ai du mal à imaginer que ce qui est demandé comme possible, tandis que du Javascript executant du PHP, en soit ça n'aurait pas grand chose de si extraordinaire après quelques pirouettes.
3  Programmation / Langages Web / Re : [HTML/Javascript] Lancer une application locale le: 01 Septembre 2009 à 14:07:50
La solution du bat devient peu envisageable finalement.
Le bat exexcuté ouvre une console et apparamment il est impossible de faire en sorte que le script s'execute sans que la console soit visible.
Ce n'est pas génant pour moi mais ça troublera les utilisateurs de voir cette fenêtre toute noire apparaître, ils vont croire qu'ils ont fait une bétise. Cherchant sur google j'ai vu que le problème avait déjà perturbé pas mal de monde, mais la seule solution qui avait été envisagé est de non pas lancer l'executable en l'appelant directement mais en l'appelant par l'intérmediaire de la commande Start. Commande qui malheureusement n'a aucun autre effet qeu de lancer un nouveau terminal sans executer le binaire spécifié en argument.

C'est quelque chose qui a l'air très simple vu de loin, mais c'est quand même vachement compliqué.

Regretté execve...
4  Programmation / Langages Web / Re : Re : [HTML/Javascript] Lancer une application locale le: 25 Août 2009 à 10:57:40
Normalement, en tout cas, c'est mon cas, quand je suis sur localhost (ou 127.0.0.1) et que j'exécute ce script (pas sécurisé du tout, mais c'est juste à titre informatif) :

Code:
<?php

if(isset(
$_GET["dir"]))
{
$dir opendir($_GET["dir"]);
while($file readdir($dir)) echo "$file<br>";
}

?>

En passant par http://localhost/page.php?dir=/, j'obtiens la liste des fichiers et dossiers à la racine du lecteur.
Si ton répertoire www/ est sur le lecteur C:, en passant par /, tu peux accéder à tous les fichiers de manière relative, et donc faire :

http://localhost/page.php?dir=/Windows/notepad.exe , à moins que le script ActiveX ne parcoure pas l'arborescence des fichiers à la manière de PHP.
Mais dans ce cas, est-ce que je ne parcours pas l'arborescence du serveur et non celui du client ?
Sachant que du point de vue des utilisateurs de ce futur intranet, le serveur sera distant, ça poserait problème.

Je me pose la question ? Quelles failles ce script poserait-il vraiment ?
Après tout, le but est d'executer un programme sur un poste client depuis un poste client : le serveur n'est-il donc pas intouchable (rien ne se passe sur le serveur) ?

Une faille ne pourrait venir que d'un webmaster malveillant uploadant un executable malveillant sur le PC client et le faisant ensuite s'executer, non ?

Bref à bien y réfléchir, l'idée du bat me convient mieux. On pourrait même alors se passer de Javascript, un simple lien vers le bat, on demande de l'executer plutôt que de le télécharger et tout irait bien ?
5  Programmation / Langages Web / Re : [HTML/Javascript] Lancer une application locale le: 21 Août 2009 à 10:34:40
J'ai testé avec cette page là :
Citation
<html>
<head>
  <title>Test</title>
  <script type="Text/Javascript">
    function lancerexe(exe)
    {
      var w = new ActiveXObject("WScript.Shell");

      try
      {
        w.run(exe, 1, true);
      }
      catch(erreur) {}
    }
  </script>
</head>
<body>
<a href="#" onclick="lancerexe('C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE')" >Machin</a>
</body>
</html>
Une fois l'activité ActiveX autorisé, rien ne se passe... pas même de message d'erreur !
Décidemment ça me dépasse ! On peut pas faire confiance à du ActiveX !

EDIT: Voilà, j'ai repéré ce qui bloque.
Ce code marche. Mais voici les cas ou il ne fonctionne pas (et manque de bol, les deux cas bloquants représentent exactement la situation que je dois résoudre).

Ce code n'execute que des chemins relatifs et ne supporte pas les chemins absolus : on tape notepad.exe pour executer C:/Windows/notepad.exe.
Ce code n'execute pas l'application concernée si le lien ne se trouve pas sur une page ouverte directement depuis le PC sans passer par un serveur (pour la même page, le script marche si j'ouvre C:/www/index.htm mais ne marche pas si je l'ouvre en faisant http://127.0.0.1/index.htm).

N'y a-t-il donc aucun moyen de passer outre ?
6  Programmation / Langages Web / [HTML/Javascript] Lancer une application locale le: 21 Août 2009 à 08:41:35
Bonjour !

Je suis en train de développer un Intranet et il m'a été demandé de placer des lanceurs pour les applications utilisés en interne.
J'ai donc fait quelques recherche sur Google et j'ai trouvé une solution qui ne marche que sous Windows avec IE. Fort heureusement (enfin c'est vite dit ça aussi) c'est ce couple là qui est utilisé ici. C'était un petit Javascript avec de l'ActiveX...

Seulement, la solution n'a pas fonctionné...
Aussi je me demande, n'y a-t-il pas un moyen plus standard de lancer des application sans avoir à demander l'ouverture d'un fichier ? (parce que Google Earth doit être disponible par exemple, seulement Google Earth ça n'ouvre pas des fichiers).
7  Challenges / Aide Logique / Re : Logique - Caramels, sucettes et berlingots le: 24 Mars 2009 à 22:19:48
Moi j'ai la réponse.

Je trouve ça assez étonnant parce que c'est pas du tout cohérent.
Quand on pose un problème, on se débrouille pour que ce soit un cas pratique qu'on puisse rencontrer dans la réalité...

Au risque d'en dire trop, si j'achète juste un type de bonbon en particulier, je sors avec plus d'argent que j'en avais en rentrant... c'est n'importe quoi o_o !
8  Programmation / Langages compilés / Re : [C] Lire sur l'entrée standard le: 25 Février 2009 à 09:59:14
Les flêches directionnelles, la tabulation, contrôle, alt, les F1-F12, Echap...
J'ai jamais pu en tirer quoique ce soit avec un tableau de char.

Pour l'utilisateur final, ça ne revient pas à la même chose ?
9  Programmation / Langages compilés / Re : [C] Lire sur l'entrée standard le: 24 Février 2009 à 19:26:44
Shei? encoding disait un célèbre t-shirt !

Citation
La question est : pourquoi ?
Pourquoi pas ? Ca m'a l'air plus court et plus simple à gérer... je sais pas vraiment quelles sont les alternatives mais ça me fait plaisir de pas avoir à faire intérvenir une autre bibliothèque.
Et l'utilisation de read implique l'utilisation d'un tableau d'int pour stocker des char, pour les caractères qui ne peuvent pas rentrer dans un char.

Il y a des moyens plus simples et plus efficaces ?
10  Programmation / Langages compilés / Re : [C] Lire sur l'entrée standard le: 17 Février 2009 à 10:40:46
Citation
Tu as oublié de nous donner tes identifiants epitech... Je suppose que tu n'as pas le droit de copier le contenu de votre intranet ici, mais le côté "forum corporatiste" est un peu irritant.
Effectivement je pense pas qu'on ait le droit de filer le contenu de l'intranet epitech.
De plus je préférerais quand même le faire avec read... le problème c'est que j'ai fait pas mal de boulot comme ça et que comme je n'y arrivais pas ainsi, j'ai du trouver des compromis... et maintenant j'aimerais bien savoir pourquoi je n'y arrivais pas de cette façon.

Citation
Le problème, si je lis bien, vient de read, d'après ce que tu nous dis. Donc :

Man Read (ca marche aussi dans un shell pour la plupart des commandes C -> man read)
Citation
read() lit jusqu'à count octets depuis le descripteur de fichier fd dans le tampon pointé par buf.
Après relecture du main, j'ai testé un read(1, buffer, sizeof(int) * taille du buffer) et effectivement ça semble marcher beaucoup mieux.
C'est donc bien cela ?
11  Programmation / Langages compilés / [C] Lire sur l'entrée standard le: 16 Février 2009 à 18:20:02
Bonsoir !

J'ai un petit peu de mal à lire sur l'entrée standard quand on sort de ce que peut contenir un char.
Voici un exemple de code :

Citation
int buffer[2];
int n;

while (n = read(0, buffer, 2))
  printf("Touche => %d\n", buffer[0]);

Donnera pour la même touche des résultats différents, en fonction du moment ou cette boucle est placé dans le programme... ou par exemple s'y on y passe plusieurs fois : la première fois les valeurs ne seront pas les même que la deuxième fois (bon, pas toujours, mais souvent).

Le problème, c'est qu'à moins d'utiliser un tableau d'int, je ne peux pas reconnaître les touches telles que haut, bas, alt, ctrl...
Et ça m'embête pas mal, d'autant plus qu'il n'y a pas masses de documentations là-dessus sur Internet (on s'est penché sur le problème avec un camarade et nous sommes revenus bredouille).
Comment, en utilisant read(), pourrais-je alors reconnaître toutes les touches du clavier ?
12  Programmation / Langages compilés / Re : [C] Un même calcul avec des résultats différents à chaque fois ?! le: 13 Janvier 2009 à 17:19:27
Bah justement je suis sur un tout autre programme et je le débug grâces aux bienfaits du Wall (et compagnie).

Et là, je me suis retrouvé dans une situation ambigüe.
Que faire quand les warnings et errors ne veulent plus rien dire ?

Quand j'ai un warning qui ne correspond à rien. Par exemple, qui prétend qu'il y a une erreur de syntaxe alors qu'il n'y en a pas.
En fait, une fois que mon fichier header est retiré, le compilateur ne voit plus ces fausses erreurs de syntaxe... seulement j'ai besoin de ce header.

J'en ai d'abord déduit que l'erreur de syntaxe se trouvait dans mon header. Mais ce n'est pas le cas. Il n'y a aucune erreur de syntaxe nulle part.

Je tombe par exemple sur des erreurs comme ça :
Citation
gere_list.c:66: warning: ISO C forbids nested functions
gere_list.c:66: error: expected '=', ',', ';', 'asm' or '__attribute__' before '->' token
gere_list.c:66: error: expected expression before '->' token
Et des erreurs du genre, même si dans le header et dans le fichier en question la suite de caractère '->' n'apparait jamais.
Naturellement, si je déplace la fonction qui débute en ligne 66 ailleurs, il trouve un autre bouc émissaire, une autre fonction même dans un autre fichier.

La solution que j'ai trouvé, c'est de déplacer certains headers term.h, termios.h, sys/ioctl.h et de les mettre uniquement dans le fichier qui en avait besoin, plutôt que dans le header général.
Une fois que ceci est fait, j'ai une compilation sans erreurs ni warnings.

Et maintenant que j'y pense, ce n'est pas la première fois que j'ai ce genre de saletés qui apparaissent quand j'inclus ces fichiers.
Vous avez une idée de à quoi sont dû ces warnings ? Qu'est-ce qui peut biaiser le compilateur à ce point ?
13  Programmation / Langages compilés / Re : [C] Un même calcul avec des résultats différents à chaque fois ?! le: 12 Janvier 2009 à 15:44:14
Aaah j'ai rien dit oui >< !
J'ai pas l'habitude de compiler sans les flags...
14  Programmation / Langages compilés / [C] Un même calcul avec des résultats différents à chaque fois ?! le: 11 Janvier 2009 à 23:49:26
Voilà, j'essaye de débugger un programme et je ne comprend pas du tout ce qui ne va pas. Voyez plutôt :

Citation
int   main()
{
  int   last_x;
  int   cur;
  int   res;

  printf("Entrez l'intervalle sous la forme a b ;\n");
  scanf("%d %d", &first_x, &last_x);
  cur = first_x;
  printf("Intervalle => [%d:%d]\n", cur, last_x);
  while (cur <= last_x)
  {
    res = sin(cur) - 1 + cur;
    printf("Value 1 : %d, Value 2 : %d, Value 3 : %d\n", res, sin(cur) - 1 + cur, sin(cur) - 1 + cur);
    if (sin(cur) - 1 + cur == 0)
      printf("L'équation f(x) = 0 se vérifie pour x = %d\n", cur);
    cur++;
  }
  return (0);
}

Voilà ce code que j'ai produit pour essayer d'expliquer un bug. Malheureusement, je n'y comprend rien.
Pourquoi à chaque valeur de cur, Value 1, Value 2 et Value 3, qui sont tous censé valloir => sin(cur) - 1 + cur et donc avoir des valeurs identiques... ont trois valeurs différentes !
Par exemple, pour l'intervalle [-5:5] :
Citation
Value 1 : -5, Value 2 : 151, Value 3 : 148
Value 1 : -4, Value 2 : 367, Value 3 : 364
Value 1 : -4, Value 2 : 74, Value 3 : 0
Value 1 : -3, Value 2 : 223, Value 3 : 220
Value 1 : -2, Value 2 : 295, Value 3 : 292
Value 1 : -1, Value 2 : 295, Value 3 : 292
Value 1 : 0, Value 2 : 295, Value 3 : 292
Value 1 : 1, Value 2 : 223, Value 3 : 220
Value 1 : 2, Value 2 : 74, Value 3 : 1
Value 1 : 2, Value 2 : 367, Value 3 : 364
Value 1 : 3, Value 2 : 151, Value 3 : 148
15  Général / Sondage pour le site / Re : Sondage : Windows, UNIX ou autres le: 12 Décembre 2008 à 13:19:46
Un bon p'tit up d'une année et des poussières ¡

Citation
Donc la question est : Utilisez vous plutôt un système Windows, un système UNIX (linux ou autres) ou autres choses (macOSX).
C'est curieux que personne n'ait relevé cela, je suis donc probablement en train de mettre ma vie en danger mais...
MacOS X n'est-il pas lui aussi un système Unix-like, au même titre que Linux, *BSD et compagnie ?
Parce que si c'est le cas, il faudrait songer à foutre au feu l'infâme créateur de ce topic.

EDIT : bon, préparez le bûcher... de toute évidence, MacOS X n'est pas à part, c'est en tout cas ce que viens de me dire mon cours sur de programmation unix sur les processus/signaux.

Bah pour me part puisqu'on me pose la question, j'utilise :
=> Mandriva 2009 à la maison (KDE4 est trrrès instable mais... c'est si beau)
=> PCLinuxOS, à la maison aussi, mais je sens qu'il va pas tarder à gerter (ptet laisser sa place à du KateOS)...
=> Ubuntu 8.04 encore à la maison, mais va falloir que je trouve une nouvelle alim 20 broches pour le réssuciter.
=> Windows Vista mais j'ai honte en double-boot.
=> Windows LSD 3.7 en double-boot aussi...
=> FreeBSD à l'école (essentiemment).
=> Debian Linux et Solaris à l'école (juste pour qu'on puisse faire de l'inter-opérable).

EDIT : Oouh je sens venir un troll à plein nez là...
Citation
Au final ce qui est vraiment important ce n'est pas le choix de l'OS, c'est le fait de maitriser l'OS qu'on aime...
C'est faux, c'est FAUX !
Et si utiliser un OS permettait de soutenir le nazisme, le choix de cet OS serait toujours aussi peu important ?
De la même façon, utiliser Windows c'est apporter une aide précieuse à Microsoft !
Pages: [1] 2 3 ... 5