Migrar um fórum phpBB3 para Discourse

Parece que sou o único postando aqui…

Então, exatamente quando estava prestes a lançar meu novo fórum Discourse, descobrimos um problema muito estranho! Estou sem ideias sobre esse problema e espero que alguém aqui possa esclarecê-lo…

Caso: Importei dois bancos de dados para o Discourse a partir do phpBB3. O primeiro é um arquivo, que é basicamente o fórum atual que dividimos em dois há 15 anos e depois congelamos. A outra metade do fórum permaneceu ativa e cresceu. Minha esperança era que o importador as fundisse durante a importação, o que ele fez! :smiley:

Mas agora descobri um caso envolvendo um usuário, e preciso saber se isso é apenas um caso isolado ou se afetou outros, e, nesse caso, como procurar por outros casos.

O usuário criou duas contas. Ambas no fórum atual. Digamos que a conta antiga se chamava OldName e a nova, NewName.

No Discourse importado, agora existem dois usuários. Um chamado OldName e o que deveria ser NewName foi renomeado para OldName1. Além disso, as postagens de OldName foram mescladas em OldName1.

Não faço ideia de por que isso aconteceu apenas com esse usuário, já que há outros usuários com contas duplicadas que parecem não ter sido afetados.

Alguém sabe o que pode ter acontecido aqui?
Existe alguma maneira de procurar por outros casos?

1 curtida

Mas provavelmente não da maneira que você imagina. Se você simplesmente executou o importador duas vezes, todos os campos personalizados import_id entraram em conflito, de modo que o usuário com userid 123 no primeiro banco de dados agora é o mesmo usuário que o userid 123 no novo banco de dados. O mesmo vale para tópicos e posts.

Tenho quase certeza de que todo userid (e tópico, post e provavelmente categoria) que existe tanto no banco de dados antigo quanto no novo é mesclado com o antigo.

Você precisará fazer algo para garantir que os import_ids não entrem em conflito (talvez excluir os antigos, talvez alterar o script de importação para torná-los únicos em cada importação).

4 curtidas

Bem… eles SÃO o mesmo de qualquer forma??
Quero dizer, é basicamente o mesmo fórum, apenas uma parte continuou e a outra ficou congelada no tempo. Então, o ID de usuário 123 ainda é o ID de usuário 123, e os IDs de postagens e tópicos também?

O que você quer dizer com campos personalizados import_id?

O fórum parece estar ok, todos os tópicos, postagens etc. estão no lugar. Que eles foram mesclados é a ideia geral?

Não consigo encontrar outros problemas com outros usuários/postagens/tópicos, exceto aquele caso de uso?

Para explicar talvez melhor qual é o caso.

O início foi um fórum phpBB. Em algum momento, eu o clonei. Um clone permaneceu fechado e se tornou o arquivo. A outra parte, eu excluí as postagens mais antigas (que agora estavam no arquivo) e mantive aberta. Nesse, os usuários, tópicos, postagens etc. apenas aumentaram e nunca foram alterados (em termos de ID). Então, o que eu pensei foi que o script de importação veria o arquivo e o fórum atual como duas partes do mesmo banco de dados, porque eles são… e os trataria como uma importação incremental. E foi isso que aconteceu?

Então, por favor, ajude-me a entender agora o que deu errado aos seus olhos, porque o que você aponta é exatamente o que eu queria que fizesse…

Se o segundo fórum fosse um superconjunto do primeiro, não vejo motivo para você ter importado ambos, mas, desde que o novo fórum não utilize nenhum dos mesmos IDs de usuário, postagem ou tópico do primeiro, você deve estar bem.

Quando um usuário, tópico ou postagem é importado, um XxxCustomField é criado com o nome “import_id”, para que você possa identificar a correspondência entre o fórum antigo e o novo.

Alguns importadores também criam um campo personalizado import_username se o nome de usuário mudar. Você pode fazer algo como

cd /var/discourse
rails c
u=User.find_by_username('username-youwant')
u.custom_fields

para vê-los.

1 curtida

porque eu queria que a parte arquivada fosse mesclada de volta ao fórum inteiro, em vez de ter duas “metades” de um único fórum. Agora não preciso mais manter um antigo arquivo phpbb2 separado que eu teria que converter para o Discourse de alguma forma… agora está tudo unificado novamente :slight_smile: (fizemos o arquivo na época para reduzir a carga no servidor).

Testei sua consulta, obrigado.
Para o caso de uso no meu post, obtive {"import_id"=>"21293"} para NewName
e para OldName1, o resultado foi
{"import_id"=>"8800", "import_username"=>"OldName"}
então, uau, isso mostra exatamente o que aconteceu… Alguma razão para ter decidido que import_id8800 pertencia ao usuário de importação NewName? Já que eles têm import_id diferentes.

Existe alguma maneira de fazer uma busca mais genérica, pois não sei quais usuários são afetados. É isso que estou tentando descobrir, então não conheço a parte username-youwant.

