Bienvenue sur les nouveaux forums Filmotech.
Les anciens forums ont été archivés et sont disponibles ici (lecture seule)
Pour utiliser ces nouveaux forums, vous devez créer un nouveau compte.

Pub
L'option Publicatio...
 
Notifications
Retirer tout

L'option Publication nécessiterait plus de précisions

24 Posts
3 Utilisateurs
0 Reactions
450 Vu
0
Début du sujet

Bonjour
Je viens d'installer Filmotech et je ne comprends pas
De quelle façon les fichiers sont ils transférés ?
Par FTP ? Si oui, il faut pouvoir renseigner un identifiant + mot de passe

Utilisant un serveur web en local (Wamp Server) comment accéder à mon serveur ?
Merci d'avance pour votre réponse.

12 Réponses
0

Bonjour,

Pour la publication : créer les fichiers (site et configuration) depuis l'assistant Filmotech et sauvegarder le dossier. L'adresse à indiquer est celle du serveur/dossier. Par exemple https://www.monhebergeur.fr/mondossierfilmotech

Avec un client FTP, déposer les fichiers sur le serveur. Revenir dans Filmotech et démarrer la publication.

Filmotech 07/02/2024 10:48 pm

Petite précision, s'il s'agit d'un serveur local, il suffit de déplacer le dossier dans le dossier principal du serveur.

0
Début du sujet

Merci pour votre réponse.
J'avais bien compris le principe.
Toutefois, l'option "publication" ne crée que les fichiers et n'effectue aucun export, ni de la base de données, ni des affiches.
La seule solution que j'ai trouvé, c'est
1 - faire manuellement l'export des affiches
2 - dupliquer la base de données
3 - la renommer avec le nom choisi dans les options de publication
4 - utiliser un utilitaire pour rentrer dans la BDD SQLite
5 - modifier le nom de la table des films avec le nom choisi dans les options de publication
6 - transférer manuellement via FTP les fichiers généré, les affiches et la BDD modifiée sur le site internet.

Bref, je pensais que ces opérations se faisaient toute seules.

Ce message a été modifié Il y a 4 mois parparaglandeur
0

Bonjour,

Je ne sais pas comment tu as procédé, mais tout ce que tu décrit là est fait par la publication. Il faut juste prendre à donner les droits sur le dossier que tu as déplacé sur le serveur pour que le script PHP de publication puisse s'exécuter.

JackRiki 30/04/2024 4:38 pm

@filmotech
Hello,

Tout comme "paraglandeur", j'essaye sans succès de faire la publication avec Filmotech.
Je part de loin car j'ai monté un serveur web a partir d'une nouvelle installation de Ubuntu. J'ai installé les modules requis et j'arrive a lancer une page web d'essais en php. J'ai installé mysql et créé une base de donnée.
Quand je lance la procédure de plubication sur mon PC, une bonne partie fonctionne. Les fichiers sont générés, mais mallheureusement, après avoir réussie la connection au serveur mysql, la publication se termine sur une erreur disant que l'indantifiant est incorrect, alors que je n'ai rien entré. J'ai validé que l'indantifiant est correct dans le fichier 'config.inc.php'.

Alors a ce point j'aimearais mieux comprendre ce qui est requis et comme "paraglandeur" exécuter manuellement la procédure, mais j'aurais besoin d'un peu de clarification S.V.P.

Point #1, ou dois-je copier le répertoire des affiches sur le serveur après l'exportation?
Point #2 & #3 c'est OK
Point #4 j'utilise Mysql Workbench 8 sur mon PC pour communiquer avec mysql serveur sur mon système Ubuntu, avez-vous d'autre recommendation?
Point #5, j'aimerais plus de détail car mes connaissances avec mysql sont très limité, voir presque nul.
Point #6, je n'utilise pas de FTP, je copie simplement les fichiers a travers mon réseau local vers le répertoire du site web sur le système Ubuntu.

Merci a l'avance du support offer par tous.

Bye
Jacques

Filmotech 30/04/2024 6:33 pm