Uma maneira de fazer isso seria:

  • Restaurar o backup feito logo após concluir a importação do arquivo.
  • Limpar os valores de import_id de postagens, tópicos, categorias e usuários.
  • Realizar a importação atual do fórum.

Ao fazer isso, os usuários devem ser correspondidos e combinados por e-mail.

4 curtidas

Certo. Eles têm import_ids diferentes, mas o mesmo nome de usuário. Se você quiser que sejam o mesmo usuário, precisarão ter o mesmo nome de usuário (ou você pode fazer com que tenham o mesmo import_id).

Talvez pesquisar por

User.where("username like '%1'")

Isso também pegará pessoas que simplesmente quiseram terminar seu nome de usuário com um 1. .

E isso funcionará perfeitamente . . . a menos que seus endereços de e-mail tenham mudado.

Independentemente de como você fez isso, você terá algumas coisas como essa para resolver manualmente.

1 curtida

Muito útil. Estou migrando meu fórum de jogos para o Discord. A hospedagem do phpBB (esta aqui: https://www.cloudways.com/en/phpbb-hosting.php) que eu usava não suporta aplicativos além de PHP. Por isso, estou no processo de explorar outra plataforma para isso.

Estou tentando migrar um fórum phpBB 3.2.9 para o Discourse. Tenho cerca de 2.800 usuários e quase 36.000 posts. Para a importação, estou usando o repositório Git de @gerhard com a branch phpbb3.

A migração dos usuários e das mensagens privadas funciona bem. Mas com os posts, tenho um problema. Apenas cerca de 2.800 posts foram migrados. Recebi mensagens como a seguinte:

    12201 / 35281 ( 34.6%)  [68323 itens/min]  Falha ao mapear post com ID 14742
undefined method `name' for nil:NilClass
/var/www/discourse/script/import_scripts/phpbb3/support/bbcode/xml_to_markdown.rb:57:in `visit'
/var/www/discourse/script/import_scripts/phpbb3/support/bbcode/xml_to_markdown.rb:25:in `convert'
/var/www/discourse/script/import_scripts/phpbb3/support/text_processor.rb:41:in `process_raw_text'
/var/www/discourse/script/import_scripts/phpbb3/support/text_processor.rb:68:in `process_post'
/var/www/discourse/script/import_scripts/phpbb3/importers/post_importer.rb:35:in `map_post'
/var/www/discourse/script/import_scripts/phpbb3/importer.rb:130:in `block (2 levels) in import_posts'
/var/www/discourse/script/import_scripts/base.rb:491:in `block in create_posts'
/usr/local/lib/ruby/gems/2.6.0/gems/rack-mini-profiler-1.1.4/lib/patches/db/mysql2.rb:8:in `each'
/usr/local/lib/ruby/gems/2.6.0/gems/rack-mini-profiler-1.1.4/lib/patches/db/mysql2.rb:8:in `each'
/var/www/discourse/script/import_scripts/base.rb:490:in `create_posts'
/var/www/discourse/script/import_scripts/phpbb3/importer.rb:128:in `block in import_posts'
/var/www/discourse/script/import_scripts/base.rb:870:in `block in batches'
/var/www/discourse/script/import_scripts/base.rb:869:in `loop'
/var/www/discourse/script/import_scripts/base.rb:869:in `batches'
/var/www/discourse/script/import_scripts/phpbb3/importer.rb:186:in `batches'
/var/www/discourse/script/import_scripts/phpbb3/importer.rb:122:in `import_posts'
/var/www/discourse/script/import_scripts/phpbb3/importer.rb:33:in `execute'
/var/www/discourse/script/import_scripts/base.rb:47:in `perform'
/var/www/discourse/script/import_scripts/phpbb3/importer.rb:22:in `perform'
./script/import_scripts/phpbb3.rb:33:in `<module:PhpBB3>'
./script/import_scripts/phpbb3.rb:14:in `<module:ImportScripts>'
./script/import_scripts/phpbb3.rb:13:in `<main>'
    12202 / 35281 ( 34.6%)  [68322 itens/min]  Falha ao mapear post com ID 14744
undefined method `name' for nil:NilClass

Não sou especialista em Ruby. Então, não sei exatamente como depurar isso. Parece que falta um método. Mas como posso obtê-los e por que quase 2.800 posts foram migrados?

Alguma ideia do que está causando esse problema e, claro, como posso corrigi-lo?

Obrigado!

1 curtida

Às vezes, há alguns gremlins no código ou goblins no banco de dados.

Se sua migração parar com um erro (parece que é o caso aqui), o que eu faço é olhar a mensagem de erro, abrir o arquivo problemático no script e envolver o erro em algo simples como:

begin
   #linha ou linhas problemáticas de código Ruby
rescue
   puts "erro! em <routine problemática> variável #{variável} blab blah minha ótima mensagem"
end

Recentemente, migrei mais de 1 milhão de posts, e capturar erros como no exemplo acima e “seguir em frente” foi um salva-vidas.

Cada migração é diferente, não que eu tenha tanta experiência quanto outros, mas já fiz isso de cerca de 20 maneiras diferentes e 100 vezes diferentes, LOL, e minha experiência é que a estrutura begin rescue end é muito importante.

Claro, você pode investigar mais a fundo e ver se há um problema maior mais tarde; mas às vezes você só quer continuar avançando e migrando :slight_smile:

2 curtidas

Bem-vindo @TBauer :wave:

Talvez você tenha passado por cima desse aviso na primeira postagem.

2 curtidas

@TBauer parece estar usando esta branch experimental, então acho que está tudo bem. Ainda não é suportado, mas gostaria de saber o que está causando esse erro de qualquer forma.

@TBauer, você poderia me enviar o conteúdo da coluna post_text na tabela phpbb_posts para a postagem com ID 14742 em uma MP ou postar aqui?

Estou supondo que você tenha atualizado recentemente para o phpBB 3.2 e a conversão do formato antigo de BBCode para o novo ainda não tenha sido concluída. É por isso que pode falhar após 2800 posts. Se for esse o caso, talvez seja interessante executar o Reprocessador de Texto do phpBB 3.2+ via CLI. O script de importação atualmente não suporta a mistura de formatos de armazenamento antigos e novos para BBCodes, e a conversão de BBCode para Markdown deve funcionar muito melhor com o novo formato. :wink:

4 curtidas

Não, a migração não para. O script é executado até terminar normalmente. O que acontece é que muitos posts não são migrados. Neste caso, recebi mensagens como a acima. Verifiquei alguns posts no banco de dados e parece que todos esses são antigos e não possuem código XML.

@Helmi: claro que li isso. É por isso que usei a branch experimental do código. :wink:

1 curtida

Talvez essa seja a solução. Vou tentar isso primeiro. Percebi que os posts com falha estão em BBCode e não no formato XML. Então, na próxima tentativa, vou converter após o reparse…

2 curtidas

Desculpe, isso não ficou totalmente claro para mim ao ler sua postagem.

@Helmi: sem problema. :smiley:

@gerhard: funcionou! Depois de converter as postagens para o novo formato, consegui importar as postagens. Apenas obtive uma exceção durante a importação de quatro postagens, mas, no meu caso, isso está tudo bem.

   35264 / 35281 (100.0%)  [4879 itens/min]  Exceção ao criar a postagem 39353. Ignorando.
atributo desconhecido 'reply_id' para PostReply.
/usr/local/lib/ruby/gems/2.6.0/gems/activemodel-6.0.1/lib/active_model/attribute_assignment.rb:53:in `_assign_attribute'
/usr/local/lib/ruby/gems/2.6.0/gems/activemodel-6.0.1/lib/active_model/attribute_assignment.rb:44:in `block in _assign_attributes'
/usr/local/lib/ruby/gems/2.6.0/gems/activemodel-6.0.1/lib/active_model/attribute_assignment.rb:43:in `each'
/usr/local/lib/ruby/gems/2.6.0/gems/activemodel-6.0.1/lib/active_model/attribute_assignment.rb:43:in `_assign_attributes'
/usr/local/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/attribute_assignment.rb:22:in `_assign_attributes'
/usr/local/lib/ruby/gems/2.6.0/gems/activemodel-6.0.1/lib/active_model/attribute_assignment.rb:35:in `assign_attributes'
/usr/local/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/core.rb:326:in `initialize'
/usr/local/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/inheritance.rb:70:in `new'
/usr/local/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/inheritance.rb:70:in `new'
/usr/local/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/reflection.rb:158:in `build_association'
/usr/local/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/associations/association.rb:325:in `build_record'
/usr/local/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/associations/collection_association.rb:108:in `build'
/usr/local/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/associations/collection_proxy.rb:316:in `build'
/var/www/discourse/app/models/post.rb:1064:in `create_reply_relationship_with'
/var/www/discourse/app/models/post.rb:750:in `block in save_reply_relationships'
/var/www/discourse/app/models/post.rb:748:in `each'
/var/www/discourse/app/models/post.rb:748:in `save_reply_relationships'
/var/www/discourse/lib/post_creator.rb:187:in `block in create'
/var/www/discourse/lib/post_creator.rb:360:in `block (2 levels) in transaction'
/usr/local/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:281:in `block in transaction'
/usr/local/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/transaction.rb:280:in `block in within_new_transaction'
/usr/local/lib/ruby/2.6.0/monitor.rb:235:in `mon_synchronize'
/usr/local/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/transaction.rb:278:in `within_new_transaction'
/usr/local/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:281:in `transaction'
/usr/local/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/transactions.rb:212:in `transaction'
/var/www/discourse/lib/post_creator.rb:359:in `block in transaction'
/var/www/discourse/lib/distributed_mutex.rb:33:in `block in synchronize'
/var/www/discourse/lib/distributed_mutex.rb:29:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:29:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:14:in `synchronize'
/var/www/discourse/lib/post_creator.rb:358:in `transaction'
/var/www/discourse/lib/post_creator.rb:168:in `create'
/var/www/discourse/script/import_scripts/base.rb:555:in `create_post'
/var/www/discourse/script/import_scripts/base.rb:503:in `block in create_posts'
/usr/local/lib/ruby/gems/2.6.0/gems/rack-mini-profiler-1.1.4/lib/patches/db/mysql2.rb:8:in `each'
/usr/local/lib/ruby/gems/2.6.0/gems/rack-mini-profiler-1.1.4/lib/patches/db/mysql2.rb:8:in `each'
/var/www/discourse/script/import_scripts/base.rb:490:in `create_posts'
/var/www/discourse/script/import_scripts/phpbb3/importer.rb:128:in `block in import_posts'
/var/www/discourse/script/import_scripts/base.rb:870:in `block in batches'
/var/www/discourse/script/import_scripts/base.rb:869:in `loop'
/var/www/discourse/script/import_scripts/base.rb:869:in `batches'
/var/www/discourse/script/import_scripts/phpbb3/importer.rb:186:in `batches'
/var/www/discourse/script/import_scripts/phpbb3/importer.rb:122:in `import_posts'
/var/www/discourse/script/import_scripts/phpbb3/importer.rb:33:in `execute'
/var/www/discourse/script/import_scripts/base.rb:47:in `perform'
/var/www/discourse/script/import_scripts/phpbb3/importer.rb:22:in `perform'
script/import_scripts/phpbb3.rb:33:in `<module:PhpBB3>'
script/import_scripts/phpbb3.rb:14:in `<module:ImportScripts>'
script/import_scripts/phpbb3.rb:13:in `<main>'

Obrigado pelo importador e pelo excelente trabalho! :slight_smile:

3 curtidas

Olá @gerhard, estamos realmente usando o script para importar um fórum phpBB muito antigo que precisa ser salvo da exclusão. Tudo está indo muito bem, mas, no final, o fórum apresenta problemas de codificação. Os títulos e o conteúdo das mensagens estão sendo exibidos com codificação incorreta.

O fórum estava em francês, e o dump SQL que baixamos do phpBB está codificado em UTF-8. O que estamos esquecendo, por favor?

Muito obrigado, esse trabalho é incrível! :open_mouth:

É possível que haja uma incompatibilidade de codificação em algum lugar… há uma razão pela qual alguém chamou isso de inferno da codificação do MySQL.

Há muito tempo, criei um script para corrigir bancos de dados que contêm dados UTF-8 em tabelas com codificação latin1. Talvez isso ajude? Caso contrário, você precisará resolver isso sozinho.

3 curtidas

Hi @gerhard and thanks for replying. What should be the format of my SQL dump file please ? Actually VS Code says to me that it is UTF-8. So… it should work no ?

That issues of encoding drive me crazy… :frowning:

@gerhard : EDIT : An example of what I have in the dump file below.

#
# phpBB Backup Script
# Dump of tables for phpbb3_
# DATE : 06-04-2020 08:26:04 GMT
#
# Table: phpbb3_posts
DROP TABLE IF EXISTS phpbb3_posts;
CREATE TABLE `phpbb3_posts` (
  `post_id` mediumint(8) unsigned NOT NULL auto_increment,
  `topic_id` mediumint(8) unsigned NOT NULL default '0',
  `forum_id` mediumint(8) unsigned NOT NULL default '0',
  `poster_id` mediumint(8) unsigned NOT NULL default '0',
  `icon_id` mediumint(8) unsigned NOT NULL default '0',
  `poster_ip` varchar(40) collate utf8_bin NOT NULL default '',
  `post_time` int(11) unsigned NOT NULL default '0',
  `post_approved` tinyint(1) unsigned NOT NULL default '1',
  `post_reported` tinyint(1) unsigned NOT NULL default '0',
  `enable_bbcode` tinyint(1) unsigned NOT NULL default '1',
  `enable_smilies` tinyint(1) unsigned NOT NULL default '1',
  `enable_magic_url` tinyint(1) unsigned NOT NULL default '1',
  `enable_sig` tinyint(1) unsigned NOT NULL default '1',
  `post_username` varchar(255) collate utf8_bin NOT NULL default '',
  `post_subject` varchar(255) character set utf8 collate utf8_unicode_ci NOT NULL default '',
  `post_text` mediumtext character set utf8 collate utf8_unicode_ci NOT NULL,
  `post_checksum` varchar(32) collate utf8_bin NOT NULL default '',
  `post_attachment` tinyint(1) unsigned NOT NULL default '0',
  `bbcode_bitfield` varchar(255) collate utf8_bin NOT NULL default '',
  `bbcode_uid` varchar(8) collate utf8_bin NOT NULL default '',
  `post_postcount` tinyint(1) unsigned NOT NULL default '1',
  `post_edit_time` int(11) unsigned NOT NULL default '0',
  `post_edit_reason` varchar(255) collate utf8_bin NOT NULL default '',
  `post_edit_user` mediumint(8) unsigned NOT NULL default '0',
  `post_edit_count` smallint(4) unsigned NOT NULL default '0',
  `post_edit_locked` tinyint(1) unsigned NOT NULL default '0',
  PRIMARY KEY  (`post_id`),
  KEY `forum_id` (`forum_id`),
  KEY `topic_id` (`topic_id`),
  KEY `poster_ip` (`poster_ip`),
  KEY `poster_id` (`poster_id`),
  KEY `post_approved` (`post_approved`),
  KEY `tid_post_time` (`topic_id`,`post_time`),
  KEY `post_username` (`post_username`)
) ENGINE=MyISAM AUTO_INCREMENT=33585 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

INSERT INTO phpbb3_posts (post_id, topic_id, forum_id, poster_id, icon_id, poster_ip, post_time, post_approved, post_reported, enable_bbcode, enable_smilies, enable_magic_url, enable_sig, post_username, post_subject, post_text, post_checksum, post_attachment, bbcode_bitfield, bbcode_uid, post_postcount, post_edit_time, post_edit_reason, post_edit_user, post_edit_count, post_edit_locked) VALUES (3, 2, 1, 2, 0, '82.225.50.160', 1135852994, 1, 0, 1, 1, 1, 0, '', 'FORUM EFFACER PAR UN HACKER - Le 28/12/05 !!!', 'Le 28/12/05, le forum a été victime <!-- s:cry: --><img src=\"{SMILIES_PATH}/icon_cry.gif\" alt=\":cry:\" title=\"Crying or Very sad\" /><!-- s:cry: --> de la visite d\'un hacker <!-- s:pan --><img src=\"{SMILIES_PATH}/panpan.gif\" alt=\":pan\" title=\"panpan\" /><!-- s:pan --> peut scrupuleux <!-- s:sick --><img src=\"{SMILIES_PATH}/sick.gif\" alt=\":sick\" title=\"sick\" /><!-- s:sick --> : celui-ci après avoir trouvé le moyen de se connecter au Forum en tant qu?Administrateur du forum a tout simplement supprimé la totalité de nos messages <!-- s:evil: --><img src=\"{SMILIES_PATH}/icon_evil.gif\" alt=\":evil:\" title=\"Evil or Very Mad\" /><!-- s:evil: --> !!! \r\n\r\nMalheureusement et je m\'en excuse <!-- s:oops: --><img src=\"{SMILIES_PATH}/icon_redface.gif\" alt=\":oops:\" title=\"Embarassed\" /><!-- s:oops: -->  (j\'aurai du y penser!!!) aucune sauvegarde du site n\'existait et je n\'ai pu récupérer aucun des anciens messages !!!\r\n\r\n[b:f3vjqlv5]C EST A  NOUS MAINTENANT QU IL APPARTIENT DE FAIRE RENAITRE CE FORUM ET DE MONTRER QUE CE N EST PAS CE GENRE DE TERRORISME QUI EMPECHERA LE DUB ET LES SOUNDS SYSTEM DE PROGRESSER !!![/b:f3vjqlv5]:thumb \r\n\r\nPerdu pour perdu : n\'ayant pu récupérer les messages, j\'ai préféré tout effacer et installer la dernière version logiciel du forum qui corrige un certain nombre de failles de sécurité. Du coup [b:f3vjqlv5]LES ANCIENS MEMBRES DOIVENT CE RE-ENGERISTRER...[/b:f3vjqlv5]\r\n\r\nRespect to All\r\nRed Lion', '', 0, 'QA==', 'f3vjqlv5', 1, 0, '', 2, 0, 0),(5, 3, 4, 3, 0, '82.225.50.160', 1135856969, 1, 0, 1, 1, 1, 1, '', 'DUB FACTORY RED LION SOUND meets IRATION STEPPAS 21/01/06', 'Salut à tous,\r\n\r\nUne grosse soirée Roots Dub &amp; Steppa en soutien au Festival du col des 1000 de l\'association L\'anamounto\r\n\r\nRED LION Sound  accueillent les géants de Leeds:\r\n\r\nIRATION STEPPAS pour une session 100% heavy weight bass....\r\n\r\nBeware!!!\r\n\r\nCa se passe le 21 Janvier à l\'ADAEP à Grenoble...Paf 10euro 22H&gt;&gt;5H\r\n+ d\'infos soon come,\r\nd\'ici là vous pouvez tjrs écouter des extraits de la soirée qui avait lieu à Chalon-s/Saone l\'année dernière:\r\n\r\n<!-- m --><a class=\"postlink\" href=\"http://dubnews.free.fr/iration/irationmix.html\">http://dubnews.free.fr/iration/irationmix.html</a><!-- m -->\r\n\r\na+steph\r\nLions\'Den', '', 0, 'QA==', '2vvambac', 1, 0, '', 3, 0, 0),(6, 2, 1, 5, 0, '172.206.42.240', 1135857292, 1, 0, 1, 1, 1, 1, '', '', 'Aller Hop au boulot !!!\r\n\r\nLion à raison, faut pas perdre espoir et surtout ne pas laisser tomber se forum sous pretexte qu\'il n\'y as plus d\'information, l\'information c\'est nous tous ! \r\n\r\nUnity Again !!! \r\n\r\nRespect To RedLion Crew\r\nBless\r\nBokson', '', 0, 'QA==', '185llc4j', 1, 0, '', 5, 0, 0),(7, 2, 1, 4, 0, '81.56.248.144', 1135857298, 1, 0, 1, 1, 1, 0, '', '', 'misère.... sans deconner......\r\nfaut croire que ça occupe certains de faire chier les autres sans aucun interet....\r\nbon.......\r\nfaudrait pas en plus s\'énerver ni gueuler contre ce hacker, ça risquerait de lui faire plaisir......\r\n\r\nvoilà, je suis réenregistré\r\n\r\nrespects,\r\nmathieu', '', 0, 'QA==', '3ra8xkgy', 1, 0, '', 4, 0, 0),(8, 4, 11, 5, 0, '172.206.42.240', 1135857735, 1, 0, 1, 1, 1, 1, '', 'Relation Amplificateur - Enceintes', 'Irie \r\n\r\nVu qu\'on s\'est fait hacker je repose ma question ! \r\nComment calculer cette histoire d\'impédance ! \r\nSi on bridge l\'ampli, si on l\'utilise en stereo etc... \r\nEt je repose la question, j\'ai 2 enceinte bass reflex 750watts sous 8ohms\r\nmon amplis derrière 2x700 watts sous 8ohms (par exemple) si je le bridge et que j\'arrive a sortir 1x1400 watts que je balance sur 2 caissons vu que je l\'ai bridger il passe en 4ohms mon amplis, donc il faut que les bafles le suporte dérrière mais malheureusement dnas les carastéristique des baffles, il ne suporte pas une impédance de mois 4.75 ohms \r\n\r\nCOmment je fait tu peux expliquet un peu plus lion, se que tu avait commencer (avant le passage du hackers furieux) \r\nEn plus tu me l\'a déja expliquer mais j\'ai un pue zapper des trucs !!!\r\n\r\nThanks\r\nBokson', '', 0, 'QA==', '3bec5jss', 1, 0, '', 5, 0, 0),(9, 5, 3, 5, 0, '172.206.42.240', 1135857870, 1, 0, 1, 1, 1, 1, '', 'Pk l\'homme détruit !', 'Tena y Stellin \r\n\r\nUne question me traverse l\'esprit, je ne peux y répondre seul je crois car trop vaste peut être la réponse ! \r\n\r\nPourquoi les hommes détruise, se que l\'autre à crée ? \r\n\r\nJalousie, frustrations .... Je sais pas j\'arive pas a comprendre.\r\n\r\nBokson', '', 0, 'QA==', '34xwhk4b', 1, 0, '', 5, 0, 0),(10, 2, 1, 6, 0, '82.64.69.118', 1135859358, 1, 0, 1, 1, 1, 1, '', '', 'Bon, on repars à Zéro, c\'est pas une si mauvaise chose <!-- s:) --><img src=\"{SMILIES_PATH}/icon_smile.gif\" alt=\":)\" title=\"Smile\" /><!-- s:) -->\r\n\r\nBig Up !!\r\n\r\n\r\nNao\r\nGuidance,,,,', '', 0, 'QA==', '143421z7', 1, 0, '', 6, 0, 0),(11, 2, 1, 7, 0, '212.147.0.191', 1135861490, 1, 0, 1, 1, 1, 0, '', '', 'Yes content de revoir le forum UP!  <!-- s:) --><img src=\"{SMILIES_PATH}/icon_smile.gif\" alt=\":)\" title=\"Smile\" /><!-- s:) --> \r\n\r\nLongue vie a ce forum très instructif ! \r\n\r\nEach one teach one !\r\n\r\nJ-M', '', 0, 'QA==', '3gohbqv1', 1, 0, '', 7, 0, 0),(12, 2, 1, 8, 0, '82.235.34.36', 1135864108, 1, 0, 1, 1, 1, 0, '', 'ça roule!!', 'Content de voir que vous avez vite resolu le problem!\r\nRespect a toute la bande...\r\na bientot\r\nmanu', '', 0, 'QA==', '3oql1d2j', 1, 0, '', 8, 0, 0),(13, 6, 4, 8, 0, '82.235.34.36', 1135865115, 1, 0, 1, 1, 1, 0, '', 'Dub Addict Sound meets Jr CONY &amp; SHANTI D. 3/02/06', 'Une semaine apres Red Lion et Iration, vous pouvez\r\nvous remettre une couche de bass au RAIL theatre à LYON..\r\non accueil JUNIOR CONY &amp; Shant D...\r\nBoudou et Roots massacre feront leur live, 19Dub a la selection\r\net Phil au chant.\r\nde 21h a 3 h pour 7Eureu\r\n\r\ntchao a tous...', '', 0, 'QA==', '1y0bfm7j', 1, 0, '', 8, 0, 0),(14, 7, 4, 9, 0, '83.156.49.183', 1135865763, 1, 0, 1, 1, 1, 1, '', 'BORDEAUX:Manasseh,Manutension,Iration Steppas &amp; Uzinadub', 'Le 4SANS a Bordeaux présente a partire de 22h 8) :\r\n\r\nLE 21 Janvier <!-- s:hola --><img src=\"{SMILIES_PATH}/fun_59.gif\" alt=\":hola\" title=\"hola\" /><!-- s:hola --> \r\n\r\nMANASSEH feat Brother Culture\r\nMANUTENSION feat MC Tablloyd\r\nCRYSTAL DISTORSION\r\n\r\npour 10euros\r\n\r\n\r\nLE 25 Fevrier <!-- s:hola --><img src=\"{SMILIES_PATH}/fun_59.gif\" alt=\":hola\" title=\"hola\" /><!-- s:hola --> \r\n\r\nIRATION STEPPAS\r\nUZINADUB\r\nGG PROJECT\r\nELISA DO BRASIL\r\n\r\nPour 10euros\r\n\r\nDonc 2 bonne soirées sur Bordeaux pour le début d année 2006 <!-- s:bravo --><img src=\"{SMILIES_PATH}/bravoo.gif\" alt=\":bravo\" title=\"bravo\" /><!-- s:bravo -->', '', 0, 'QA==', '319buiqc', 1, 0, '', 9, 0, 0),(15, 6, 4, 3, 0, '82.225.50.160', 1135865811, 1, 0, 1, 1, 1, 1, '', '', 'et le lendemain  DUB FACTORY N°2 le samedi 4 fevrier de 21H&gt;&gt;5H\r\n\r\n[b:2d4j075e][color=red:2d4j075e]RED LION SOUND feat Sis ilie Meets JAH FREE Feat GARY JAMES[/b:2d4j075e][/color:2d4j075e]\r\n\r\nPaf 10euro\r\nStand Disques UK Dub\r\na+steph', '', 0, 'Qg==', '2d4j075e', 1, 0, '', 3, 0, 0),(16, 6, 4, 9, 0, '83.156.49.183', 1135865981, 1, 0, 1, 1, 1, 1, '', '', 'Sa gère cette soirée avec JAH FREE et RED LION!!!!!!!!!!!! <!-- s:wink: --><img src=\"{SMILIES_PATH}/icon_wink.gif\" alt=\":wink:\" title=\"Wink\" /><!-- s:wink: -->', '', 0, 'Qg==', 'sirogssh', 1, 0, '', 9, 0, 0),(17, 4, 11, 2, 0, '82.225.50.160', 1135866119, 1, 0, 1, 1, 1, 0, '', 'Série et parrallèle', 'Yes Bokson, on va régler cette histoire d?impédance :\r\n\r\nL?impédance étant la résistance (entre autre?) d?un circuit ou d?un composant, il faut te representer ton HP comme une résistance que l?on branche dans un circuit avec la sortie de l?amplis. C?est la totalité de la résistance de se circuit (avec une ou plusieurs résistance branchées entre elle) qui va déterminer la résistance SOUS LAQUELLE va fonctionnée ton amplis.\r\n\r\nPrenons l?exemple de ton amplis : \r\nCaractéristiques  techniques :\r\n750 watts sous 8ohms x 2 (2 canaux)\r\n1400 watts sous 8ohms x 1 (sortie bridgé)\r\n\r\nJe branche 1 HP de 750 watt sous 8 ohms sur un des 2 canaux (mode non bridgé) et tout va bien?\r\nJ?ajoute un 2e HP de 750/8. j?ai 2 solutions : \r\n\r\nSoit je branche le 2e HP sur le 2e canal de l?amplis et j?ai donc 2 HP de 750 W/ 8 Ohms branché sur 2 canaux de 700 W / 8 Ohms\r\n\r\nSoit je décide 	de mettre les 2 HP en série ou en parallèle :\r\n\r\n[b:1ms11ykd] En série :\nquand on branche plusieurs HP en série leur impédance Z d?additionnent[/b:1ms11ykd] ce qui donne : \r\n\r\n[b:1ms11ykd]Zt (sortie ampli) =  Z (hp1) + Z (hp2) + ?[/b:1ms11ykd]\r\n \r\nsoit pour notre exmple :\r\n8 Ohms +  8 Ohms =  16 Ohms \r\n\r\ndonc dans ce cas pour fonctionner correctement ton amplis devra etre capable de fournir 750W + 750W = 1500 W sous 16 Ohms sur un seul canal (si on branche les 2 HP en série et sur un seul canal de l?amplis)\r\n\r\n[b:1ms11ykd] En parralèle :\nquand on branche plusieurs HP en parralèle l?inverse de leur impedance s?additionnent [/b:1ms11ykd] ce qui donnent :\r\n\r\n[b:1ms11ykd]1/Zt = 1/Z (hp1) + 1/Z (hp2) + ?[/b:1ms11ykd]\r\n\r\nsoit dans notre exemple :\r\n1/8 + 1/8 = 2/8  donc Zt= 8/2=4 Ohms\r\n\r\ndonc dans ce cas pour fonctionner correctement ton amplis devra etre capable de fournir 750W + 750W = 1500 W sous 4 Ohms sur un seul canal \r\n(si on branche les 2 HP en parallèle et sur un seul canal de l?amplis)\r\n\r\n\r\nEt si [b:1ms11ykd]je decide de mettre 4 HP sur meme le canal (circuit)[/b:1ms11ykd] j?aurai :\r\n\r\n[b:1ms11ykd]Si tout les HP sont en série :\n\n8 Ohms +  8 Ohms + 8 Ohms +  8 Ohms = 32 Ohms[/b:1ms11ykd]\r\n\r\ndonc dans ce cas pour fonctionner correctement ton amplis devra etre capable de fournir 750W + 750W + 750W + 750W = 3000 W sous 32 Ohms sur un seul canal\r\n \r\n[b:1ms11ykd]Si tout les HP sont en parralèle :\n1/Zt= 1/8+1/8+1/8+1/8= 4/8 Zt=8/4=2 Ohms[/b:1ms11ykd]\r\n\r\ndonc dans ce cas pour fonctionner correctement ton amplis devra etre capable de fournir 750W + 750W + 750W + 750W = 3000 W sous 2 Ohms sur un seul canal\r\n\r\n[b:1ms11ykd]Si 2 x 2 HP couplé en serie sont montés en parralèle :\n1/Zt = 1/(8+8)+1/(8+8)=1/16+1/16= 2/16 Zt = 16/2=8 Ohms[/b:1ms11ykd]\r\n\r\ndonc dans ce cas pour fonctionner correctement ton amplis devra etre capable de fournir 750W + 750W + 750W + 750W = 3000 W sous 8 Ohms sur un seul canal\r\n\r\n[b:1ms11ykd]Pour 2 x 2 HP couplé en parrallèle sont montés en série :\nZt=(1/(1/8+1/8))+(1/(1/8+1/8)=1/(2/8)+1/(2/8)=4+4=8 Ohms[/b:1ms11ykd]\r\n\r\ndonc dans ce cas pour fonctionner correctement ton amplis devra etre capable de fournir 750W + 750W + 750W + 750W = 3000 W sous 8 Ohms sur un seul canal\r\n\r\nPour le cas ou tu as 6 HP je te laisse faire le calcul.\r\n\r\nAprès au niveau te ton amplis tu n\'as aucun réglage a faire (c\'est comment tu vas brancher tes enceintes entre elles qui va faire que ton amplis tournera sous tel ou tel impedance) tu as juste a vérifié dans les spécifications techniques quelles sont les impedances qu\'il peut supporter (et pas la meme occasion quelle puissance il peut délivrer sous chaque impedance)...\r\n\r\nRespect\r\nRed Lion', '', 0, 'QA==', '1ms11ykd', 1, 1136464838, '', 2, 1, 0),(18, 8, 4, 3, 0, '82.225.50.160', 1135866440, 1, 0, 1, 1, 1, 1, '', 'DUB FACTORY 2: RED LION SOUND Meets JAH FREE feat GARY JAMES', '[b:79akxjmn][size=150:79akxjmn]DUB FACTORY N°2 le samedi 4 fevrier de 21H&gt;&gt;5H[/size:79akxjmn][/b:79akxjmn]\r\n\r\n<!-- s:hola --><img src=\"{SMILIES_PATH}/fun_59.gif\" alt=\":hola\" title=\"hola\" /><!-- s:hola --> <!-- s:hola --><img src=\"{SMILIES_PATH}/fun_59.gif\" alt=\":hola\" title=\"hola\" /><!-- s:hola --> <!-- s:hola --><img src=\"{SMILIES_PATH}/fun_59.gif\" alt=\":hola\" title=\"hola\" /><!-- s:hola -->\r\n[b:79akxjmn][color=red:79akxjmn][size=167:79akxjmn]RED LION SOUND feat

...
...
2 curtidas

Uma importação recente do vBulletin que fiz parece ter diferentes codificações em diferentes posts. Escrevi um código que tentou várias coerções de codificação.

1 curtida