L'identifiant que tu as dans ton fichier config.inc.php doit être le même que celui indiqué dans l'assistant de publication (c'est toi qui le renseigne).
Si tu utilises la publication tu n'as pas besoin d'exporter (ça n'aurai pas d'interêt). Sur ton serveur, tu créées une base et tu la donne en paramètre à Filmotech. Quand tu va publier, ça va créer la table dans la base et envoyer les données (y compris les affiches). Il faut que le serveur ait les droits de création dans le dossier de publication (sinon il ne peut pas créer les fichiers images).

JackRiki 30/04/2024 10:40 pm

@filmotech
Je n'entre rien dans le champ pour l'identifiant dans l'assistant de publication, et dans le config, j'ai ceci: public $API_ACCESS_CODE = ''; J'ai essayé en entrant un nom quelconque, ça change rien, j'ai toujours la même erreur.
Pour la base, j'ai crée une base de donnée nommée "dbfot", voici ce que mysql sur le système Ubuntu retourne:
+--------------------+
| Database |
+--------------------+
| dbfot |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
Donc la table est bien existante et dans le config, j'ai ceci: public $DB_TYPE = 'mysql'; public $DB_NAME = 'dbfot';
Malgré, ça c'est fort probable qu'il manque quelque chose.

C'est pour ça que j'aimerais tenter de faire la procédure manuellement, et possiblement de comprendre ce qui ne fonctionne pas avec la procédure automatisé de publication qui retourne cei:

Checking preferences
Checking webserver access
The server is up and running
Checking configuration
Access identifier not specified
Change the setting and start publishing again
Make sure your FTP software performs transfers in binary mode

Comme mentionné avant, je transfers les fichiers et répertoires directement, via mon réseau, donc la dernière ligne est sans objet.

Et finalement, j'ai validé que les permissions soient toutes ON.

Bye
Jacques

0

Posté par: @jackriki

Access identifier not specified

Posté par: @jackriki

Je n'entre rien dans le champ pour l'identifiant dans l'assistant de publication, et dans le config, j'ai ceci: public $API_ACCESS_CODE = ''; J'ai essayé en entrant un nom quelconque, ça change rien, j'ai toujours la même erreur.

Le message est pourtant précis : l'identifiant ne peut pas être vide (oui, je sais, dans l'assistant je ne contrôle pas qu'il puisse être vide, je vais ajouter ça dans une prochaine version). Donc dans l'assistant tu mets un identifiant, et tu met le même dans le config.ini.php (normalement, quand l'assistant créé les fichiers, l'identifiant est renseigné des 2 côtés, ça sert à éviter que n'importe qui puisse publier sur un site Filmotech).

JackRiki 01/05/2024 3:14 pm

@filmotech
Merci pour l'information, j'étais sous l'impression que l'identifiant pouvait être null si non nécessaire. Pourtant je l'avais essayé avant d'inscrire quelque chose, mais je suppose que j'ai corrigé autre chose après, maintenant ça fonctionne. Ça m'a permis d'avancer un peu.

Maintenant l'assitant de publication passe a l'étape suivante, soit la création du répertoire des images, ça semble fonctionner, et passe ensuite a l'étape de la création de la table, mais a ce moment, j'obtiens une autre erreur;

--> Creation of the movie table (if needed)
--> Error while creating table 'fmt_Filmotech'

Notez que j'ai inscrit "Filmotech" dans la case pour le nom de la table dans l'assistant.
J'ai pensé que cette erreur pouvait venir encore d'un problème avec les permissions, alors j'ai donné tout les droits au répertoire de /var/lib/mysql.

Cela n'a rien changé, j'ai toujours la même erreur.

Avez-vous une idée de ce qui pourrait causer ça?
Merci d'avance.

Bye
Jacques

0

Hello,

(Désolé si ce message est dédoublé, je crois avoir fait une erreur en l'ajoutant comme un commentaire au lieu d'une réponse.)

Merçi pour la clarification a sujet de l'identifiant. J'étais sous l'impression qu'il pouvait être null si non requis. Malgré que j'avais essayé avant, j'ai inscrit un nom comme identifiant et maintenant ça fonctionne mieux, je progresse. Il est fort possible que j'ai corrigé autre chose entre les deux essais.

Maintenant l'assistant a la publication passe aux étapes suivantes, mais fini encore avec une erreur.

--> Checking configuration

--> Creation of posters directory (if needed)

--> Creation of the movie table (if needed)

--> Error while creating table 'fmt_Filmotech'

Notez que j'ai bien entré le nom "Filmotech" dans la case de la table dans l'assistant.

J'ai pensé que cette erreur pouvait originer d'un problème de permission sur le serveur Ubuntu, alors j'ai donné tout les droits au répertoire /var/lib/mysql, mais ça change rien, je reste avec le message d'erreur.

Avez-vous une sugestion pour corriger ça?

Merci a l'avance

Bye

Jacques

 

 

 

 

 

 

Filmotech 02/05/2024 11:05 am

@jackriki La table est préfixée par fmt_ (c'est également indiqué dans l'assistant 😉 )
En revanche, si la table n'est pas créée, c'est qu'il n'est pas possible de le faire pour le script php depuis localhost (du serveur), probablement un problème de droits au niveau MySQL. L'utilisateur indiqué doit avoir les droits avec l'adresse locale (vu que le script est exécuté sur le serveur)

0

J'avous avoir confondue les privilèges de ubuntu et mysql.

Alors si je comprend bien, le scrip php tente de créer la table en utilisant le nom de l'usagé que j'ai entrée dans l'asistant a la publication (et que j'ai préalablement créé en tant qu'usagé dans mysql), mais comme un localhost. Si l'usagé est nommé 'test' alors le scrip utiliserait test@localhost.

Étant novice dans mysql (et linux), je suis un peut confue ici, est-ce que quelqu'un pourrait me démèler?

Quand j'ai créé l'usagé dans mysql, je lui ai donnée '%' comme host puisqu'il doit être accessible de tout mes PCs. Alors ça donne ceci si je liste les usagées dans mysql:

+------------------+----------------+
| user | host |
+------------------+----------------+
| test | % |

Ça c'est correct, je connect sans problème a mysql.

En cherchant sur internet, je découvre qu'il semble que '%' n'inclurait pas 'localhost', mais ça je ne suis pas sur, j'ai vue des opinions qui se contredise sur les forums.

Alors si le '%' n'inclue pas le 'localhost' ça expliquerait le problème et l'erreur que j'obtien avec l'assistant, puisque 'test@localhost' n'existe pas.

Mais comment corriger?

Dois-je créer un autre usagé nommée 'test@localhost' avec tous les mêmes prévilèges? mais Est-ce possible d'avoir deux usagées du même non?

Et si oui, en créant l'usagé 'test@localhost', je dois y donner un mot de passe, est-ce que je dois utiliser le même que pour 'test@%'? Je sais pas si c'est possible de ne pas avoir de mot de passe.

Bye

Jacques

 

 

 

JackRiki 02/05/2024 8:37 pm

J'ai chercher un peut partout et il semble possible de créer un second usagé au nom de test@localhost avec le même mot de passe que test@%, alors je l'ai fait et j'y ai donnée les droits a tout:

mysql> SHOW GRANTS;
+---------------------------------------------------------+
| Grants for test@localhost |
+---------------------------------------------------------+
| GRANT USAGE ON *.* TO `test`@`localhost` |
| GRANT ALL PRIVILEGES ON `dbfot`.* TO `test`@`localhost` |
+---------------------------------------------------------+

Malgré ça j'ai toujours la même erreur rapporté par l'assistant a la publication:

--> Error while creating table 'fmt_Filmotech'

Je suis a cour d'idée, je ne sais plus trop quoi essayé.

0

Essaye d'utiliser 127.0.0.1 au lieu (ou en plus ?) de localhost

0

J'ai essayé 127.0.0.1 et ça ne change rien, je bloque toujours a la même place.

Directement avec mysql sous ubuntu, j'ai essayé la création d'une table dans une base de donnée d'essais avec le même usagé, et ça fonctionne.

Donc, j'ai tout enlevé les usagées que j'avais créés, toutes les bases de données, effacé tout le répertoire créé par l'assistant a la publication pour recommencer en neuf.

Alors j'ai repris a zéro;

--> Créé deux usagés avec mysql sous ubuntu avec tout les privilèges, en mode localhost et d'accès de tout les host '%'.

--> Créé la base de donnée

--> Donné accès a cette nouvelle base aux nouveaux usagées (localhost & %) avec tout les privilèges d'accès.

--> Repris la publication à zéro, avec les nouvelles informations; nom d'usagé, base de donnée, nom de la table, etc.

--> Copier les fichiers et répertoires générés par l'asistant sur le seveur (j'ai aussi validé que j'avais les bonnes infos dans le fichier config.inc.php)

--> Redémarré l'assitant une seconde fois, pour se terminer avec la même erreur.

La connection s'établie, le répertoire des images est crée, mais l'asistant n'arrive pas a créer la table et ça se termine là.

Je ne sais plus quoi essayé d'autre.

Avez-vous d'autre idée a me suggérer ? D'autre information a valider? Ou essais a faire?

Bye

Jacques

 

 

 

 

 

 

 

 

 

JackRiki 07/05/2024 7:22 pm

Je me demande si c'est pas un problème de mot de passe.
Est-ce que l'api utilse le même mot de passe pour le localhost que l'accès a mysql via le ip du serveur?

Filmotech 08/05/2024 10:00 am

@jackriki Normalement le script PHP accède à la base de données en local (vu que c'est sur le même serveur) avec l'identifiant et le mot de passe que tu as mis dans la config. Eventuellement essaye avec "root". Tu peux aussi essayer de mettre l'IP du serveur avec un utilisateur qui a les droits associés.

0

Non ça ne fonctionne pas avec 'root'.

En fait, la connection avec le serveur ne s'établie même pas puisque 'root' est lié a 'localhost' et n'est pas accessible de l'externe.

Ça connecte au serveur seulement avec l'usagé que j'ai créé 'test@%' qui lui est accessible de l'externe. J'ai aussi crée un 'test@localhost' avec le même mot de passe et les mêmes privilèges pour que l'api puisse connecter en local.

J'ai aussi créé la base de donnée en entrant dans mysql avec 'test@localhost' pour être sur qu'elle est accessible et ça l'air correct.

Malgré toutes mes tentatives, l'assistant a la publication bloque toujours au moment de créer la table.

J'essaye avec mysql depuis le début, devrais-je installé sqlite sur mon serveur et essayé avec ça a la place?

Je ne l'ai pas fait car j'ai moins d'information sur sqlite et je ne voulais pas mettre les deux sur le serveur, mais ça pourrait être essayé.

Bye

Jacques

 

 

Filmotech 08/05/2024 3:51 pm

@jackriki Quand on publie sur un hébergeur, on a bien le serveur web et le serveur sur de base considéré être tous les 2 en local, normalement même si tu es ur ton propre serveur ça devrait être le cas.

Sinon tu peux essayer d'autre choses :
- Préciser le cas échéant le port du serveur, si c'est ça qui bloque, et bien mettre l'adresse du serveur MySQL dans le paramétrage Filmotech et donner l'autorisation d'accès à MySQL au serveur Web (avec son adresse IP, si elle est différente). Pour préciser le port, dans le fichier api.php, tu ajoutes ;port=numero-du-port-mysql dans le "new PDO" de la fonction dbConnect.
- Tu peux essayer de créer la table manuellement, mais si la connexion ne se fait pas ça bloquera de toute façon pour faire les Insert
- Tu peux effectivement essayer avec une base SQLite (il faut juste le que SQLite fasse partie des PDO de ta config PHP, il n'y a pas de serveur SQLite)

0

Je ne suis pas sur de tout comprendre, désolé...

Le serveur web et le serveur mysql sont au même ip et tout deux sont accessible localement. Le port du serveur mysql est le default a 3306.

La connection au serveur mysql semble s'établir correctement, du moins il me semble puique que l'assitant l'indique (voir attaché).

Le répertoire "Posters" est correctement crée, donc l'api semble capable de communiquer avec le serveur. (voir attaché).

Pour créer la table manuellement, il me semble que je dois avoir la déscription des colones et type de donnée, information que je n'ai pas.

Je vais essayé avec sqlite pour voir. A suivre...

 

 

JackRiki 08/05/2024 4:41 pm

Voir les configurations que j'ai saisie dans l'attaché.

Filmotech 08/05/2024 4:50 pm

@jackriki Le PHP de l'API est exécuté sur le serveur, c'est pour ça que la base est considérée être en local. Dans hostname tu as mis 192.168.x.x, c'est bien la que tu avais essayé avec localhost ? Et quand tu changes, tu republier bien les fichiers de config ? (Sinon pour tester tu peux modifier directement le config.ini.php)
Pour créer la table, tu peux retrouver le script dans api.php (mais il faut reconstruire une requête SQL à partir du code)

0

Oui c'est bien sur 192.168.x.x que j'ai essayé avec "localhost".

Oui je sais que je dois copier les fichiers quand je change quelque chose, ou éditer "config.ini.php".

Je vien d'installer sqlite3 et ça ne fonctionne pas non plus, y doit manquer quelque chose, pourtant j'ai pensé a ajouter le PDO dans "php.ini".  --> extension=pdo_sqlite3

J'ai essayé avec pdo_sqlite et pdo_sqlite3, ça change rien, pourtant j'ai redémarré le système a chaque essais.

L'assistant fini en erreur en disant qui manque le driver (voir attaché), mais je comprend pas pourquoi y donne un erreur de connection a mysql en mode sqlite.

Dans le config.ini.php c'est bien indiqué "sqlite" (public $DB_TYPE = 'sqlite';) et dans l'asssitant les options pour mysql sont grisé.

Je vais aller voir dans l'api.php pour l'information a propos de la table, mais je ne suis pas familier avec le php, je suis un vieux programmeur qui est encore au vieux langage...

 

 

0

Succès !!

J'y suis finalement arrivé.

J'ai réinstallé sqlite avec la commande suivante: sudo apt install php8.1-sqlite3

Redémarré le serveur et l'assistant a la publication (toujours en mode sqlite).

Cette fois le processus s'est complété sans erreur et je suis maintenant capable d'ouvrir la page web.

Je ne sais toujours pas pourquoi ça ne fonctionne pas avec le mode mysql, mais au moins c'est correct avec sqlite.

Je vais maintenant pourvoir poursuivre mon expérimentation avec Filmotech et entrer mes films.

Merçi pour le support, c'est grandement apprécié, en esperant que nos échanges aide d'autre utilisateur.

bye

jacques